DefaultPusher.cs 9.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252
  1. using Sharing.Province.Dtos;
  2. using Sharing.Province.Dtos.HuiJu.Send;
  3. using Sharing.Province.Dtos.XieTong.Knowledge;
  4. using Sharing.Province.Dtos.XieTong.Send;
  5. namespace Sharing.Province;
  6. /// <summary>
  7. /// 默认策略(保持原数据策略)
  8. /// </summary>
  9. public class DefaultPusher : IProvincePusher
  10. {
  11. private readonly HuiJuClient _huiJuClient;
  12. private readonly XieTongClient _xieTongClient;
  13. /// <summary>
  14. ///
  15. /// </summary>
  16. /// <param name="huiJuClient"></param>
  17. /// <param name="xieTongClient"></param>
  18. public DefaultPusher(HuiJuClient huiJuClient, XieTongClient xieTongClient)
  19. {
  20. _huiJuClient = huiJuClient;
  21. _xieTongClient = xieTongClient;
  22. }
  23. #region 协同-第一批次
  24. /// <summary>
  25. /// 服务工单交办处理
  26. /// </summary>
  27. /// <param name="request"></param>
  28. /// <param name="cancellationToken"></param>
  29. /// <returns></returns>
  30. public async Task<BaseProvinceResponse> PushGetCaseResultReceiveAsync(GetCaseResultReceiveRequest request, CancellationToken cancellationToken)
  31. {
  32. var response = await _xieTongClient.RequestAsync<GetCaseResultReceiveRequest, ProvinceResponse>(request, cancellationToken);
  33. return response.ReturnInfo;
  34. }
  35. /// <summary>
  36. /// 服务工单交办处理过程
  37. /// </summary>
  38. /// <param name="request"></param>
  39. /// <param name="cancellationToken"></param>
  40. /// <returns></returns>
  41. public async Task<BaseProvinceResponse> PushGetCaseProcessReceiveAsync(GetCaseProcessReceiveRequest request, CancellationToken cancellationToken)
  42. {
  43. var response = await _xieTongClient.RequestAsync<GetCaseProcessReceiveRequest, ProvinceResponse>(request, cancellationToken);
  44. return response.ReturnInfo;
  45. }
  46. /// <summary>
  47. /// 服务工单交办评价
  48. /// </summary>
  49. /// <param name="request"></param>
  50. /// <param name="cancellationToken"></param>
  51. /// <returns></returns>
  52. public async Task<BaseProvinceResponse> PushGetVisitInfoReceiveAsync(GetVisitInfoReceiveRequest request, CancellationToken cancellationToken)
  53. {
  54. var response = await _xieTongClient.RequestAsync<GetVisitInfoReceiveRequest, ProvinceResponse>(request, cancellationToken);
  55. return response.ReturnInfo;
  56. }
  57. /// <summary>
  58. /// 退回申请
  59. /// </summary>
  60. /// <param name="request"></param>
  61. /// <param name="cancellationToken"></param>
  62. /// <returns></returns>
  63. public async Task<BaseProvinceResponse> PushGetCaseBackApplyAsync(GetCaseBackApplyRequest request, CancellationToken cancellationToken)
  64. {
  65. var response = await _xieTongClient.RequestAsync<GetCaseBackApplyRequest, ProvinceResponse>(request, cancellationToken);
  66. return response.ReturnInfo;
  67. }
  68. /// <summary>
  69. /// 服务工单申请延时
  70. /// </summary>
  71. /// <param name="request"></param>
  72. /// <param name="cancellationToken"></param>
  73. /// <returns></returns>
  74. public async Task<BaseProvinceResponse> PushDelayCaseInfoSendAsync(DelayCaseInfoSendRequest request, CancellationToken cancellationToken)
  75. {
  76. var response = await _xieTongClient.RequestAsync<DelayCaseInfoSendRequest, ProvinceResponse>(request, cancellationToken);
  77. return response.ReturnInfo;
  78. }
  79. /// <summary>
  80. /// 服务工单督办过程
  81. /// </summary>
  82. /// <param name="request"></param>
  83. /// <param name="cancellationToken"></param>
  84. /// <returns></returns>
  85. public async Task<BaseProvinceResponse> PushSendSuperviseProcessInfoAsync(SendSuperviseProcessInfoRequest request, CancellationToken cancellationToken)
  86. {
  87. var response = await _xieTongClient.RequestAsync<SendSuperviseProcessInfoRequest, ProvinceResponse>(request, cancellationToken);
  88. return response.ReturnInfo;
  89. }
  90. /// <summary>
  91. /// 服务工单督办结果
  92. /// </summary>
  93. /// <param name="request"></param>
  94. /// <param name="cancellationToken"></param>
  95. /// <returns></returns>
  96. public async Task<BaseProvinceResponse> PushSendSuperviseResultInfoAsync(SendSuperviseResultInfoRequest request, CancellationToken cancellationToken)
  97. {
  98. var response = await _xieTongClient.RequestAsync<SendSuperviseResultInfoRequest, ProvinceResponse>(request, cancellationToken);
  99. return response.ReturnInfo;
  100. }
  101. #endregion
  102. #region 汇聚-第二批次
  103. /// <summary>
  104. /// 服务工单受理
  105. /// </summary>
  106. /// <param name="request"></param>
  107. /// <param name="cancellationToken"></param>
  108. /// <returns></returns>
  109. public async Task<BaseProvinceResponse> PushOrderCreatedAsync(SubmitCaseInfoRequest request, CancellationToken cancellationToken)
  110. {
  111. var response = await _huiJuClient.RequestAsync<SubmitCaseInfoRequest, ProvinceResponse>(request, cancellationToken);
  112. return response.ReturnInfo;
  113. }
  114. /// <summary>
  115. /// 服务工单处理结果
  116. /// </summary>
  117. /// <param name="request"></param>
  118. /// <param name="cancellationToken"></param>
  119. /// <returns></returns>
  120. public async Task<BaseProvinceResponse> PushSubmitCaseResultAsync(SubmitCaseResultRequest request, CancellationToken cancellationToken)
  121. {
  122. var response = await _huiJuClient.RequestAsync<SubmitCaseResultRequest, ProvinceResponse>(request, cancellationToken);
  123. return response.ReturnInfo;
  124. }
  125. /// <summary>
  126. /// 服务工单处理过程
  127. /// </summary>
  128. /// <param name="request"></param>
  129. /// <param name="cancellationToken"></param>
  130. /// <returns></returns>
  131. public async Task<BaseProvinceResponse> PushSubmitCaseProcessAsync(SubmitCaseProcessRequest request, CancellationToken cancellationToken)
  132. {
  133. var response = await _huiJuClient.RequestAsync<SubmitCaseProcessRequest, ProvinceResponse>(request, cancellationToken);
  134. return response.ReturnInfo;
  135. }
  136. /// <summary>
  137. /// 服务工单回访评价
  138. /// </summary>
  139. /// <param name="request"></param>
  140. /// <param name="cancellationToken"></param>
  141. /// <returns></returns>
  142. public async Task<BaseProvinceResponse> PushSubmitVisitInfoAsync(SubmitVisitInfoRequest request, CancellationToken cancellationToken)
  143. {
  144. var response = await _huiJuClient.RequestAsync<SubmitVisitInfoRequest, ProvinceResponse>(request, cancellationToken);
  145. return response.ReturnInfo;
  146. }
  147. /// <summary>
  148. /// 电话记录
  149. /// </summary>
  150. /// <param name="request"></param>
  151. /// <param name="cancellationToken"></param>
  152. /// <returns></returns>
  153. public async Task<BaseProvinceResponse> PushSubmitCaseRecordAsync(SubmitCaseRecordRequest request, CancellationToken cancellationToken)
  154. {
  155. var response = await _huiJuClient.RequestAsync<SubmitCaseRecordRequest, ProvinceResponse>(request, cancellationToken);
  156. return response.ReturnInfo;
  157. }
  158. /// <summary>
  159. /// 统计数据
  160. /// </summary>
  161. /// <param name="request"></param>
  162. /// <param name="cancellationToken"></param>
  163. /// <returns></returns>
  164. public async Task<BaseProvinceResponse> PushSubmitCaseTotalAsync(SubmitCaseTotalRequest request, CancellationToken cancellationToken)
  165. {
  166. var response = await _huiJuClient.RequestAsync<SubmitCaseTotalRequest, ProvinceResponse>(request, cancellationToken);
  167. return response.ReturnInfo;
  168. }
  169. #endregion
  170. #region 协同-第三批次
  171. /// <summary>
  172. /// 服务工单上报
  173. /// </summary>
  174. /// <param name="request"></param>
  175. /// <param name="cancellationToken"></param>
  176. /// <returns></returns>
  177. public async Task<BaseProvinceResponse> PushSendCaseInfoAsync(SendCaseInfoRequest request, CancellationToken cancellationToken)
  178. {
  179. var response = await _xieTongClient.RequestAsync<SendCaseInfoRequest, ProvinceResponse>(request, cancellationToken);
  180. return response.ReturnInfo;
  181. }
  182. /// <summary>
  183. /// 上报补充诉求
  184. /// </summary>
  185. /// <param name="request"></param>
  186. /// <param name="cancellationToken"></param>
  187. /// <returns></returns>
  188. public async Task<BaseProvinceResponse> PushSupplyCaseInfoSendAsync(SupplyCaseInfoSendRequest request, CancellationToken cancellationToken)
  189. {
  190. var response = await _xieTongClient.RequestAsync<SupplyCaseInfoSendRequest, ProvinceResponse>(request, cancellationToken);
  191. return response.ReturnInfo;
  192. }
  193. /// <summary>
  194. /// 服务工单撤单
  195. /// </summary>
  196. /// <param name="request"></param>
  197. /// <param name="cancellationToken"></param>
  198. /// <returns></returns>
  199. public async Task<BaseProvinceResponse> PushRevokeCaseInfoAsync(SendRevokeCaseInfoRequest request, CancellationToken cancellationToken)
  200. {
  201. var response = await _xieTongClient.RequestAsync<SendRevokeCaseInfoRequest, ProvinceResponse>(request, cancellationToken);
  202. return response.ReturnInfo;
  203. }
  204. /// <summary>
  205. /// 服务工单催单
  206. /// </summary>
  207. /// <param name="request"></param>
  208. /// <param name="cancellationToken"></param>
  209. /// <returns></returns>
  210. public async Task<BaseProvinceResponse> PushSendRemindCaseInfoAsync(SendRemindCaseInfoRequest request, CancellationToken cancellationToken)
  211. {
  212. var response = await _xieTongClient.RequestAsync<SendRemindCaseInfoRequest, ProvinceResponse>(request, cancellationToken);
  213. return response.ReturnInfo;
  214. }
  215. #endregion
  216. #region 协同-第四批次
  217. /// <summary>
  218. /// 知识库上报
  219. /// </summary>
  220. /// <param name="request"></param>
  221. /// <param name="cancellationToken"></param>
  222. /// <returns></returns>
  223. public async Task<BaseProvinceResponse> PushGetKnowledgeInfoSendAsync(GetKnowledgeInfoSendRequest request, CancellationToken cancellationToken)
  224. {
  225. var response = await _huiJuClient.RequestAsync<GetKnowledgeInfoSendRequest, ProvinceResponse>(request, cancellationToken);
  226. return response.ReturnInfo;
  227. }
  228. #endregion
  229. }