using IMCS.CCS.Repository; using System.Collections.Generic; using System.Threading.Tasks; using IMCS.CCS.Entitys; using IMCS.CCS.Common.Redis; using Newtonsoft.Json; using IMCS_CCS.Model; 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); //所有使用的设备 List allUseDevices = _repository.GetDeviceAllList(); await _redisService.Database.StringSetAsync("IMCS_CCS:" + RedisKeyEnum.ALLUseDeviceList, JsonConvert.SerializeObject(allUseDevices)); //所有的设备 List allDevices = _repository.GetDevices(); await _redisService.Database.StringSetAsync("IMCS_CCS:" + RedisKeyEnum.ALLDeviceList, JsonConvert.SerializeObject(allDevices)); return true; } } }