| | |
| | | using System.Security.Claims; |
| | | using System.Text; |
| | | using System.Threading.Tasks; |
| | | using WIDESEA_Common; |
| | | using WIDESEA_Core; |
| | | using WIDESEA_Core.BaseRepository; |
| | | using WIDESEA_Core.BaseServices; |
| | |
| | | { |
| | | public class ContainerService : ServiceBase<Dt_Container, IRepository<Dt_Container>>, IContainerService |
| | | { |
| | | public ContainerService(IRepository<Dt_Container> BaseDal) : base(BaseDal) |
| | | private readonly IMessageInfoService _messageInfoService; |
| | | public ContainerService(IRepository<Dt_Container> BaseDal, IMessageInfoService messageInfoService) : base(BaseDal) |
| | | { |
| | | _messageInfoService = messageInfoService; |
| | | } |
| | | |
| | | public IRepository<Dt_Container> Repository => BaseDal; |
| | |
| | | var url = "http://172.16.1.4:8082/api/environment/sensor"; |
| | | var result = HttpHelper.Get(url); |
| | | var response = JsonConvert.DeserializeObject<CollResponse<CoolDto>>(result); |
| | | if (response == null || response.code != "000") throw new Exception("鎺ュ彛杩斿洖鏁版嵁鎶ラ敊"); |
| | | var deviceNames = response.data.Select(x => x.name?.Trim()).Distinct().ToList(); |
| | | var containers = BaseDal.QueryData(x => deviceNames.Contains(x.deviceName)).ToList(); |
| | | if (containers == null || containers.Count < 1) return WebResponseContent.Instance.Error(); |
| | | List<Dt_Container> containersAdd = new List<Dt_Container>(); |
| | | List<Dt_Container> containersUp = new List<Dt_Container>(); |
| | | foreach (var item in response.data) |
| | | { |
| | | Dt_Container? container = containers.Where(x => x.deviceName == item.name).FirstOrDefault(); |
| | | if (container == null) |
| | | { |
| | | container = new Dt_Container() |
| | | { |
| | | deviceName = item.name, |
| | | Alarm = item.alarm, |
| | | CurrentTemperature = item.temperature, |
| | | Humidity = item.humidity, |
| | | CreateDate = DateTime.Now, |
| | | AlarmInformation = item.message |
| | | }; |
| | | containersAdd.Add(container); |
| | | } |
| | | else |
| | | { |
| | | container.Alarm = item.alarm; |
| | | container.CurrentTemperature = item.temperature; |
| | | container.Humidity = item.humidity; |
| | | container.AlarmInformation = item.message; |
| | | container.ModifyDate = DateTime.Now; |
| | | containersUp.Add(container); |
| | | } |
| | | if (item.alarm != "姝e父") |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, |
| | | $"鍐锋煖{item.name}{item.alarm}", item.message, MessageStatusEnum.Undisposed); |
| | | } |
| | | } |
| | | if (containersAdd.Count > 0) BaseDal.AddData(containersAdd); |
| | | if (containersUp.Count > 0) BaseDal.UpdateData(containersUp); |
| | | return WebResponseContent.Instance.OK(); |
| | | } |
| | | catch (Exception ex) |
| | | { |
| | | return WebResponseContent.Instance.Error(ex.Message); |
| | | } |
| | | } |
| | | public WebResponseContent Sensor1() |
| | | { |
| | | try |
| | | { |
| | | var url = "http://172.16.1.4:8082/api/environment/sensor"; |
| | | var result = HttpHelper.Get(url); |
| | | var response = JsonConvert.DeserializeObject<CollResponse<CoolDto>>(result); |
| | | |
| | | if (response?.code != "000" || response.data == null) |
| | | if (response.code != "000" || response.data == null) |
| | | { |
| | | return new WebResponseContent { Status = false, Message = "鎺ュ彛杩斿洖鏁版嵁鎶ラ敊" }; |
| | | } |
| | |
| | | cool.CurrentTemperature = item.temperature; |
| | | cool.Humidity = item.humidity; |
| | | cool.Alarm = item.alarm; |
| | | cool.AlarmInformation = item.message ?? "杩愯姝e父"; |
| | | cool.AlarmInformation = item.message; |
| | | cool.ModifyDate = currentTime; |
| | | updateList.Add(cool); |
| | | if (cool.Alarm != "姝e父") |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, $"鍐锋煖{item.alarm}", item.message, MessageStatusEnum.Undisposed); |
| | | } |
| | | } |
| | | else |
| | | { |
| | |
| | | CurrentTemperature = item.temperature, |
| | | Humidity = item.humidity, |
| | | Alarm = item.alarm, |
| | | AlarmInformation = item.message ?? "杩愯姝e父", |
| | | AlarmInformation = item.message, |
| | | CreateDate = currentTime, |
| | | Creater = "System", |
| | | ModifyDate = currentTime, |
| | | Modifier = "System" |
| | | }; |
| | | addList.Add(dto); |
| | | if (item.alarm != "姝e父") |
| | | { |
| | | _messageInfoService.AddMessageInfo(MessageGroupByEnum.EquipmentAlarm, $"鍐锋煖{item.alarm}", item.message, MessageStatusEnum.Undisposed); |
| | | } |
| | | } |
| | | } |
| | | |