123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118 |
- using MapsterMapper;
- using MediatR;
- using Microsoft.AspNetCore.Http;
- using Sharing.Notifications.HuiJu;
- using Sharing.Province.Dtos.HuiJu.Send;
- using Sharing.Province.Extend;
- using Sharing.Repository.Province.Extend;
- using Sharing.Share.Dtos.Extend;
- namespace Sharing.Province.Handlers.HuiJu
- {
- /// <summary>
- /// 服务工单拓展信息
- /// </summary>
- public class SubmitCaseExtendsHandler : INotificationHandler<SubmitCaseExtendsNotification>
- {
- private readonly IChannelConfigurationManager _channelConfigurationManager;
- private readonly PusherProvider _pusherProvider;
- private readonly IMapper _mapper;
- private readonly IReceiveCaseExtendsRepository _receiveCaseExtendsRepository;
- /// <summary>
- ///
- /// </summary>
- /// <param name="channelConfigurationManager"></param>
- /// <param name="pusherProvider"></param>
- /// <param name="mapper"></param>
- /// <param name="receiveCaseExtendsRepository"></param>
- public SubmitCaseExtendsHandler(IChannelConfigurationManager channelConfigurationManager, PusherProvider pusherProvider, IMapper mapper, IReceiveCaseExtendsRepository receiveCaseExtendsRepository)
- {
- _channelConfigurationManager = channelConfigurationManager;
- _pusherProvider = pusherProvider;
- _mapper = mapper;
- _receiveCaseExtendsRepository = receiveCaseExtendsRepository;
- }
- /// <summary>
- /// 服务工单拓展信息
- /// </summary>
- /// <param name="notification"></param>
- /// <param name="cancellationToken"></param>
- /// <returns></returns>
- public async Task Handle(SubmitCaseExtendsNotification notification, CancellationToken cancellationToken)
- {
- var strOrder = notification.DataOrder;
- if (!string.IsNullOrEmpty(strOrder))
- {
- var order = System.Text.Json.JsonSerializer.Deserialize<SubmitCaseExtendsInfoId>(strOrder);
- if (order != null && order.Info != null)
- {
- var data = order.Info;
- var pusher = _pusherProvider.CreatePusher(_channelConfigurationManager);
- var request = new SubmitCaseExtendsRequest();
- //扩展信息时间处理
- switch (data.FormType.ToLower())
- {
- case "yl"://医疗表单
- request.ForeachClass(data.FormMedical);
- break;
- case "zwfw"://四川政务服务网技术工单
- request.ForeachClass(data.FormNetWorktec);
- break;
- case "th"://电视购物及商铺购买退换货工单
- request.ForeachClass(data.FormReturnexChange);
- break;
- case "gsgl"://高速公路工单
- request.ForeachClass(data.FormExpressWay);
- break;
- case "xjgg"://电视台虚假广告工单
- request.ForeachClass(data.FormShamPub);
- break;
- case "swfwsq"://12366热线诉求交办
- request.ForeachClass(data.FormTaxationComplaint);
- break;
- case "swfwzx"://12366热线咨询交办
- request.ForeachClass(data.FormTaxationConsulting);
- break;
- case "jtfwjd"://12328服务监督
- request.ForeachClass(data.FormTraffic);
- break;
- case "yzxf"://邮政业消费者申诉
- request.ForeachClass(data.FormPost);
- break;
- case "hbjb"://环保举报业务
- request.ForeachClass(data.FormEnvironMent);
- break;
- case "scjgj"://12315个性化表单
- request.ForeachClass(data.FormMarket);
- break;
- default:
- break;
- }
- request.SetData(data);
- var response = await pusher.PushSubmitCaseExtendsAsync(request, cancellationToken);
- //如果推送成功修改数据状态
- if (response != null)
- {
- var caseInfo = await _receiveCaseExtendsRepository.GetAsync(p => p.Id == order.Id);
- if (caseInfo != null)
- {
- if (response.Code == "1")
- caseInfo.SyncState = "1";
- else
- caseInfo.SyncState = "2";
- caseInfo.ReturnResult = Newtonsoft.Json.JsonConvert.SerializeObject(response);
- await _receiveCaseExtendsRepository.UpdateAsync(caseInfo);
- }
- }
- }
- }
- }
- }
- }
|