Browse Source

Merge branch 'test' of http://110.188.24.182:10023/Fengwo/hotline into test

tangjiang 5 months ago
parent
commit
73d3005682

+ 6 - 5
src/Hotline.Api/Controllers/OrderController.cs

@@ -75,6 +75,7 @@ using Hotline.CallCenter.Calls;
 using Hotline.CallCenter.BlackLists;
 using Hotline.Share.Mq;
 using Hotline.Share.Dtos.CallCenter;
+using NPOI.SS.Formula.Functions;
 
 namespace Hotline.Api.Controllers;
 
@@ -397,7 +398,7 @@ public class OrderController : BaseController
                 .OrderByDescending(m => m.CreationTime).FirstAsync(HttpContext.RequestAborted);
             if (publishedDeleted != null && _sessionContext.RequiredUserId != publishedDeleted.CreatorId)
             {
-                throw UserFriendlyException.SameMessage($"工单被取消发布过, 之前的发布人是 [{publishedDeleted.CreatorName}], 您不能发布;");
+                throw UserFriendlyException.SameMessage($"工单被取消发布过, 之前的发布人是 [{publishedDeleted.CreatorName}], 您不能发布;");
             }
         }
 
@@ -1896,13 +1897,13 @@ public class OrderController : BaseController
             .WhereIF(dto.IsApply == true, d => d.DelayState != EDelayState.Examining)
             .WhereIF(dto.IsApply == false, d => d.DelayState == EDelayState.Examining)
             .WhereIF(dto.DelayState != null, d => d.DelayState == dto.DelayState)
-            .WhereIF(dto.DataScope is 1, x => x.CreatorId == _sessionContext.RequiredUserId)
+            .WhereIF(dto.DataScope is 1, d => d.CreatorId == _sessionContext.RequiredUserId)
             .WhereIF(dto.QueryDelayState is EQueryDelayState.Examining, d => d.DelayState == EDelayState.Examining)
             .WhereIF(dto.QueryDelayState is EQueryDelayState.Pass, d => d.DelayState == EDelayState.Pass)
             .WhereIF(dto.QueryDelayState is EQueryDelayState.NoPass, d => d.DelayState == EDelayState.NoPass)
-            .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepName),d=>d.Workflow != null && d.Workflow.ActualHandleStepName == dto.CurrentStepName) //当前节点
-            .WhereIF(!string.IsNullOrEmpty(dto.ActualHandlerName),d=>d.Workflow != null && d.Workflow.ActualHandlerName == dto.ActualHandlerName) // 审批人
-            .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName),d=>d.Order.OrgLevelOneName == dto.OrgLevelOneName) //一级部门
+            .WhereIF(!string.IsNullOrEmpty(dto.CurrentStepName),d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandleStepName == dto.CurrentStepName) //当前节点
+            .WhereIF(!string.IsNullOrEmpty(dto.ActualHandlerName),d => !SqlFunc.IsNullOrEmpty(d.WorkflowId) && d.Workflow.ActualHandlerName == dto.ActualHandlerName) // 审批人
+            .WhereIF(!string.IsNullOrEmpty(dto.OrgLevelOneName),d => d.Order.OrgLevelOneName == dto.OrgLevelOneName) //一级部门
             .WhereIF(dto.StartCreationTime.HasValue && dto.EndCreationTime.HasValue, d=>d.CreationTime >= dto.StartCreationTime && d.CreationTime <= dto.EndCreationTime) // 申请时间
             .OrderByDescending(d => d.ApplyDelayTime)
             .ToPagedListAsync(dto.PageIndex, dto.PageSize, HttpContext.RequestAborted);

+ 2 - 0
src/Hotline.Application.Tests/Application/XingTangCallsSyncJobTest.cs

@@ -34,6 +34,7 @@ public class XingTangCallsSyncJobTest
         inDto.Tries = 0;
         inDto.CallGuid = DateTime.Now.ToString("yyyyMMddhhmmss") + "FLOW";
         inDto.Ver = string.Empty;
+        inDto.Id = new Random().Next(0, 100000);
 
         var inDto2 = _fixture.Create<XingtangCall>();
         inDto2.CallStartTime = DateTime.Now;
@@ -41,6 +42,7 @@ public class XingTangCallsSyncJobTest
         inDto2.IsSync = false;
         inDto2.Tries = 0;
         inDto2.Ver = string.Empty;
+        inDto2.Id = new Random().Next(0, 100000);
 
         await _db.Insertable(inDto).ExecuteCommandAsync();
         await _db.Insertable(inDto2).ExecuteCommandAsync();

+ 1 - 0
src/Hotline.Application.Tests/Domain/OrderVisitDomainServiceTest.cs

@@ -102,6 +102,7 @@ public class OrderVisitDomainServiceTest : TestBase
     [InlineData("一般", "Visited", "4", "满意")]
     [InlineData("不满意", "SMSUnsatisfied", "2", "不满意")]
     [InlineData("非常不满意", "SMSUnsatisfied", "2", "不满意")]
+    [InlineData("0", "Visited", "0", "默认满意")]
     public async Task UpdateSmsReply_Test(string content, string visitState, string orgResuktKey, string orgResuktValue)
     {
         SetZuoXi();

+ 1 - 1
src/Hotline.Application.Tests/appsettings.Development.json

@@ -111,7 +111,7 @@
             "UserName": "dev",
             "Password": "123456",
             "HostName": "110.188.24.182",
-            "VirtualHost": "fwt-unit-test"
+            "VirtualHost": "fwt-dev"
         }
     },
     //"SmsAccountInfo": {

+ 1 - 1
src/Hotline.Repository.SqlSugar/Orders/OrderRepository.cs

@@ -1389,7 +1389,7 @@ namespace Hotline.Repository.SqlSugar.Orders
 				.OrderByIF(dto is { SortField: "visitTime", SortRule: 1 }, x => x.OrderVisit.VisitTime, OrderByType.Desc) //回访时间降序
 				.OrderByIF(dto is { SortField: "filedTime", SortRule: 0 }, x => x.OrderVisit.Order.FiledTime, OrderByType.Asc) //办结时间升序
 				.OrderByIF(dto is { SortField: "filedTime", SortRule: 1 }, x => x.OrderVisit.Order.FiledTime, OrderByType.Desc) //办结时间降序
-				.Where(x=> SqlFunc.JsonField(x.OrgProcessingResults, "Value") != "不满意" || SqlFunc.JsonField(x.OrgProcessingResults, "Value") != "非常不满意" || SqlFunc.JsonField(x.OrgProcessingResults, "Value") != "未做评价")
+				.Where(x=> SqlFunc.JsonField(x.OrgProcessingResults, "Value") != "不满意" && SqlFunc.JsonField(x.OrgProcessingResults, "Value") != "非常不满意" && SqlFunc.JsonField(x.OrgProcessingResults, "Value") != "未做评价")
 				.Where(x=>x.VisitOrgCode.StartsWith(_sessionContext.RequiredOrgId))
 				.Select(x => new OrgVisitDetailListResp()
 				{

+ 19 - 1
src/Hotline.Share/Enums/CallCenter/ETelStatus.cs

@@ -43,4 +43,22 @@ public enum ETelStatus
     [Description("呼叫等待中")]
     Wait = 60,
 
-}
+}
+
+/*
+- '0': '签出'
+- '100': '签入'
+- '200': '空闲'
+- '201': '小休'
+- '202': '繁忙'
+- '300': '呼入振铃'
+- '301': '呼入通话'
+- '302': '呼出振铃'
+- '303': '呼出通话'
+- '310': '通话保持'
+- '320': '会议'
+- '330': '咨询'
+- '400': '整理'
+- '900': '注册'
+- '901': '注销'
+ */

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

@@ -3385,7 +3385,8 @@ namespace Hotline.FlowEngine.Workflows
                 step.StepExpiredTime = expiredTime;
             //step.TimeLimit = GetTimeLimit("");
             step.IsOrigin = isOrigin;
-            step.Name = stepName;
+            if (!string.IsNullOrEmpty(stepName))
+                step.Name = stepName;
 
             //新增需求: 部门汇总节点由部门办理//todo 待确认中心由部门处理还是由之前办理人办理 待重构
             if (step.StepType == EStepType.Summary && step.BusinessType == EBusinessType.Department)

+ 4 - 0
src/Hotline/FlowEngine/Workflows/WorkflowTrace.cs

@@ -8,6 +8,10 @@ namespace Hotline.FlowEngine.Workflows;
 /// 流转记录
 /// </summary>
 [SugarIndex("index_trace_externalId", nameof(WorkflowTrace.ExternalId), OrderByType.Asc)]
+[SugarIndex("index_trace_flowAssignType", nameof(WorkflowTrace.FlowAssignType), OrderByType.Asc)]
+[SugarIndex("index_trace_handlerId", nameof(WorkflowTrace.HandlerId), OrderByType.Asc)]
+[SugarIndex("index_trace_handlerOrgId", nameof(WorkflowTrace.HandlerOrgId), OrderByType.Asc)]
+[SugarIndex("index_trace_roleId", nameof(WorkflowTrace.RoleId), OrderByType.Asc)]
 public class WorkflowTrace : StepBasicEntity
 {
     /// <summary>

+ 3 - 2
src/Hotline/Orders/OrderVisitDomainService.cs

@@ -74,7 +74,7 @@ public class OrderVisitDomainService : IOrderVisitDomainService, IScopeDependenc
             { "3", $"一般|{EVisitState.Visited}|{ESeatEvaluate.Normal}|{EVoiceEvaluate.Normal}|4"},
             { "4", $"不满意|{EVisitState.SMSUnsatisfied}|{ESeatEvaluate.NoSatisfied}|{EVoiceEvaluate.NoSatisfied}|2"},
             { "5", $"非常不满意|{EVisitState.SMSUnsatisfied}|{ESeatEvaluate.NoSatisfied}|{EVoiceEvaluate.VeryNoSatisfied}|2"},
-            { "默认满意", $"默认满意|{EVisitState.Visited}|{ESeatEvaluate.DefaultSatisfied}|{EVoiceEvaluate.DefaultSatisfied}|0"},
+            { "0", $"默认满意|{EVisitState.Visited}|{ESeatEvaluate.DefaultSatisfied}|{EVoiceEvaluate.DefaultSatisfied}|0"},
         };
         replyTxt = replyTxt.Trim();
         if (ReplyToEnumMap.TryGetValue(replyTxt, out var result) == false)
@@ -120,7 +120,8 @@ public class OrderVisitDomainService : IOrderVisitDomainService, IScopeDependenc
             .FirstAsync()
             .Then(async orderVisit =>
             {
-                await UpdateSmsReplyAsync(orderVisit, "默认满意");
+                // 默认满意
+                await UpdateSmsReplyAsync(orderVisit, "0");
             });
     }