Преглед изворни кода

益寿缘-销售端-获客链接-优化通过电话号码发送短信的功能

cgp пре 3 дана
родитељ
комит
741ad5f884

+ 7 - 4
fs-company/src/main/java/com/fs/company/controller/qw/QwAcquisitionAssistantController.java

@@ -8,6 +8,7 @@ import com.fs.common.utils.ServletUtils;
 import com.fs.common.utils.StringUtils;
 import com.fs.framework.security.LoginUser;
 import com.fs.framework.service.TokenService;
+import com.fs.his.dto.SendResultDetailDTO;
 import com.fs.qw.domain.QwCompany;
 import com.fs.qw.domain.QwUser;
 import com.fs.qw.dto.acquisition.AcquisitionListResponse;
@@ -62,10 +63,12 @@ public class QwAcquisitionAssistantController extends BaseController {
     public AjaxResult sendAcquisitionMessage(@PathVariable Long id,@PathVariable String phone) {
         try {
             validatePhone( phone);
-            qwAcquisitionAssistantService.sendMessageAcquisition( phone,id);
-            return AjaxResult.success();
-        } catch (CustomException e) {
-            return AjaxResult.error(e.getMessage());
+            SendResultDetailDTO sendResultDetailDTO = qwAcquisitionAssistantService.sendMessageAcquisition(phone, id);
+            if (sendResultDetailDTO.isSuccess()){
+                return AjaxResult.success("发送成功");
+            }else {
+                return AjaxResult.error(sendResultDetailDTO.getFailReason());
+            }
         } catch (Exception e) {
             return AjaxResult.error("系统异常:" + e.getMessage());
         }

+ 1 - 1
fs-service/src/main/java/com/fs/common/service/impl/SmsServiceImpl.java

@@ -881,7 +881,7 @@ public class SmsServiceImpl implements ISmsService
             }else{
                 log.info("{}不发送短信-vo.getStatus().equals(0):{}", phone, vo.getStatus());
 
-                return R.error("发送短信失败!");
+                return R.error("发送获客链接短信失败!");
             }
         return R.ok();
     }

+ 2 - 1
fs-service/src/main/java/com/fs/qw/service/IQwAcquisitionAssistantService.java

@@ -1,6 +1,7 @@
 package com.fs.qw.service;
 
 import com.fs.common.exception.CustomException;
+import com.fs.his.dto.SendResultDetailDTO;
 import com.fs.qw.domain.QwAcquisitionAssistant;
 import com.fs.qw.dto.acquisition.AcquisitionListResponse;
 import com.fs.qw.vo.AcquisitionAssistantDetailVO;
@@ -30,7 +31,7 @@ public interface IQwAcquisitionAssistantService
      * @param qwAcquisitionId 获客链接Id
      * @return 结果
      */
-    public void sendMessageAcquisition(String phone,Long qwAcquisitionId);
+    public SendResultDetailDTO sendMessageAcquisition(String phone, Long qwAcquisitionId);
 
     /**
      * 从企微同步获客链接列表(全量拉取所有详情)

+ 17 - 3
fs-service/src/main/java/com/fs/qw/service/impl/QwAcquisitionAssistantServiceImpl.java

@@ -2,6 +2,7 @@ package com.fs.qw.service.impl;
 
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONObject;
+import com.fs.common.core.domain.R;
 import com.fs.common.core.redis.RedisCache;
 import com.fs.common.exception.CustomException;
 import com.fs.common.service.ISmsService;
@@ -10,6 +11,7 @@ import com.fs.common.utils.StringUtils;
 import com.fs.company.domain.CompanySmsTemp;
 import com.fs.company.service.ICompanySmsTempService;
 import com.fs.fastgptApi.util.HttpUtil;
+import com.fs.his.dto.SendResultDetailDTO;
 import com.fs.qw.domain.QwAcquisitionAssistant;
 import com.fs.qw.domain.QwCompany;
 import com.fs.qw.dto.acquisition.*;
@@ -256,7 +258,7 @@ public class QwAcquisitionAssistantServiceImpl implements IQwAcquisitionAssistan
     }
 
     @Override
-    public void sendMessageAcquisition(String phone,Long qwAcquisitionId) {
+    public SendResultDetailDTO sendMessageAcquisition(String phone,Long qwAcquisitionId) {
         log.info("发送获客链接短信,号码:{}", phone);
         CompanySmsTemp temp = smsTempService.selectCompanySmsTempByCode(SOP_SMS_TEMPLATE_CODE);
         if (temp == null) {
@@ -272,8 +274,20 @@ public class QwAcquisitionAssistantServiceImpl implements IQwAcquisitionAssistan
         String replaceText=LINK_DOMAIN+acquisitionAssistant.getPageParam();
         String content = originalContent
                 .replace("${sms.friendLink}", replaceText);
-        log.info("短信内容替换完成,原模板:{},替换后:{}", originalContent, content);
-        smsService.sendAcquisitionMessage(phone,content,temp);
+        try {
+            R r = smsService.sendAcquisitionMessage(phone, content, temp);
+
+            if (r != null && "200".equals(String.valueOf(r.get("code")))) {
+                return new SendResultDetailDTO(true, null, null);
+            } else {
+                String msg = r != null && r.get("msg") != null ? r.get("msg").toString() : "未知错误";
+                log.warn("短信发送失败 获客链接id={}, phone={}, msg={}", qwAcquisitionId, phone, msg);
+                return new SendResultDetailDTO(false, msg, qwAcquisitionId);
+            }
+        } catch (Exception e) {
+            log.error("发送异常 获客链接id=" + qwAcquisitionId, e);
+            return new SendResultDetailDTO(false, e.getMessage(), qwAcquisitionId);
+        }
     }
 
     @Override