|
|
|
@ -596,13 +596,62 @@ namespace Haoliang.Core.Services
|
|
|
|
|
|
|
|
|
|
|
|
public class AlarmRuleService : IAlarmRuleService
|
|
|
|
public class AlarmRuleService : IAlarmRuleService
|
|
|
|
{
|
|
|
|
{
|
|
|
|
public Task<IEnumerable<AlarmRule>> GetAllAlarmRulesAsync() => Task.FromResult<IEnumerable<AlarmRule>>(new List<AlarmRule>());
|
|
|
|
private static readonly List<AlarmRule> _rules = new List<AlarmRule>();
|
|
|
|
public Task<AlarmRule?> GetAlarmRuleByIdAsync(int ruleId) => Task.FromResult<AlarmRule?>(null);
|
|
|
|
private static int _nextId = 1;
|
|
|
|
public Task<AlarmRule> CreateAlarmRuleAsync(AlarmRule rule) => Task.FromResult(rule);
|
|
|
|
|
|
|
|
public Task<AlarmRule?> UpdateAlarmRuleAsync(int ruleId, AlarmRule rule) => Task.FromResult<AlarmRule?>(null);
|
|
|
|
public Task<IEnumerable<AlarmRule>> GetAllAlarmRulesAsync() => Task.FromResult<IEnumerable<AlarmRule>>(_rules);
|
|
|
|
public Task<bool> DeleteAlarmRuleAsync(int ruleId) => Task.FromResult(false);
|
|
|
|
|
|
|
|
|
|
|
|
public Task<AlarmRule?> GetAlarmRuleByIdAsync(int ruleId)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var rule = _rules.FirstOrDefault(r => r.Id == ruleId);
|
|
|
|
|
|
|
|
return Task.FromResult(rule);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Task<AlarmRule> CreateAlarmRuleAsync(AlarmRule rule)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
rule.Id = _nextId++;
|
|
|
|
|
|
|
|
rule.CreatedAt = DateTime.Now;
|
|
|
|
|
|
|
|
rule.UpdatedAt = DateTime.Now;
|
|
|
|
|
|
|
|
_rules.Add(rule);
|
|
|
|
|
|
|
|
return Task.FromResult(rule);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Task<AlarmRule?> UpdateAlarmRuleAsync(int ruleId, AlarmRule rule)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var existing = _rules.FirstOrDefault(r => r.Id == ruleId);
|
|
|
|
|
|
|
|
if (existing == null) return Task.FromResult<AlarmRule?>(null);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
existing.RuleName = rule.RuleName;
|
|
|
|
|
|
|
|
existing.Condition = rule.Condition;
|
|
|
|
|
|
|
|
existing.AlarmType = rule.AlarmType;
|
|
|
|
|
|
|
|
existing.AlarmLevel = rule.AlarmLevel;
|
|
|
|
|
|
|
|
existing.IsEnabled = rule.IsEnabled;
|
|
|
|
|
|
|
|
existing.DeviceId = rule.DeviceId;
|
|
|
|
|
|
|
|
existing.UpdatedAt = DateTime.Now;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
return Task.FromResult<AlarmRule?>(existing);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
public Task<bool> DeleteAlarmRuleAsync(int ruleId)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var rule = _rules.FirstOrDefault(r => r.Id == ruleId);
|
|
|
|
|
|
|
|
if (rule == null) return Task.FromResult(false);
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
_rules.Remove(rule);
|
|
|
|
|
|
|
|
return Task.FromResult(true);
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public Task TestAlarmRuleAsync(int ruleId) => Task.CompletedTask;
|
|
|
|
public Task TestAlarmRuleAsync(int ruleId) => Task.CompletedTask;
|
|
|
|
public Task SetAlarmRuleEnabledAsync(int ruleId, bool enabled) => Task.CompletedTask;
|
|
|
|
public Task SetAlarmRuleEnabledAsync(int ruleId, bool enabled)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
var rule = _rules.FirstOrDefault(r => r.Id == ruleId);
|
|
|
|
|
|
|
|
if (rule != null)
|
|
|
|
|
|
|
|
{
|
|
|
|
|
|
|
|
rule.IsEnabled = enabled;
|
|
|
|
|
|
|
|
rule.UpdatedAt = DateTime.Now;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
return Task.CompletedTask;
|
|
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
public class AlarmNotificationService : IAlarmNotificationService
|
|
|
|
public class AlarmNotificationService : IAlarmNotificationService
|
|
|
|
|