Prechádzať zdrojové kódy

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

田爽 5 mesiacov pred
rodič
commit
93124d3284

+ 4 - 2
src/Hotline.Api/Controllers/AiController.cs

@@ -679,13 +679,15 @@ namespace Hotline.Api.Controllers
                                     {
                                         //x.OrgNoSatisfiedReason = new List<Kv>() { new Kv() { Key = "7", Value = "未回复" } };
                                         //TODO 记录不满意原因到内容中供人工回访甄别选择不满意原因
-                                        if (dto.CallTimes.Value>=1)
+                                        if (dto.CallTimes.Value>=1 && orgProcessingResults is null)
                                         {
+                                            orgProcessingResults = new Kv() { Key = "0", Value = "默认满意" };
                                             aiOrderVisitDetail.OrderVisit.VisitState = EVisitState.Visited;
-                                            aiOrderVisitDetail.OrderVisit.NowEvaluate = new Kv() { Key = "6", Value = "未接通" };
+                                            aiOrderVisitDetail.OrderVisit.NowEvaluate = orgProcessingResults;
                                             x.VisitContent = "智能回访两次未接默认已回访";
                                             x.Volved = true;
                                             x.IsContact = true;
+                                            x.OrgProcessingResults = orgProcessingResults;
                                             seatDetail.ForEach(x =>
                                             {
                                                 x.VoiceEvaluate = Share.Enums.Order.EVoiceEvaluate.Satisfied;

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

@@ -978,7 +978,8 @@ public class OrderController : BaseController
         }
 
         var seat = orderVisit.OrderVisitDetails.FirstOrDefault(m => m.VisitTarget == EVisitTarget.Seat);
-        if (orderVisit.VisitState == EVisitState.WaitForVisit)
+         //if (orderVisit.VisitState == EVisitState.WaitForVisit)
+        if(seat.VoiceEvaluate == null)
         {
             if (!_appOptions.Value.IsYiBin)
             {
@@ -986,6 +987,10 @@ public class OrderController : BaseController
                 var callNative = await _callApplication.GetReplyVoiceOrDefaultByOrderIdAsync(orderVisit.OrderId);
                 seat.VoiceEvaluate = callNative;
             }
+           
+        }
+        if (seat.SeatEvaluate is null)
+        {
             if (_appOptions.Value.IsYiBin)
             {
                 var seatEvaluateTemp = await _callApplication.GetSeatDefaultByOrderIdAsync(orderVisit.OrderId);

+ 40 - 0
src/Hotline.Api/Controllers/TestController.cs

@@ -61,6 +61,7 @@ using XF.Domain.Filters;
 using XF.Domain.Locks;
 using XF.Domain.Queues;
 using XF.Domain.Repository;
+using static System.Runtime.InteropServices.JavaScript.JSType;
 using Order = Hotline.Orders.Order;
 
 namespace Hotline.Api.Controllers;
@@ -289,6 +290,45 @@ ICallApplication callApplication,
         return OpenResponse.Ok(DateTime.Now.ToString("F"));
     }
 
+    
+    /// <summary>
+    /// 通过工单号重推回访到省上
+    /// </summary>
+    /// <param name="Nos"></param>
+    /// <returns></returns>
+    [HttpPost("publish-visit-province-no")]
+    [AllowAnonymous]
+    public async Task PublishVisitToProvinceByNo(string Nos)
+    {
+        string[] no = Nos.Split(',');
+        var list = await _orderRepository.Queryable()
+             .Includes(x => x.OrderVisits.Where(q => q.VisitState == EVisitState.Visited).ToList(),d=>d.OrderVisitDetails)
+             .Where(x => no.Contains(x.No) && x.Status == EOrderStatus.Visited).ToListAsync();
+
+        foreach (var item in list)
+        {
+            var visit = item.OrderVisits.FirstOrDefault();
+            if (visit != null)
+            {
+                //推省上
+                await _capPublisher.PublishAsync(Hotline.Share.Mq.EventNames.HotlineOrderVisited,
+                new PublishVisitDto()
+                {
+                    Order = _mapper.Map<OrderDto>(item),
+                    No = visit.No,
+                    VisitType = visit.VisitType,
+                    VisitName = visit.CreatorName,
+                    VisitTime = visit.VisitTime,
+                    VisitRemark = "满意",
+                    AreaCode = item.AreaCode!,
+                    SubjectResultSatifyCode = "4",
+                    FirstSatisfactionCode = "4",
+                    ClientGuid = ""
+                }, cancellationToken: HttpContext.RequestAborted);
+            }
+        }
+    }
+
 
     /// <summary>
     /// 推送回访到省上

+ 44 - 0
src/Hotline/Permissions/EPermission.cs

@@ -86,6 +86,16 @@ namespace Hotline.Permissions
         /// </summary>
         [Display(GroupName = "工单坐席待办", Name = "交办单导出", Description = "交办单导出")]
         ToDoOrderJbdExport = 100202,
+        /// <summary>
+        /// 批量归档
+        /// </summary>
+        [Display(GroupName ="工单待办",Name ="批量归档",Description = "批量归档")]
+        BatchFiled = 100203,
+        /// <summary>
+        /// 分配工单
+        /// </summary>
+        [Display(GroupName = "工单待办",Name ="分配工单",Description ="分配工单")]
+        AllocationOrder = 100204,
         #endregion
 
         #region 工单受理
@@ -284,6 +294,11 @@ namespace Hotline.Permissions
         /// </summary>
         [Display(GroupName = "业务管理", Name = "延期退回", Description = "延期退回")]
         DelaiedOrderReturn = 200206,
+        /// <summary>
+        /// 数据范围
+        /// </summary>
+        [Display(GroupName ="业务管理",Name ="数据范围",Description ="数据范围")]
+        DelayDataRange = 200207,
         #endregion
         #endregion
 
@@ -634,6 +649,11 @@ namespace Hotline.Permissions
         /// </summary>
         [Display(GroupName ="回访待办",Name ="重办",Description ="重办")]
         OrderVisitRedo = 200919,
+        /// <summary>
+        /// 设为未接通
+        /// </summary>
+        [Display(GroupName ="回访待办",Name ="设为未接通",Description ="设为未接通")]
+        SetNotConnected = 200920,
         #endregion
 
         #region 回访列表
@@ -1121,6 +1141,11 @@ namespace Hotline.Permissions
         /// </summary>
         [Display(GroupName ="用户管理",Name ="重置密码",Description ="重置密码")]
         ResetPwd = 500205,
+        /// <summary>
+        /// 解锁
+        /// </summary>
+        [Display(GroupName ="用户管理",Name ="解锁",Description ="解锁")]
+        Unlock = 500206,
         #endregion
 
         #region 角色管理
@@ -2167,6 +2192,19 @@ namespace Hotline.Permissions
 
         #endregion
 
+        #region 清理缓存
+        /// <summary>
+        /// 清理缓存
+        /// </summary>
+        [Display(GroupName ="辅助功能",Name ="清理缓存",Description ="清理缓存")]
+        CleanCache = 701700,
+        /// <summary>
+        /// 删除缓存
+        /// </summary>
+        [Display(GroupName ="辅助工单",Name ="删除缓存",Description ="删除缓存")]
+        DelCache = 701701,
+
+        #endregion
         #endregion
 
         #region 话务管理(80,00,00)
@@ -2808,6 +2846,12 @@ namespace Hotline.Permissions
         /// </summary>
         [Display(GroupName ="数据共享平台",Name ="其他平台数据接收",Description ="其他平台数据接收")]
         OtherPlatDataAccept = 131500,
+        /// <summary>
+        /// 未推送办理结果
+        /// </summary>
+        [Display(GroupName ="数据共享平台",Name ="未推送办理结果",Description ="未推送办理结果")]
+        NotPushedFileResult = 131600,
+
         #endregion
 
         #region 省平台对接(14,00,00)