xuqiang hai 9 meses
pai
achega
d3832fe927

+ 4 - 3
src/main/java/com/ydtech/modules/admin/components/wechat/customer/request/CustomerSendMsgOnEventRequest.java

@@ -57,14 +57,15 @@ public class CustomerSendMsgOnEventRequest extends CustomerBaseRequest {
 
 
     public static CustomerSendMsgOnEventRequest sendMsgOnEvent(SysUser sysUser, String code, boolean workingHours,String partnerVersion) {
-        String messages = "你好!" + sysUser.getName() + "(" + sysUser.getId() + ")" + "很高兴为你服务";
+        String messages = "你好!" + sysUser.getName() + "(" + sysUser.getId() ;
         if (StringUtils.isNotEmpty(partnerVersion)){
             messages += "-" + partnerVersion;
         }
-        messages += ")" + "很高兴为你服务";
         // 发送欢迎信息
         if (!workingHours) {
-            messages = "您好" + sysUser.getName() + "(" + sysUser.getId() + ")" + "~当前客服暂时不在服务时间,服务时间为:周一至周五:8:30-12:00,14:00-18:30,周六至周日:9:00-12:00,14:00-18:00,当前未到服务时间,请您在服务时段内咨询~";
+            messages += ")" + "~当前客服暂时不在服务时间,服务时间为:周一至周五:8:30-12:00,14:00-18:30,周六至周日:9:00-12:00,14:00-18:00,当前未到服务时间,请您在服务时段内咨询~";
+        }else {
+            messages += ")" + "很高兴为你服务";
         }
         CustomerSendMsgOnEventRequest customerSendMsgOnEventRequest = new CustomerSendMsgOnEventRequest();
         customerSendMsgOnEventRequest.setMsgtype("text");

+ 29 - 2
src/main/java/com/ydtech/modules/admin/service/impl/WechatCustomerServiceImpl.java

@@ -31,7 +31,9 @@ import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
 import java.time.LocalDateTime;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 import java.util.concurrent.TimeUnit;
 import java.util.stream.Collectors;
 
@@ -56,6 +58,14 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
 
     private final DistributedLockComponent distributedLockComponent;
 
+
+    private static final Map<String, String> PARTNER_VERSION_MAP = new HashMap<>();
+    static {
+        PARTNER_VERSION_MAP.put("1", "新");
+        PARTNER_VERSION_MAP.put("2", "旧");
+        PARTNER_VERSION_MAP.put("3", "");
+    }
+
     @Override
     public String customerCallback(String msgSignature, String timestamp, String nonce, String echoStr) {
         WxCryptUtil wxCryptUtil = wechatCustomerComponents.getWxCryptUtil();
@@ -120,7 +130,8 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
                     SysUser sysUser = sysUserService.getById(scene);
                     sysUser.setExternalUserId(event.getExternalUserId());
                     sysUserService.updateById(sysUser);
-                    CustomerSendMsgOnEventRequest customerSendMsgOnEventRequest = CustomerSendMsgOnEventRequest.sendMsgOnEvent(sysUser, event.getWelcomeCode(), true);
+                    String partnerVersion = getPartnerVersion(sysUser.getId());
+                    CustomerSendMsgOnEventRequest customerSendMsgOnEventRequest = CustomerSendMsgOnEventRequest.sendMsgOnEvent(sysUser, event.getWelcomeCode(), true,partnerVersion);
                     wechatCustomerComponents.sendMsgOnEvent(customerSendMsgOnEventRequest);
                 }
 
@@ -227,7 +238,8 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
                     SysUser sysUser = sysUserService.getById(scene);
                     sysUser.setExternalUserId(event.getExternalUserId());
                     sysUserService.updateById(sysUser);
-                    CustomerSendMsgOnEventRequest customerSendMsgOnEventRequest = CustomerSendMsgOnEventRequest.sendMsgOnEvent(sysUser, event.getWelcomeCode(), workingHours);
+                    String partnerVersion = getPartnerVersion(sysUser.getId());
+                    CustomerSendMsgOnEventRequest customerSendMsgOnEventRequest = CustomerSendMsgOnEventRequest.sendMsgOnEvent(sysUser, event.getWelcomeCode(), workingHours,partnerVersion);
                     wechatCustomerComponents.sendMsgOnEvent(customerSendMsgOnEventRequest);
                 }
 
@@ -245,6 +257,21 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
         }, 2, 2);
     }
 
+    public String getPartnerVersion(String userId){
+        try {
+            String ver = sysUserService.getPartnerVersion(userId);
+            if (StringUtils.isBlank(ver)) {
+                return "";
+            }
+            return PARTNER_VERSION_MAP.getOrDefault(ver, "");
+        } catch (Exception e) {
+            log.error("用户[{}]获取合伙人版本异常: {}", userId, e.getMessage(), e);
+            return "";
+        }
+    }
+
+
+
     private void restTimeSendMsg(boolean workingHours, String externalUserId, String openKfId) {
         String message;
         if (!workingHours) {