TaskCallbackService.cs 2.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  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.Configuration;
  8. using System.IO;
  9. using System.Linq;
  10. using System.Threading.Tasks;
  11. namespace IMCS.CCS.Services
  12. {
  13. public class TaskCallbackService : ITaskCallbackService
  14. {
  15. private ITaskCallbackRepository _repository;
  16. private IRedisService _redisService;
  17. public TaskCallbackService(ITaskCallbackRepository repository,IRedisService redisService)
  18. {
  19. _repository = repository;
  20. _redisService = redisService;
  21. }
  22. public async Task<List<TaskCallback>> GetList(TaskCallback vo)
  23. {
  24. return await _repository.GetList(vo);
  25. }
  26. public async Task<List<TaskCallback>> GetAllList()
  27. {
  28. return await _repository.GetAllList();
  29. }
  30. //查机器人动作列表
  31. public async Task<TaskCallback> GetRobotActionList(TaskCallback vo)
  32. {
  33. return await _repository.GetRobotActionList(vo);
  34. }
  35. //查询详情
  36. public async Task<TaskCallback> GetById(int id)
  37. {
  38. return await _repository.GetById(id);
  39. }
  40. //添加
  41. public async Task<bool> Create(TaskCallback vo)
  42. {
  43. return await _repository.Create(vo);
  44. }
  45. //更新
  46. public async Task<bool> Update(TaskCallback vo)
  47. {
  48. return await _repository.Update(vo);
  49. }
  50. //添加或修改,放入缓存
  51. public async Task<bool> CreateOrUpdateAndCache(TaskCallback vo)
  52. {
  53. bool flag = false;
  54. if(vo != null && (vo.Id == 0)) {
  55. flag = await _repository.Create(vo);
  56. }else if (vo != null && vo.Id > 0)
  57. {
  58. flag = await _repository.Update(vo);
  59. }
  60. string callback_redis_key = "IMCS_CCS:CallbackTaskList";
  61. List<TaskCallback> taskCallbacks = await _repository.GetAllList();
  62. await _redisService.Database.StringSetAsync(callback_redis_key, JsonConvert.SerializeObject(taskCallbacks));
  63. return flag;
  64. }
  65. }
  66. }