瀏覽代碼

Merge branch 'master' into rsa

xf 2 年之前
父節點
當前提交
1d533ea547

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

@@ -134,7 +134,7 @@ namespace Hotline.Api.Controllers
         [HttpGet("treelist")]
         public async Task<List<KnowledgeType>> GetTreeList(bool? IsEnable)
         {
-            return await _knowledgeTypeRepository.Queryable().WhereIF(IsEnable.HasValue, p => p.IsEnable == IsEnable).ToTreeAsync(it => it.Child, it => it.ParentId, null);
+            return await _knowledgeTypeRepository.Queryable().WhereIF(IsEnable.HasValue, p => p.IsEnable == IsEnable).ToTreeAsync(it => it.children, it => it.ParentId, null);
         }
 
         /// <summary>

+ 9 - 2
src/Hotline.Api/Controllers/KnowledgeController.cs

@@ -1,4 +1,5 @@
-using Hotline.Application.FlowEngine;
+using Google.Protobuf.WellKnownTypes;
+using Hotline.Application.FlowEngine;
 using Hotline.Application.Knowledge;
 using Hotline.FlowEngine.Definitions;
 using Hotline.FlowEngine.Workflows;
@@ -15,6 +16,7 @@ using Hotline.Share.Enums.KnowledgeBase;
 using Hotline.Users;
 using MapsterMapper;
 using MediatR;
+using Microsoft.AspNetCore.DataProtection.KeyManagement;
 using Microsoft.AspNetCore.Mvc;
 using SqlSugar;
 using XF.Domain.Authentications;
@@ -373,7 +375,12 @@ namespace Hotline.Api.Controllers
         [HttpGet("knowledge-status-data")]
         public async Task<object> KnowledgeStatus()
         {
-            return EnumExts.GetDescriptions<EKnowledgeStatus>();
+            return new List<KeyValuePair<int, string>>
+            {
+                new KeyValuePair<int, string>(1, "审核中"),
+                new KeyValuePair<int, string>(3, "已上架"),
+                new KeyValuePair<int, string>(4, "已下架")
+            };
         }
 
         /// <summary>

+ 5 - 1
src/Hotline.Application/FlowEngine/WorkflowApplication.cs

@@ -7,6 +7,7 @@ using Hotline.SeedData;
 using Hotline.Settings;
 using Hotline.Share.Dtos.FlowEngine;
 using Hotline.Share.Enums.FlowEngine;
+using Hotline.Share.Enums.Identity;
 using Hotline.Users;
 using SqlSugar;
 using XF.Domain.Authentications;
@@ -179,17 +180,20 @@ public class WorkflowApplication : IWorkflowApplication, IScopeDependency
                 {
                     case EHandlerType.AssignUser:
                         var users = await _userRepository.QueryAsync(d =>
+                            !d.IsDeleted &&
                             nextStepDefine.HandlerClassifies.Select(d => d.Id).Contains(d.Id));
                         options.NextSteps = users.Select(d => new KeyValuePair<string, string>(d.Id, d.Name)).ToList();
                         break;
                     case EHandlerType.AssignOrg:
                         var orgs = await _organizeRepository.QueryAsync(d =>
+                            d.IsEnable &&
                             nextStepDefine.HandlerClassifies.Select(d => d.Id).Contains(d.OrgCode));
                         options.NextSteps = orgs.Select(d => new KeyValuePair<string, string>(d.OrgCode, d.OrgName))
                             .ToList();
                         break;
                     case EHandlerType.Role:
-                        var roles = await _roleRepository.Queryable().Includes(d => d.Accounts, d => d.User)
+                        var roles = await _roleRepository.Queryable()
+                            .Includes(d => d.Accounts.Where(x => !x.IsDeleted && x.Status == EAccountStatus.Normal).ToList(), x => x.User)
                             .Where(d => nextStepDefine.HandlerClassifies.Select(d => d.Id).Contains(d.Name))
                             .ToListAsync();
                         var users1 = roles.SelectMany(d => d.Accounts).Select(d => d.User);

+ 9 - 1
src/Hotline.Application/Handlers/FlowEngine/OrderFinalManageHandler.cs

@@ -5,6 +5,7 @@ using System.Text;
 using System.Threading.Tasks;
 using Hotline.FlowEngine.Notifications;
 using Hotline.Orders;
+using Hotline.Settings;
 using MediatR;
 
 namespace Hotline.Application.Handlers.FlowEngine
@@ -23,7 +24,14 @@ namespace Hotline.Application.Handlers.FlowEngine
         /// <param name="cancellationToken">Cancellation token</param>
         public async Task Handle(OrderFinalManageNotify notification, CancellationToken cancellationToken)
         {
-            await _orderDomainService.FinalManageAsync(notification.Workflow.ExternalId, cancellationToken);
+            var workflow = notification.Workflow;
+
+            switch (workflow.ModuleCode)
+            {
+                case WorkflowModuleConsts.OrderManage:
+                    await _orderDomainService.FinalManageAsync(notification.Workflow.ExternalId, cancellationToken);
+                    break;
+            }
         }
     }
 }

+ 10 - 1
src/Hotline.Application/Handlers/FlowEngine/OrderRecallFinalManageHandler.cs

@@ -1,5 +1,6 @@
 using Hotline.FlowEngine.Notifications;
 using Hotline.Orders;
+using Hotline.Settings;
 using MediatR;
 
 namespace Hotline.Application.Handlers.FlowEngine;
@@ -18,6 +19,14 @@ public class OrderRecallFinalManageHandler : INotificationHandler<OrderRecallFin
     /// <param name="cancellationToken">Cancellation token</param>
     public async Task Handle(OrderRecallFinalManageNotify notification, CancellationToken cancellationToken)
     {
-        await _orderDomainService.RecallFinalManageAsync(notification.Workflow.ExternalId, cancellationToken);
+        var workflow = notification.Workflow;
+
+        switch (workflow.ModuleCode)
+        {
+            case WorkflowModuleConsts.OrderManage:
+                await _orderDomainService.RecallFinalManageAsync(notification.Workflow.ExternalId, cancellationToken);
+                break;
+        }
+
     }
 }

+ 5 - 5
src/Hotline.Share/Enums/KnowledgeBase/EKnowledgeWorkFlowStatus.cs

@@ -25,10 +25,10 @@ namespace Hotline.Share.Enums.KnowledgeBase
         [Description("已撤销")]
         Revoke = 3,
 
-        /// <summary>
-        /// 审核不通过
-        /// </summary>
-        [Description("审核不通过")]
-        Failed = 4
+        ///// <summary>
+        ///// 审核不通过
+        ///// </summary>
+        //[Description("审核不通过")]
+        //Failed = 4
     }
 }

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

@@ -333,7 +333,7 @@ namespace Hotline.FlowEngine.Workflows
 
                 workflow.Complete();
                 await _workflowRepository.UpdateAsync(workflow, cancellationToken);
-                
+
                 await _mediator.Publish(new EndWorkflowNotify(workflow), cancellationToken);
                 return;
             }
@@ -378,7 +378,7 @@ namespace Hotline.FlowEngine.Workflows
                     //(当前办理节点所处同一会签内的所有step全都办理完成并且如果开启了会签的step,必须会签结束)
                     var unComplete = steps.Any(d =>
                         d.Status != EWorkflowStepStatus.Completed ||
-                        (d.HasStartedCountersign && !d.IsStartedCountersignComplete.Value));
+                        (d.HasStartedCountersign && !(d.IsStartedCountersignComplete ?? false)));
                     nextStepCanHandle = !unComplete;
                 }
             }

+ 1 - 1
src/Hotline/KnowledgeBase/KnowledgeType.cs

@@ -41,5 +41,5 @@ public class KnowledgeType : FullStateEntity
     /// 子级
     /// </summary>
     [SqlSugar.SugarColumn(IsIgnore = true)]
-    public List<KnowledgeType> Child { get; set; }
+    public List<KnowledgeType> children { get; set; }
 }