TANG JIANG 2 years ago
parent
commit
0b5e8bc7b9

+ 33 - 1
src/Sharing.Province/Controllers/ReceiveController.cs

@@ -5,6 +5,7 @@ using Microsoft.AspNetCore.Mvc;
 using Sharing.Province.Dtos.XieTong;
 using Sharing.Province.Dtos.XieTong;
 using Sharing.Province.XieTong;
 using Sharing.Province.XieTong;
 using Sharing.WebCore;
 using Sharing.WebCore;
+using System.IO.Pipelines;
 
 
 namespace Sharing.Province.Controllers
 namespace Sharing.Province.Controllers
 {
 {
@@ -24,6 +25,7 @@ namespace Sharing.Province.Controllers
         private readonly IRemindCaseInfoRepository _remindCaseInfoRepository;
         private readonly IRemindCaseInfoRepository _remindCaseInfoRepository;
         private readonly ISendWarnInfoRepository _sendWarnInfoRepository;
         private readonly ISendWarnInfoRepository _sendWarnInfoRepository;
         private readonly ISendSuperviseInfoRepository _sendSuperviseInfoRepository;
         private readonly ISendSuperviseInfoRepository _sendSuperviseInfoRepository;
+        private readonly IScreenCaseResultReceiveRepository _screenCaseResultReceiveRepository;
 
 
         /// <summary>
         /// <summary>
         /// 
         /// 
@@ -41,7 +43,7 @@ namespace Sharing.Province.Controllers
             IGetCaseBackResultRepository getCaseBackResultRepository, IDelayCaseResultRepository delayCaseResultRepository
             IGetCaseBackResultRepository getCaseBackResultRepository, IDelayCaseResultRepository delayCaseResultRepository
             , ISupplyCaseInfoRepository supplyCaseInfoRepository, IRevokeCaseInfoRepository revokeCaseInfoRepository
             , ISupplyCaseInfoRepository supplyCaseInfoRepository, IRevokeCaseInfoRepository revokeCaseInfoRepository
             , IRemindCaseInfoRepository remindCaseInfoRepository, ISendWarnInfoRepository sendWarnInfoRepository
             , IRemindCaseInfoRepository remindCaseInfoRepository, ISendWarnInfoRepository sendWarnInfoRepository
-            , ISendSuperviseInfoRepository sendSuperviseInfoRepository)
+            , ISendSuperviseInfoRepository sendSuperviseInfoRepository, IScreenCaseResultReceiveRepository screenCaseResultReceiveRepository)
         {
         {
             _mapper = mapper;
             _mapper = mapper;
             _capPublisher = capPublisher;
             _capPublisher = capPublisher;
@@ -53,6 +55,7 @@ namespace Sharing.Province.Controllers
             _remindCaseInfoRepository = remindCaseInfoRepository;
             _remindCaseInfoRepository = remindCaseInfoRepository;
             _sendWarnInfoRepository = sendWarnInfoRepository;
             _sendWarnInfoRepository = sendWarnInfoRepository;
             _sendSuperviseInfoRepository = sendSuperviseInfoRepository;
             _sendSuperviseInfoRepository = sendSuperviseInfoRepository;
+            _screenCaseResultReceiveRepository = screenCaseResultReceiveRepository;
         }
         }
         #endregion
         #endregion
 
 
@@ -462,5 +465,34 @@ namespace Sharing.Province.Controllers
 
 
             return id;
             return id;
         }
         }
+
+        /// <summary>
+        /// 服务工单甄别结果接口
+        /// </summary>
+        /// <param name="receiveScreenCaseResultReceive">服务工单甄别结果对象</param>
+        /// <returns></returns>
+        [HttpPost]
+        [Route("screen_case_result_receive")]
+        public async Task<string> ScreenCaseResultReceive([FromBody] ScreenCaseResultReceiveRequest receiveScreenCaseResultReceive)
+        {
+            // 验证
+            if (receiveScreenCaseResultReceive is null || receiveScreenCaseResultReceive.paras is null)
+                return "数据解析失败";
+
+            string strResult = receiveScreenCaseResultReceive.paras.Validate();
+            if (!string.IsNullOrEmpty(strResult))
+                return strResult;
+
+            //转换数据
+            var dto = _mapper.Map<ScreenCaseResultReceive>(receiveScreenCaseResultReceive.paras);
+
+            //添加数据
+            var id = await _screenCaseResultReceiveRepository.AddAsync(dto, HttpContext.RequestAborted);
+
+            //向业务系统推送消息
+            // await _capPublisher.PublishAsync(EventNames.HotlineOrderCreated, dto,cancellationToken: HttpContext.RequestAborted);
+
+            return id;
+        }
     }
     }
 }
 }

+ 68 - 0
src/Sharing.Province/Dtos/XieTong/ScreenCaseResultReceiveRequest.cs

@@ -0,0 +1,68 @@
+using System.Text.Json.Serialization;
+
+namespace Sharing.Province.Dtos.XieTong
+{
+    /// <summary>
+    /// 服务工单甄别结果
+    /// </summary>
+    public class ScreenCaseResultReceiveRequest
+    {
+        /// <summary>
+        /// 
+        /// </summary>
+        public ClientInfo token { get; set; }
+
+        /// <summary>
+        /// 服务工单
+        /// </summary>
+        public ScreenCaseResultReceiveModel paras { get; set; }
+    }
+    /// <summary>
+    /// 服务工单甄别结果
+    /// </summary>
+    public class ScreenCaseResultReceiveModel : BaseModel
+    {
+        /// <summary>
+        /// 审核结果是否通过
+        /// </summary>
+        [JsonPropertyName("AUDIT_RESULT")]
+        [MDisplayName("审核结果是否通过")]
+        [VRequired]
+        [VStringLength(0, 10)]
+        public string AuditResult { get; set; }
+
+        /// <summary>
+        /// 审核意见
+        /// </summary>
+        [JsonPropertyName("AUDIT_OPINION")]
+        [MDisplayName("审核意见")]
+        [VRequired]
+        public string AuditOpinion { get; set; }
+
+        /// <summary>
+        /// 审核时间
+        /// </summary>
+        [JsonPropertyName("AUDIT_TIME")]
+        [MDisplayName("审核时间")]
+        [VRequired]
+        public DateTime? AuditTime { get; set; }
+
+        /// <summary>
+        /// 审核部门
+        /// </summary>
+        [JsonPropertyName("AUDIT_OUNAME")]
+        [MDisplayName("审核部门")]
+        [VRequired]
+        [VStringLength(0, 200)]
+        public string AuditOuname { get; set; }
+
+        /// <summary>
+        /// 审核人
+        /// </summary>
+        [JsonPropertyName("AUDIT_PERSON")]
+        [MDisplayName("审核人")]
+        [VRequired]
+        [VStringLength(0, 50)]
+        public string AuditPerson { get; set; }
+    }
+}

+ 14 - 0
src/Sharing.Repository/Province/XieTong/ScreenCaseResultReceiveRepository.cs

@@ -0,0 +1,14 @@
+using Sharing.Province.XieTong;
+using SqlSugar;
+using XF.Domain.Dependency;
+
+namespace Sharing.Repository.Province.XieTong
+{
+    public class ScreenCaseResultReceiveRepository : BaseRepository<ScreenCaseResultReceive>, IScreenCaseResultReceiveRepository, IScopeDependency
+    {
+        public ScreenCaseResultReceiveRepository(ISugarUnitOfWork<SharingDbContext> uow) : base(uow)
+        {
+
+        }
+    }
+}

+ 8 - 0
src/Sharing/Province/XieTong/IScreenCaseResultReceiveRepository.cs

@@ -0,0 +1,8 @@
+using XF.Domain.Repository;
+
+namespace Sharing.Province.XieTong
+{
+    public interface IScreenCaseResultReceiveRepository : IRepository<ScreenCaseResultReceive>
+    {
+    }
+}

+ 42 - 0
src/Sharing/Province/XieTong/ScreenCaseResultReceive.cs

@@ -0,0 +1,42 @@
+using SqlSugar;
+using System.ComponentModel;
+
+namespace Sharing.Province.XieTong
+{
+    /// <summary>
+    /// 服务工单甄别结果
+    /// </summary>
+    [Description("服务工单甄别结果")]
+    public class ScreenCaseResultReceive : BaseResult
+    {
+        /// <summary>
+        /// 审核结果是否通过
+        /// </summary>
+        [SugarColumn(ColumnDescription = "审核结果是否通过", ColumnDataType = "varchar(10)")]
+        public string AuditResult { get; set; }
+
+        /// <summary>
+        /// 审核意见
+        /// </summary>
+        [SugarColumn(ColumnDescription = "审核意见", ColumnDataType = "text")]
+        public string AuditOpinion { get; set; }
+
+        /// <summary>
+        /// 审核时间
+        /// </summary>
+        [SugarColumn(ColumnDescription = "审核时间")]
+        public DateTime? AuditTime { get; set; }
+
+        /// <summary>
+        /// 审核部门
+        /// </summary>
+        [SugarColumn(ColumnDescription = "审核部门", ColumnDataType = "varchar(200)")]
+        public string AuditOuname { get; set; }
+
+        /// <summary>
+        /// 审核人
+        /// </summary>
+        [SugarColumn(ColumnDescription = "审核人", ColumnDataType = "varchar(50)")]
+        public string AuditPerson { get; set; }
+    }
+}