EquipmentMonitorService .cs 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. using IMCS.CCS.Common.Redis;
  2. using IMCS.CCS.Entitys;
  3. using IMCS.CCS.Repository;
  4. using Newtonsoft.Json;
  5. using System;
  6. using System.Collections.Generic;
  7. using System.Linq;
  8. using System.Threading.Tasks;
  9. namespace IMCS.CCS.Services
  10. {
  11. public class EquipmentMonitorService : IEquipmentMonitorService
  12. {
  13. private IEquipmentMonitorRepository _repository;
  14. private IRedisService _redisService;
  15. public EquipmentMonitorService(IEquipmentMonitorRepository repository, IRedisService redisService) {
  16. _repository = repository;
  17. _redisService = redisService;
  18. }
  19. public async Task<List<EquipmentMonitor>> GetList()
  20. {
  21. return await _repository.GetList();
  22. }
  23. //查询详情
  24. public async Task<EquipmentMonitor> GetById(long id)
  25. {
  26. return await _repository.GetById(id);
  27. }
  28. //添加
  29. public async Task<bool> Create(EquipmentMonitor vo)
  30. {
  31. return await _repository.Create(vo);
  32. }
  33. //更新
  34. public async Task<bool> Update(EquipmentMonitor vo)
  35. {
  36. return await _repository.Update(vo);
  37. }
  38. //添加或修改,放入缓存
  39. public async Task<bool> UpdateAndCache(List<EquipmentMonitor> list)
  40. {
  41. foreach(EquipmentMonitor changeEquipment in list)
  42. {
  43. await _repository.Update(changeEquipment);
  44. }
  45. string redis_key = "IMCS_CCS:MonitorEquipmentStatusJob";
  46. List<EquipmentMonitor> devices = await _repository.GetList();
  47. await _redisService.Database.StringSetAsync(redis_key, JsonConvert.SerializeObject(devices));
  48. return true;
  49. }
  50. }
  51. }