using IMCS.CCS.Common.Redis; using IMCS.CCS.Entitys; using IMCS.CCS.Repository; using Newtonsoft.Json; 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 IRedisService _redisService; public TaskCallbackService(ITaskCallbackRepository repository,IRedisService redisService) { _repository = repository; _redisService = redisService; } 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 = "IMCS_CCS:CallbackTaskList"; List taskCallbacks = await _repository.GetAllList(); await _redisService.Database.StringSetAsync(callback_redis_key, JsonConvert.SerializeObject(taskCallbacks)); return flag; } } }