|
@@ -1,5 +1,6 @@
|
|
|
using DotNetCore.CAP;
|
|
|
using Hotline.Share.Dtos.Order;
|
|
|
+using Hotline.Share.Enums.Order;
|
|
|
using MapsterMapper;
|
|
|
using MediatR;
|
|
|
using Microsoft.AspNetCore.Mvc;
|
|
@@ -8,6 +9,7 @@ using Sharing.Notifications.HuiJu;
|
|
|
using Sharing.Notifications.XieTong;
|
|
|
using Sharing.Orders;
|
|
|
using Sharing.Province.Dtos.XieTong.Send;
|
|
|
+using Sharing.Province.HuiJu.Send;
|
|
|
using Sharing.Province.XieTong.Send;
|
|
|
|
|
|
namespace Sharing.Api.Controllers
|
|
@@ -29,6 +31,7 @@ namespace Sharing.Api.Controllers
|
|
|
private readonly IDelayCaseInfoSendRepository _delayCaseInfoSendRepository;
|
|
|
private readonly ISendSuperviseProcessInfoRepository _sendSuperviseProcessInfoRepository;
|
|
|
private readonly ISendSuperviseResultInfoRepository _sendSuperviseResultInfoRepository;
|
|
|
+ private readonly ISubmitCaseInfoRepository _submitCaseInfoRepository;
|
|
|
|
|
|
/// <summary>
|
|
|
///
|
|
@@ -42,11 +45,14 @@ namespace Sharing.Api.Controllers
|
|
|
/// <param name="getVisitInfoReceiveRepository"></param>
|
|
|
/// <param name="getCaseBackApplyRepository"></param>
|
|
|
/// <param name="delayCaseInfoSendRepository"></param>
|
|
|
+ /// <param name="sendSuperviseProcessInfoRepository"></param>
|
|
|
+ /// <param name="sendSuperviseResultInfoRepository"></param>
|
|
|
+ /// <param name="submitCaseInfoRepository"></param>
|
|
|
public HotlineMessageReceiveController(IDataOrderRepository dataOrderRepository, IMediator mediator, ILogger<HotlineMsgReceiver> logger, IMapper mapper
|
|
|
, IGetCaseResultReceiveRepository getCaseResultReceiveRepository, IGetCaseProcessReceiveRepository getCaseProcessReceiveRepository
|
|
|
, IGetVisitInfoReceiveRepository getVisitInfoReceiveRepository, IGetCaseBackApplyRepository getCaseBackApplyRepository
|
|
|
, IDelayCaseInfoSendRepository delayCaseInfoSendRepository, ISendSuperviseProcessInfoRepository sendSuperviseProcessInfoRepository
|
|
|
- , ISendSuperviseResultInfoRepository sendSuperviseResultInfoRepository)
|
|
|
+ , ISendSuperviseResultInfoRepository sendSuperviseResultInfoRepository, ISubmitCaseInfoRepository submitCaseInfoRepository)
|
|
|
{
|
|
|
_dataOrderRepository = dataOrderRepository;
|
|
|
_mediator = mediator;
|
|
@@ -59,6 +65,7 @@ namespace Sharing.Api.Controllers
|
|
|
_delayCaseInfoSendRepository = delayCaseInfoSendRepository;
|
|
|
_sendSuperviseProcessInfoRepository = sendSuperviseProcessInfoRepository;
|
|
|
_sendSuperviseResultInfoRepository = sendSuperviseResultInfoRepository;
|
|
|
+ _submitCaseInfoRepository = submitCaseInfoRepository;
|
|
|
}
|
|
|
#endregion
|
|
|
|
|
@@ -200,7 +207,7 @@ namespace Sharing.Api.Controllers
|
|
|
#endregion
|
|
|
|
|
|
/// <summary>
|
|
|
- ///
|
|
|
+ /// 服务工单受理
|
|
|
/// </summary>
|
|
|
/// <param name="dto"></param>
|
|
|
/// <returns></returns>
|
|
@@ -208,9 +215,151 @@ namespace Sharing.Api.Controllers
|
|
|
[CapSubscribe(Hotline.Share.Mq.EventNames.HotlineOrderCreated)]
|
|
|
public async Task ReceiveOrderCreated(OrderDto dto)
|
|
|
{
|
|
|
- await _dataOrderRepository.AddAsync(new DataOrder(), HttpContext.RequestAborted);
|
|
|
+ //处理数据
|
|
|
+ SubmitCaseInfo submitCaseInfo = new SubmitCaseInfo
|
|
|
+ {
|
|
|
+ OrderID = dto.Id,
|
|
|
+ No = dto.No,
|
|
|
+ CaseTitle = dto.Title,
|
|
|
+ CaseRegister = dto.EmployeeName,
|
|
|
+ CaseRegisterNo = dto.EmployeeStaffNo,
|
|
|
+ CaseDate = Convert.ToDateTime(dto.CreationTime),
|
|
|
+ PhoneNumber = dto.Contact,
|
|
|
+ AppLicantName = dto.FromName,
|
|
|
+ AppLicantAge = dto.AgeRangeCode,
|
|
|
+ AppLicantId = dto.LicenceNo,
|
|
|
+ CaseAccord = "",
|
|
|
+ CaseContent = dto.Content,
|
|
|
+ CaseProcessType = "",
|
|
|
+ CaseIsPublic = "",
|
|
|
+ CaseIsSecrect = "",
|
|
|
+ CaseIsVisit = "",
|
|
|
+ CaseValid = "",
|
|
|
+ TSigntTmeBf = null,
|
|
|
+ TfdBackTimeBf = null,
|
|
|
+ TBackTimeBf = null,
|
|
|
+ RelateSerial = "",
|
|
|
+ CaseLngLat = "",
|
|
|
+ CaseEmotion = "",
|
|
|
+ CaseAddress = "",
|
|
|
+ EventDate = "",
|
|
|
+ CaseGoal = "",
|
|
|
+ ThemeSerial = "",
|
|
|
+ AdviseType = "",
|
|
|
+ AdviseDept = "",
|
|
|
+ ComplainType = "",
|
|
|
+ ComplainDept = "",
|
|
|
+ PushType = "",
|
|
|
+
|
|
|
+ };
|
|
|
+
|
|
|
+ //处理诉求渠道
|
|
|
+ switch (dto.Channel)
|
|
|
+ {
|
|
|
+ case EChannel.Phone:
|
|
|
+ submitCaseInfo.CaseSource = "RGDH";
|
|
|
+ break;
|
|
|
+ case EChannel.WxOfficial:
|
|
|
+ submitCaseInfo.CaseSource = "WX";
|
|
|
+ break;
|
|
|
+ case EChannel.Web:
|
|
|
+ submitCaseInfo.CaseSource = "WZ";
|
|
|
+ break;
|
|
|
+ case EChannel.App:
|
|
|
+ submitCaseInfo.CaseSource = "Ap";
|
|
|
+ break;
|
|
|
+ case EChannel.WxMiniProgram:
|
|
|
+ submitCaseInfo.CaseSource = "XCX";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理性别
|
|
|
+ switch (dto.FromGender)
|
|
|
+ {
|
|
|
+ case EGender.Female:
|
|
|
+ submitCaseInfo.AppLicantSex = "0";
|
|
|
+ break;
|
|
|
+ case EGender.Male:
|
|
|
+ submitCaseInfo.AppLicantSex = "1";
|
|
|
+ break;
|
|
|
+ case EGender.Unknown:
|
|
|
+ submitCaseInfo.AppLicantSex = "2";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理证件类型
|
|
|
+ switch (dto.LicenceTypeCode)
|
|
|
+ {
|
|
|
+ case "10":
|
|
|
+ submitCaseInfo.CertifiCateType = "10";
|
|
|
+ break;
|
|
|
+ case "40":
|
|
|
+ submitCaseInfo.CertifiCateType = "20";
|
|
|
+ break;
|
|
|
+ case "55":
|
|
|
+ submitCaseInfo.CertifiCateType = "30";
|
|
|
+ break;
|
|
|
+ case "57":
|
|
|
+ submitCaseInfo.CertifiCateType = "40";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ submitCaseInfo.CertifiCateType = "50";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理受理类型
|
|
|
+ switch (dto.AcceptType)
|
|
|
+ {
|
|
|
+ case EAcceptType.Consult:
|
|
|
+ submitCaseInfo.CaseType = "10";
|
|
|
+ break;
|
|
|
+ case EAcceptType.Suggest:
|
|
|
+ submitCaseInfo.CaseType = "15";
|
|
|
+ break;
|
|
|
+ case EAcceptType.SeekHelp:
|
|
|
+ submitCaseInfo.CaseType = "20";
|
|
|
+ break;
|
|
|
+ case EAcceptType.Praise:
|
|
|
+ submitCaseInfo.CaseType = "25";
|
|
|
+ break;
|
|
|
+ case EAcceptType.Report:
|
|
|
+ submitCaseInfo.CaseType = "30";
|
|
|
+ break;
|
|
|
+ case EAcceptType.Complain:
|
|
|
+ submitCaseInfo.CaseType = "35";
|
|
|
+ break;
|
|
|
+ case EAcceptType.Other:
|
|
|
+ submitCaseInfo.CaseType = "40";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+ //处理紧急程度
|
|
|
+ switch (dto.EmergencyLevel)
|
|
|
+ {
|
|
|
+ case EEmergencyLevel.QuiteEmergency:
|
|
|
+ submitCaseInfo.CaseIsUrgent = "10";
|
|
|
+ break;
|
|
|
+ case EEmergencyLevel.Emergency:
|
|
|
+ submitCaseInfo.CaseIsUrgent = "20";
|
|
|
+ break;
|
|
|
+ default:
|
|
|
+ submitCaseInfo.CaseIsUrgent = "30";
|
|
|
+ break;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ submitCaseInfo.Id = await _submitCaseInfoRepository.AddAsync(submitCaseInfo, HttpContext.RequestAborted);
|
|
|
|
|
|
- await _mediator.Publish(new OrderCreatedNotification(new Province.HuiJu.Send.SubmitCaseInfo()));
|
|
|
+ await _mediator.Publish(new OrderCreatedNotification(submitCaseInfo));
|
|
|
}
|
|
|
|
|
|
}
|