Sfoglia il codice sorgente

先发短信,在处理流程业务

tangjiang 6 mesi fa
parent
commit
ab248f3c33
1 ha cambiato i file con 35 aggiunte e 33 eliminazioni
  1. 35 33
      src/Hotline.Api/Controllers/OrderRevocationController.cs

+ 35 - 33
src/Hotline.Api/Controllers/OrderRevocationController.cs

@@ -101,6 +101,40 @@ namespace Hotline.Api.Controllers
                         var id = await _orderRevocationRepository.AddAsync(orderRevocation, HttpContext.RequestAborted);
                         if (!string.IsNullOrEmpty(id))
                         {
+                            #region 处理短信业务
+                            //如果需要发短信、处理短信业务
+                            if (dto.IsSendSms && !string.IsNullOrEmpty(order.WorkflowId))
+                            {  //查询当前工单的实际办理节点,如果在热线中心不处理,如果在部门需要更新期满时间
+                                var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withSteps: true, withTraces: true, cancellationToken: HttpContext.RequestAborted);
+                                var nowWorkflow = workflow.Steps.Where(p => p.Id == order.ActualHandleStepId && p.BusinessType >= EBusinessType.Department && p.BusinessType <= EBusinessType.DepartmentLeader).FirstOrDefault();
+                                //在部门才需要发送短信
+                                if (nowWorkflow != null && order.CenterToOrgTime.HasValue)
+                                {
+                                    //处理短信业务
+                                    var acceptSmsRoleIds = _systemSettingCacheManager.GetSetting(SettingConstants.AcceptSmsRoleIds)?.SettingValue;
+                                    //查询部门所有账号
+                                    var userlist = await _userRepository.Queryable().Where(x =>
+                                        x.OrgId == order.CurrentHandleOrgId && !string.IsNullOrEmpty(x.PhoneNo) &&
+                                        x.Roles.Any(d => acceptSmsRoleIds.Contains(d.Id))).ToListAsync();
+                                    //发送短信
+                                    foreach (var user in userlist)
+                                    {
+                                        var messageDto = new Share.Dtos.Push.MessageDto
+                                        {
+                                            PushBusiness = EPushBusiness.OrderRevocationSms,
+                                            PushPlatform = EPushPlatform.Sms,
+                                            Name = user.Name,
+                                            TemplateCode = "1016",
+                                            Params = new List<string>() { order.No },
+                                            TelNumber = user.PhoneNo,
+                                        };
+                                        await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
+                                    }
+                                }
+
+                            }
+                            #endregion
+
                             #region 处理流程业务
                             //处理流程业务
                             //如果开启了流程直接归档,如果没开启流程,开启流程到归档
@@ -148,39 +182,7 @@ namespace Hotline.Api.Controllers
                             }).ExecuteCommandAsync();
                             #endregion
 
-                            #region 处理短信业务
-                            //如果需要发短信、处理短信业务
-                            if (dto.IsSendSms && !string.IsNullOrEmpty(order.WorkflowId))
-                            {  //查询当前工单的实际办理节点,如果在热线中心不处理,如果在部门需要更新期满时间
-                                var workflow = await _workflowDomainService.GetWorkflowAsync(order.WorkflowId, withSteps: true, withTraces: true, cancellationToken: HttpContext.RequestAborted);
-                                var nowWorkflow = workflow.Steps.Where(p => p.Id == order.ActualHandleStepId && p.BusinessType >= EBusinessType.Department && p.BusinessType <= EBusinessType.DepartmentLeader).FirstOrDefault();
-                                //在部门才需要发送短信
-                                if (nowWorkflow != null && order.CenterToOrgTime.HasValue)
-                                {
-                                    //处理短信业务
-                                    var acceptSmsRoleIds = _systemSettingCacheManager.GetSetting(SettingConstants.AcceptSmsRoleIds)?.SettingValue;
-                                    //查询部门所有账号
-                                    var userlist = await _userRepository.Queryable().Where(x =>
-                                        x.OrgId == order.CurrentHandleOrgId && !string.IsNullOrEmpty(x.PhoneNo) &&
-                                        x.Roles.Any(d => acceptSmsRoleIds.Contains(d.Id))).ToListAsync();
-                                    //发送短信
-                                    foreach (var user in userlist)
-                                    {
-                                        var messageDto = new Share.Dtos.Push.MessageDto
-                                        {
-                                            PushBusiness = EPushBusiness.OrderRevocationSms,
-                                            PushPlatform = EPushPlatform.Sms,
-                                            Name = user.Name,
-                                            TemplateCode = "1016",
-                                            Params = new List<string>() { order.No },
-                                            TelNumber = user.PhoneNo,
-                                        };
-                                        await _mediator.Publish(new PushMessageNotify(messageDto), HttpContext.RequestAborted);
-                                    }
-                                }
-
-                            }
-                            #endregion
+                           
 
                             successNum++;
                         }