using WCS.Entitys; using WCS.Repository; using Newtonsoft.Json; using StackExchange.Redis; using System; using System.Collections.Generic; using System.Configuration; using System.IO; using System.Linq; using System.Threading.Tasks; namespace IMCS.CCS.Services { public class TaskCallbackService : ITaskCallbackService { private ITaskCallbackRepository _repository; private readonly IConnectionMultiplexer _redis; public TaskCallbackService(ITaskCallbackRepository repository, IConnectionMultiplexer redis) { _repository = repository; _redis = redis; } public async Task> GetList(TaskCallback vo) { return await _repository.GetList(vo); } public async Task> GetAllList() { return await _repository.GetAllList(); } public async Task> GetListByCondition(TaskCallback vo) { return await _repository.GetListByCondition(vo); } //查机器人动作列表 public async Task GetRobotActionList(TaskCallback vo) { return await _repository.GetRobotActionList(vo); } //查询详情 public async Task GetById(int id) { return await _repository.GetById(id); } //添加 public async Task Create(TaskCallback vo) { return await _repository.Create(vo); } //更新 public async Task Update(TaskCallback vo) { return await _repository.Update(vo); } //添加或修改,放入缓存 public async Task CreateOrUpdateAndCache(TaskCallback vo) { bool flag = false; if(vo != null && (vo.Id == 0)) { flag = await _repository.Create(vo); }else if (vo != null && vo.Id > 0) { flag = await _repository.Update(vo); } string callback_redis_key = "WCS:CallbackTaskList"; List taskCallbacks = await _repository.GetAllList(); await _redis.GetDatabase().StringSetAsync(callback_redis_key, JsonConvert.SerializeObject(taskCallbacks)); return flag; } } }