using IMCS.CCS.Repository; using System.Collections.Generic; using System.Threading.Tasks; using IMCS.CCS.Entitys; using IMCS.CCS.Common.Redis; using Newtonsoft.Json; namespace IMCS.CCS.Services { public class DeviceService: IDeviceService { private IDeviceRepository _repository; private IRedisService _redisService; public DeviceService(IDeviceRepository repository, IRedisService redisService) { _repository = repository; _redisService = redisService; } public List GetDeviceList() { return _repository.GetDeviceList(); } public List GetDeviceAllList() { return _repository.GetDeviceAllList(); } public List GetDevices() { return _repository.GetDevices(); } //查询设备详情 public async Task GetDeviceById(int id) { return await _repository.GetDeviceById(id); } //添加设备 public async Task CreateDevice(Device device) { return await _repository.CreateDevice(device); } //更新设备 public async Task UpdateDevice(Device device) { return await _repository.UpdateDevice(device); } //添加或修改,放入缓存 public async Task UpdateAndCache(Device vo) { await _repository.UpdateDevice(vo); string callback_redis_key = "IMCS_CCS:DeviceList"; List devices = _repository.GetDeviceAllList(); await _redisService.Database.StringSetAsync(callback_redis_key, JsonConvert.SerializeObject(devices)); return true; } } }