Browse Source

orderType

xf 1 year ago
parent
commit
83e00c4f76

+ 12 - 11
src/Hotline.Api/Controllers/HotSpotController.cs

@@ -29,7 +29,7 @@ namespace Hotline.Api.Controllers
         private readonly ISystemDicDataCacheManager _sysDicDataCacheManager;
 
         public HotspotController(IRepository<Hotspot> hotspotTypeRepository,
-            IMapper mapper, ITimeLimitDomainService timeLimitDomainService, ITimeLimitRepository timeLimitRepository,ISystemDicDataCacheManager sysDicDataCacheManager)
+            IMapper mapper, ITimeLimitDomainService timeLimitDomainService, ITimeLimitRepository timeLimitRepository, ISystemDicDataCacheManager sysDicDataCacheManager)
         {
             _hotspotTypeRepository = hotspotTypeRepository;
             _mapper = mapper;
@@ -47,7 +47,7 @@ namespace Hotline.Api.Controllers
         {
             return await _hotspotTypeRepository.Queryable()
                 .Where(x => x.ParentId == id)
-                .OrderBy(d=>d.HotSpotName)
+                .OrderBy(d => d.HotSpotName)
                 .ToListAsync();
         }
 
@@ -69,7 +69,7 @@ namespace Hotline.Api.Controllers
                 .Where(d => string.IsNullOrEmpty(d.ParentId) && !topIds.Contains(d.Id))
                 .ToListAsync();
             hotspots.AddRange(targetList);
-            return hotspots.OrderBy(d=>d.HotSpotName).ToList();
+            return hotspots.OrderBy(d => d.HotSpotName).ToList();
         }
 
         #endregion
@@ -84,7 +84,8 @@ namespace Hotline.Api.Controllers
         [HttpGet("timelimit-basedata")]
         public async Task<object> GetTimeLimitBaseData()
         {
-            return new {
+            return new
+            {
                 //ModuleOptions = WorkflowModule.Modules.ToList(),//todo
                 TimeType = EnumExts.GetDescriptions<ETimeType>(),
                 BaseData = TimeLimitBaseData.GetBaseData(),
@@ -94,7 +95,7 @@ namespace Hotline.Api.Controllers
                 //PushType = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.PushType),
                 SourceChannel = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.SourceChannel),
                 IdentityType = EnumExts.GetDescriptions<EIdentityType>(),
-                OrderType = EnumExts.GetDescriptions<EOrderType>(),
+                OrderType = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.OrderType),
                 CertType = _sysDicDataCacheManager.GetSysDicDataCache(TimeLimitBaseDataConsts.LicenceType),
                 EmergencyLevel = EnumExts.GetDescriptions<EEmergencyLevel>()
             };
@@ -106,7 +107,7 @@ namespace Hotline.Api.Controllers
         /// <param name="dto"></param>
         /// <returns>数据主键</returns>
         [HttpPost("add-timelimit")]
-        public async Task<string> AddTimeLimit([FromBody]AddTimeLimitDto dto)
+        public async Task<string> AddTimeLimit([FromBody] AddTimeLimitDto dto)
         {
             var model = _mapper.Map<TimeLimit>(dto);
             model.TimeLimitState = ETimeLimitState.Draft;
@@ -120,7 +121,7 @@ namespace Hotline.Api.Controllers
         /// <param name="dto"></param>
         /// <returns></returns>
         [HttpPost("update-timelimit")]
-        public async Task UpdateTimeLimit([FromBody]UpdateTimeLimitDto dto)
+        public async Task UpdateTimeLimit([FromBody] UpdateTimeLimitDto dto)
         {
             var model = _mapper.Map<TimeLimit>(dto);
             await _timeLimitDomainService.UpdateAsync(model, HttpContext.RequestAborted);
@@ -149,7 +150,7 @@ namespace Hotline.Api.Controllers
             var (total, items) = await _timeLimitRepository.Queryable()
                 .WhereIF(!string.IsNullOrEmpty(dto.Keyword), d => d.TimeLimitName.Contains(dto.Keyword!))
                 .OrderByDescending(d => d.CreationTime)
-                .ToPagedListAsync(dto.PageIndex,dto.PageSize, HttpContext.RequestAborted);
+                .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);
             return new PagedDto<TimeLimit>(total, _mapper.Map<IReadOnlyList<TimeLimit>>(items));
         }
 
@@ -162,7 +163,7 @@ namespace Hotline.Api.Controllers
         public async Task DelTimeLimit(string id)
         {
             var model = await _timeLimitRepository.GetAsync(id, HttpContext.RequestAborted);
-            if (model==null)
+            if (model == null)
             {
                 throw UserFriendlyException.SameMessage("无效数据");
             }
@@ -170,7 +171,7 @@ namespace Hotline.Api.Controllers
             {
                 throw UserFriendlyException.SameMessage("无法删除,请刷新页面");
             }
-            await _timeLimitRepository.RemoveAsync(id,true,HttpContext.RequestAborted);
+            await _timeLimitRepository.RemoveAsync(id, true, HttpContext.RequestAborted);
         }
 
         /// <summary>
@@ -182,7 +183,7 @@ namespace Hotline.Api.Controllers
         public async Task EnableTimeLimit(string id)
         {
             var model = await _timeLimitRepository.GetAsync(id, HttpContext.RequestAborted);
-            if (model==null)
+            if (model == null)
             {
                 throw UserFriendlyException.SameMessage("无效数据");
             }

+ 1 - 1
src/Hotline.Api/Controllers/OrderController.cs

@@ -1673,7 +1673,7 @@ public class OrderController : BaseController
             IdentityTypeOptions = EnumExts.GetDescriptions<EIdentityType>(),
             LicenceTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.LicenceType),
             AgeRangeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.AgeRange),
-            OrderTypeOptions = EnumExts.GetDescriptions<EOrderType>(),
+            OrderTypeOptions = _sysDicDataCacheManager.GetSysDicDataCache(SysDicTypeConsts.OrderType),
         };
         return rsp;
     }

+ 3 - 3
src/Hotline.Application/Handlers/FlowEngine/NextStepHandler.cs

@@ -89,7 +89,7 @@ public class NextStepHandler : INotificationHandler<NextStepNotify>
                 if (data.FlowDirection.HasValue && data.External.TimeLimit.HasValue && data.External.TimeLimitUnit.HasValue)
                 {
                     // 1. calc expiredTime 2. update order.expiredTime 3. update workflow.expiredTime 4. publish province
-                    
+
                     var expiredTime = _timeLimitDomainService.CalcEndTime(DateTime.Now, data.External.TimeLimitUnit.Value,
                         data.External.TimeLimit.Value, data.FlowDirection is EFlowDirection.OrgToCenter);
 
@@ -103,7 +103,7 @@ public class NextStepHandler : INotificationHandler<NextStepNotify>
                     }
 
                     await _workflowDomainService.UpdateExpiredTimeAsync(workflow, expiredTime.EndTime,
-                        expiredTime.RuleStr, data.External.TimeLimit, data.External.TimeLimitUnit, cancellationToken);
+                        expiredTime.RuleStr, data.External.TimeLimit, data.External.TimeLimitUnit, order.CenterToOrgTime, cancellationToken);
 
                     expiredTimeChanged = true;
                 }
@@ -117,7 +117,7 @@ public class NextStepHandler : INotificationHandler<NextStepNotify>
                     ExpiredTimeChanged = expiredTimeChanged,
                     HandlerOrgLevel = notification.HandlerOrgCode.CalcOrgLevel()
                 }, cancellationToken: cancellationToken);
-                
+
                 break;
             case WorkflowModuleConsts.KnowledgeAdd:
             case WorkflowModuleConsts.KnowledgeUpdate:

+ 1 - 1
src/Hotline.Application/Handlers/FlowEngine/PreviousStepHandler.cs

@@ -68,7 +68,7 @@ namespace Hotline.Application.Handlers.FlowEngine
                         var expiredTime = _timeLimitDomainService.CalcEndTime(EFlowDirection.OrgToCenter);
 
                         await _workflowDomainService.UpdateExpiredTimeAsync(workflow, expiredTime.EndTime,
-                            expiredTime.RuleStr, null, null, cancellationToken);
+                            expiredTime.RuleStr, null, null, order.CenterToOrgTime, cancellationToken);
 
                         var dto = _mapper.Map<OrderDto>(order);
                         await _capPublisher.PublishAsync(EventNames.HotlineOrderExpiredTimeUpdate, dto, cancellationToken: cancellationToken);

+ 1 - 1
src/Hotline.Application/Handlers/FlowEngine/RecallStepHandler.cs

@@ -62,7 +62,7 @@ public class RecallStepHandler : INotificationHandler<RecallNotify>
                         data.External.TimeLimit.Value, data.FlowDirection is EFlowDirection.OrgToCenter);
 
                     await _workflowDomainService.UpdateExpiredTimeAsync(workflow, expiredTime.EndTime,
-                        expiredTime.RuleStr, data.External.TimeLimit, data.External.TimeLimitUnit, cancellationToken);
+                        expiredTime.RuleStr, data.External.TimeLimit, data.External.TimeLimitUnit, order.CenterToOrgTime, cancellationToken);
 
                     var dto = _mapper.Map<OrderDto>(order);
                     await _capPublisher.PublishAsync(EventNames.HotlineOrderExpiredTimeUpdate, dto, cancellationToken: cancellationToken);

+ 1 - 1
src/Hotline.Application/Orders/IOrderApplication.cs

@@ -17,6 +17,6 @@ namespace Hotline.Application.Orders
         /// 1.更新工单 2.更新流程 3.推送省平台
         /// </summary>
         /// <returns></returns>
-        Task UpdateOrderHandleExpiredTimeAsync(Order order, ETimeType timeType, int timeCount, bool publishToProvince = true);
+        Task DelayOrderHandleExpiredTimeAsync(Order order, ETimeType timeType, int timeCount, bool publishToProvince = true);
     }
 }

+ 10 - 3
src/Hotline.Application/Orders/OrderApplication.cs

@@ -1,5 +1,6 @@
 using Hotline.FlowEngine.Workflows;
 using Hotline.Orders;
+using Hotline.Settings.TimeLimits;
 using Hotline.Share.Enums.Order;
 using Hotline.Share.Enums.Settings;
 using Hotline.Users;
@@ -13,14 +14,17 @@ public class OrderApplication : IOrderApplication, IScopeDependency
 {
     private readonly IWorkflowDomainService _workflowDomainService;
     private readonly IOrderRepository _orderRepository;
+    private readonly ITimeLimitDomainService _timeLimitDomainService;
 
     public OrderApplication(
         IWorkflowDomainService workflowDomainService,
-        IOrderRepository orderRepository
+        IOrderRepository orderRepository,
+        ITimeLimitDomainService timeLimitDomainService
         )
     {
         _workflowDomainService = workflowDomainService;
         _orderRepository = orderRepository;
+        _timeLimitDomainService = timeLimitDomainService;
     }
 
     /// <summary>
@@ -28,8 +32,11 @@ public class OrderApplication : IOrderApplication, IScopeDependency
     /// 1.更新工单 2.更新流程 3.推送省平台
     /// </summary>
     /// <returns></returns>
-    public async Task UpdateOrderHandleExpiredTimeAsync(Order order, ETimeType timeType, int timeCount, bool publishToProvince = true)
+    public async Task DelayOrderHandleExpiredTimeAsync(Order order, ETimeType timeType, int timeCount, bool publishToProvince = true)
     {
-        throw new NotImplementedException();
+        var expiredTime = _timeLimitDomainService.CalcEndTime(order.ExpiredTime.Value, timeType, timeCount, false);
+        order.ExpiredTime = expiredTime.EndTime;
+
+
     }
 }

+ 3 - 3
src/Hotline.Share/Dtos/Order/OrderExtensionDto.cs

@@ -422,17 +422,17 @@ public class OrderExtensionDto
     /// <summary>
     /// 主管税务机关(问题归属地)
     /// </summary>
-    public string? Location12366Ts { get; set; }
+    public string? Location12366Sq { get; set; }
 
     /// <summary>
     /// 被投诉单位或个人信息
     /// </summary>
-    public string? Info12366Ts { get; set; }
+    public string? Info12366Sq { get; set; }
 
     /// <summary>
     /// 12366的投诉类型
     /// </summary>
-    public string? Type12366Ts { get; set; }
+    public string? Type12366Sq { get; set; }
     #endregion
 
     #region 四川省12366热线咨询交办单

+ 0 - 21
src/Hotline.Share/Enums/Order/EOrderType.cs

@@ -1,21 +0,0 @@
-using System.ComponentModel;
-
-namespace Hotline.Share.Enums.Order;
-
-/// <summary>
-/// 工单类型
-/// </summary>
-public enum EOrderType
-{
-    /// <summary>
-    /// 通用工单
-    /// </summary>
-    [Description("通用工单")]
-    Common = 0,
-
-    /// <summary>
-    /// 12315市场监管局受理单
-    /// </summary>
-    [Description("12315市场监管局受理单")]
-    MarketSupervisionBy12315 = 1,
-}

+ 1 - 1
src/Hotline/FlowEngine/Workflows/IWorkflowDomainService.cs

@@ -116,6 +116,6 @@ namespace Hotline.FlowEngine.Workflows
         /// 更新期满时间
         /// </summary>
         Task UpdateExpiredTimeAsync(Workflow workflow, DateTime expiredTime, string timelimitText, int? timelimite,
-            ETimeType? timelimitUnit, CancellationToken cancellationToken);
+            ETimeType? timelimitUnit, DateTime? centerToOrgTime, CancellationToken cancellationToken);
     }
 }

+ 2 - 1
src/Hotline/FlowEngine/Workflows/WorkflowDomainService.cs

@@ -709,12 +709,13 @@ namespace Hotline.FlowEngine.Workflows
         /// 更新期满时间
         /// </summary>
         public async Task UpdateExpiredTimeAsync(Workflow workflow, DateTime expiredTime, string timelimit, int? timelimiteCount,
-            ETimeType? timelimitUnit, CancellationToken cancellationToken)
+            ETimeType? timelimitUnit, DateTime? centerToOrgTime, CancellationToken cancellationToken)
         {
             workflow.ExpiredTime = expiredTime;
             workflow.TimeLimit = timelimit;
             workflow.TimeLimitUnit = timelimitUnit;
             workflow.TimeLimitCount = timelimiteCount;
+            workflow.CenterToOrgTime = centerToOrgTime;
             await _workflowRepository.UpdateAsync(workflow, cancellationToken);
         }
 

+ 3 - 3
src/Hotline/Orders/OrderExtension.cs

@@ -424,17 +424,17 @@ public class OrderExtension : CreationEntity
     /// <summary>
     /// 主管税务机关(问题归属地)
     /// </summary>
-    public string? Location12366Ts { get; set; }
+    public string? Location12366Sq { get; set; }
 
     /// <summary>
     /// 被投诉单位或个人信息
     /// </summary>
-    public string? Info12366Ts { get; set; }
+    public string? Info12366Sq { get; set; }
 
     /// <summary>
     /// 12366的投诉类型
     /// </summary>
-    public string? Type12366Ts { get; set; }
+    public string? Type12366Sq { get; set; }
     #endregion
 
     #region 四川省12366热线咨询交办单