TaskCallbackService.cs 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. public async Task<List<TaskCallback>> GetListByCondition(TaskCallback vo)
  31. {
  32. return await _repository.GetListByCondition(vo);
  33. }
  34. //查机器人动作列表
  35. public async Task<TaskCallback> GetRobotActionList(TaskCallback vo)
  36. {
  37. return await _repository.GetRobotActionList(vo);
  38. }
  39. //查询详情
  40. public async Task<TaskCallback> GetById(int id)
  41. {
  42. return await _repository.GetById(id);
  43. }
  44. //添加
  45. public async Task<bool> Create(TaskCallback vo)
  46. {
  47. return await _repository.Create(vo);
  48. }
  49. //更新
  50. public async Task<bool> Update(TaskCallback vo)
  51. {
  52. return await _repository.Update(vo);
  53. }
  54. //添加或修改,放入缓存
  55. public async Task<bool> CreateOrUpdateAndCache(TaskCallback vo)
  56. {
  57. bool flag = false;
  58. if(vo != null && (vo.Id == 0)) {
  59. flag = await _repository.Create(vo);
  60. }else if (vo != null && vo.Id > 0)
  61. {
  62. flag = await _repository.Update(vo);
  63. }
  64. string callback_redis_key = "IMCS_CCS:CallbackTaskList";
  65. List<TaskCallback> taskCallbacks = await _repository.GetAllList();
  66. await _redisService.Database.StringSetAsync(callback_redis_key, JsonConvert.SerializeObject(taskCallbacks));
  67. return flag;
  68. }
  69. }
  70. }