tangjiang 7 月之前
父節點
當前提交
6a7bb5c28f

+ 27 - 80
src/DataSharing.Host/Controllers/YiBin/ConvergenceMediaController.cs

@@ -9,6 +9,7 @@ using Hotline.Share.Dtos;
 using Hotline.Share.Dtos.Article;
 using Hotline.Share.Dtos.DataSharingSearch;
 using Hotline.Share.Dtos.File;
+using Hotline.Share.Dtos.FlowEngine.Workflow;
 using Hotline.Share.Dtos.Order;
 using Hotline.Share.Enums.Order;
 using MapsterMapper;
@@ -30,8 +31,6 @@ namespace DataSharing.Host.Controllers.YiBin
         private readonly IMediator _mediator;
         private readonly ICapPublisher _capPublisher;
         private readonly IChannelConfigurationManager _channelConfigurationManager;
-        private readonly IRepository<DsOrder> _dataOrderRepository;
-        private readonly IRepository<DsOrderWorkFlow> _dataOrderWorkFlowRepository;
         private readonly IRepository<DsReceiveMediaData> _dsReceiveMediaDataRepository;
         private readonly IRepository<DsBulletin> _bulletinRepository;
         private readonly FwClient _fwClient;
@@ -44,8 +43,6 @@ namespace DataSharing.Host.Controllers.YiBin
         /// <param name="mediator"></param>
         /// <param name="capPublisher"></param>
         /// <param name="channelConfigurationManager"></param>
-        /// <param name="dataOrderRepository"></param>
-        /// <param name="dataOrderWorkFlowRepository"></param>
         /// <param name="dsReceiveMediaDataRepository"></param>
         /// <param name="bulletinRepository"></param>
         /// <param name="fwClient"></param>
@@ -53,8 +50,6 @@ namespace DataSharing.Host.Controllers.YiBin
         public ConvergenceMediaController(IMapper mapper, IMediator mediator,
             ICapPublisher capPublisher,
             IChannelConfigurationManager channelConfigurationManager,
-            IRepository<DsOrder> dataOrderRepository,
-            IRepository<DsOrderWorkFlow> dataOrderWorkFlowRepository,
             IRepository<DsReceiveMediaData> dsReceiveMediaDataRepository,
             IRepository<DsBulletin> bulletinRepository,
             FwClient fwClient,
@@ -64,8 +59,6 @@ namespace DataSharing.Host.Controllers.YiBin
             _mediator = mediator;
             _capPublisher = capPublisher;
             _channelConfigurationManager = channelConfigurationManager;
-            _dataOrderRepository = dataOrderRepository;
-            _dataOrderWorkFlowRepository = dataOrderWorkFlowRepository;
             _dsReceiveMediaDataRepository = dsReceiveMediaDataRepository;
             _bulletinRepository = bulletinRepository;
             _fwClient = fwClient;
@@ -556,23 +549,33 @@ namespace DataSharing.Host.Controllers.YiBin
             if (!string.IsNullOrEmpty(strResult))
                 return OpenResponse.Ok(ConvergenceMediaDeResponse<List<ReturnData>>.Failed(ReturnData.ReturnDataInfo(strResult), "0", "失败"));
 
-            //验证信件是否存在
-            var data = await _dataOrderRepository.GetAsync(p => p.OrderNo == dto.AcceptCode && p.Password == dto.AcceptPwd && p.Source == accountDto.PlatformSource, HttpContext.RequestAborted);
-            if (data == null)
-                return OpenResponse.Ok(ConvergenceMediaDeResponse<List<ReturnData>>.Failed(ReturnData.ReturnDataInfo("编号、密码错误!"), "0", "失败"));
+            GetOrderNoPwdDto getOrder = new()
+            {
+                No = dto.AcceptCode,
+                Password = dto.AcceptPwd,
+                SourceChannelCode = GetChannelCode(accountDto.PlatformSource)
+            };
+            var result = await _fwClient.RequestNoTokenAsync<HotlineClientDataSharingResponse<List<WorkflowTraceDto>>>("api/v1/DataSharing/get_workflow_by_no_pwd",
+                "Post", System.Text.Json.JsonSerializer.Serialize(getOrder));
+
+            List<GetOrderByRunDataDto> orderByRunData = new();
+            if (result != null && result.code == 0)
+            {
+                if (result.result != null && result.result.Count > 0)
+                {
+                    foreach (var item in result.result)
+                    {
+                        orderByRunData.Add(new GetOrderByRunDataDto()
+                        {
+                            BMName = item.HandlerOrgName,
+                            TTime = item.StepExpiredTime.HasValue == true ? item.StepExpiredTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
+                            DisposeDate = item.HandleTime.HasValue == true ? item.HandleTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : ""
+                        });
+                    }
+                }
+            }
 
-            //数据查询
-            var list = await _dataOrderWorkFlowRepository.Queryable()
-                  .Where(p => p.OrderId == data.OrderId)
-                  .Where(p => p.WorkflowId == data.WorkflowId)
-                  .Select(it => new
-                  {
-                      BMName = it.HandlerOrgName,
-                      TTime = it.StepExpiredTime,
-                      DisposeDate = it.HandleTime
-                  })
-                  .ToListAsync();
-            return OpenResponse.Ok(ConvergenceMediaDeResponse<IReadOnlyList<GetOrderByRunDataDto>>.Success(_mapper.Map<IReadOnlyList<GetOrderByRunDataDto>>(list), "成功"));
+            return OpenResponse.Ok(ConvergenceMediaDeResponse<IReadOnlyList<GetOrderByRunDataDto>>.Success(orderByRunData, "成功"));
         }
 
         /// <summary>
@@ -887,62 +890,6 @@ namespace DataSharing.Host.Controllers.YiBin
 
         }
 
-        #region 取消,已经统一到一个接口
-        ///// <summary>
-        /////  3.2、工单查询
-        ///// </summary>
-        ///// <returns></returns>
-        //[HttpPost("GetOrderDetailByFlowID2")]
-        //[AllowAnonymous]
-        //public async Task<OpenResponse> GetOrderDetailByFlowID2([FromForm] IYBReceiveBaseDto dto)
-        //{
-        //    //验证密钥
-        //    var accountDto = await _dsUserTokenInfoService.CheckAccountAsync(dto.Code, HttpContext.RequestAborted);
-        //    if (accountDto is null || accountDto.IsCheckAccount == false)
-        //    {
-        //        List<ConvergenceMediaDeResponse<string>> convergenceMediaDes = new() {
-        //        new()
-        //        {
-        //            msg = "密钥错误",
-        //            code = "-900",
-        //            data = ""
-        //        } };
-
-        //        return OpenResponse.Ok(ConvergenceMediaDeResponse<List<ConvergenceMediaDeResponse<string>>>.Failed(convergenceMediaDes, "0", "失败"));
-        //    }
-
-        //    //验证数据
-        //    string strResult = dto.Validate();
-        //    if (!string.IsNullOrEmpty(strResult))
-        //        return OpenResponse.Ok(ConvergenceMediaDeResponse<List<ReturnData>>.Failed(ReturnData.ReturnDataInfo(strResult), "0", "失败"));
-
-        //    //查询数据
-        //    var items = await _dataOrderRepository
-        //     .Queryable()
-        //     .Where(p => p.OrderNo == dto.AcceptCode)
-        //      .Select(it => new
-        //      {
-        //          FlowID = it.Id,
-        //          FlowCode = it.OrderNo,
-        //          FlowTitle = it.Title,
-        //          FlowAddDate = it.CaseDate,
-        //          FlowPurTypeName = it.CaseType,
-        //          FlowConTypeName = it.HotspotName,
-        //          FlowRSFlagName = it.HandleState,
-        //          FlowLKName = it.FromName,
-        //          FlowContent = it.Content,
-        //          Address = it.FullAddress
-        //      })
-        //      .ToListAsync();
-
-        //    if (items == null || items.Count == 0)
-        //        return OpenResponse.Ok(ConvergenceMediaDeResponse<List<ReturnData>>.Failed(ReturnData.ReturnDataInfo("编号、密码错误!"), "0", "失败"));
-        //    else
-        //        return OpenResponse.Ok(ConvergenceMediaDeResponse<IReadOnlyList<MediaOrderDetailDataDto>>.Success(_mapper.Map<IReadOnlyList<MediaOrderDetailDataDto>>(items), "成功"));
-
-        //} 
-        #endregion
-
         /// <summary>
         /// 附件详情地址---1
         /// </summary>

+ 27 - 17
src/DataSharing.Host/Controllers/YiBin/ZhYBController.cs

@@ -5,7 +5,9 @@ using DataSharing.Share.Dtos.HotlineSetting;
 using DataSharing.Share.Dtos.YiBin.ZzptPlatformsYB;
 using DataSharing.YiBin.ConvergenceMedia;
 using Hotline.Share.Dtos.DataSharingSearch;
+using Hotline.Share.Dtos.FlowEngine.Workflow;
 using Hotline.Share.Dtos.Order;
+using Hotline.Share.Enums.FlowEngine;
 using Hotline.Share.Enums.Order;
 using MapsterMapper;
 using Microsoft.AspNetCore.Authorization;
@@ -21,7 +23,6 @@ namespace DataSharing.Host.Controllers.YiBin
     public class ZhYBController : BaseController
     {
         private readonly IMapper _mapper;
-        private readonly IRepository<DsOrderWorkFlow> _dataOrderWorkFlowRepository;
         private readonly IRepository<DsReceiveMediaData> _dsReceiveMediaDataRepository;
         private readonly FwClient _fwClient;
         private readonly IDsUserTokenInfoService _dsUserTokenInfoService;
@@ -30,18 +31,15 @@ namespace DataSharing.Host.Controllers.YiBin
         /// 
         /// </summary>
         /// <param name="mapper"></param>
-        /// <param name="dataOrderWorkFlowRepository"></param>
         /// <param name="dsReceiveMediaDataRepository"></param>
         /// <param name="fwClient"></param>
         /// <param name="dsUserTokenInfoService"></param>
         public ZhYBController(IMapper mapper,
-            IRepository<DsOrderWorkFlow> dataOrderWorkFlowRepository,
             IRepository<DsReceiveMediaData> dsReceiveMediaDataRepository,
             FwClient fwClient,
             IDsUserTokenInfoService dsUserTokenInfoService)
         {
             _mapper = mapper;
-            _dataOrderWorkFlowRepository = dataOrderWorkFlowRepository;
             _dsReceiveMediaDataRepository = dsReceiveMediaDataRepository;
             _fwClient = fwClient;
             _dsUserTokenInfoService = dsUserTokenInfoService;
@@ -159,25 +157,37 @@ namespace DataSharing.Host.Controllers.YiBin
             if (!string.IsNullOrEmpty(strResult))
                 return OpenResponse.Ok(OtherPlatformsDeResponse<string>.Failed(strResult, "0"));
 
+
             GetOrderNoPwdDto getOrder = new()
             {
                 No = dto.strCode,
                 Password = dto.strCode
             };
-            var result = await _fwClient.RequestNoTokenAsync<HotlineClientDataSharingResponse<OrderDto>>("api/v1/DataSharing/get_order_detail_by_no_pwd",
+            var result = await _fwClient.RequestNoTokenAsync<HotlineClientDataSharingResponse<List<WorkflowTraceDto>>>("api/v1/DataSharing/get_workflow_by_no_pwd",
                 "Post", System.Text.Json.JsonSerializer.Serialize(getOrder));
-            if (result == null || result.code != 0 || result.result == null)
-                return OpenResponse.Ok(OtherPlatformsDeResponse<string>.Failed("编号或密码错误", "0"));
-
-            var dataFlow = await _dataOrderWorkFlowRepository.Queryable()
-                .Where(p => p.OrderId == result.result.Id)
-                .OrderBy(p => p.CreationTime)
-                .ToListAsync();
-            var list = _mapper.Map<List<GetFlowInfoReturnDto>>(dataFlow);
-
-            if (list != null && list.Count > 0 && result.result.Status >= EOrderStatus.Filed)
-                list[list.Count - 1].AcceptEnd = "1";
-            return OpenResponse.Ok(OtherPlatformsDeResponse<List<GetFlowInfoReturnDto>>.Success(list));
+
+            List<GetFlowInfoReturnDto> getFlowInfos = new();
+            if (result != null && result.code == 0)
+            {
+                if (result.result != null && result.result.Count > 0)
+                {
+                    foreach (var item in result.result)
+                    {
+                        getFlowInfos.Add(new GetFlowInfoReturnDto()
+                        {
+                            AcceptName = item.HandlerOrgName,
+                            AcceptUser = item.HandlerName,
+                            AcceptContent = item.Opinion,
+                            AcceptDate = item.HandleTime.HasValue == true ? item.HandleTime.Value.ToString("yyyy-MM-dd HH:mm:ss") : "",
+                            AcceptState = "已完成"
+                        });
+                    }
+                    if (result.result[result.result.Count - 1].StepType == EStepType.End)
+                        getFlowInfos[getFlowInfos.Count - 1].AcceptEnd = "1";
+                }
+            }
+
+            return OpenResponse.Ok(OtherPlatformsDeResponse<List<GetFlowInfoReturnDto>>.Success(getFlowInfos));
         }
 
         /// <summary>

+ 2 - 2
src/DataSharing.Share/Dtos/YiBin/ConvergenceMedia/GetOrderByRunDataDto.cs

@@ -14,12 +14,12 @@ namespace DataSharing.Share.Dtos.YiBin.ConvergenceMedia
         /// 到期时间
         /// </summary>
         [JsonPropertyName("TTime")]
-        public DateTime? TTime { get; set; }
+        public string? TTime { get; set; }
 
         /// <summary>
         /// 办理时间
         /// </summary>
         [JsonPropertyName("DisposeDate")]
-        public DateTime? DisposeDate { get; set; }
+        public string? DisposeDate { get; set; }
     }
 }