|
@@ -31,7 +31,9 @@ import org.springframework.stereotype.Service;
|
|
|
import org.springframework.util.ObjectUtils;
|
|
import org.springframework.util.ObjectUtils;
|
|
|
|
|
|
|
|
import java.time.LocalDateTime;
|
|
import java.time.LocalDateTime;
|
|
|
|
|
+import java.util.HashMap;
|
|
|
import java.util.List;
|
|
import java.util.List;
|
|
|
|
|
+import java.util.Map;
|
|
|
import java.util.concurrent.TimeUnit;
|
|
import java.util.concurrent.TimeUnit;
|
|
|
import java.util.stream.Collectors;
|
|
import java.util.stream.Collectors;
|
|
|
|
|
|
|
@@ -56,6 +58,14 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
|
|
|
|
|
|
|
|
private final DistributedLockComponent distributedLockComponent;
|
|
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
|
|
@Override
|
|
|
public String customerCallback(String msgSignature, String timestamp, String nonce, String echoStr) {
|
|
public String customerCallback(String msgSignature, String timestamp, String nonce, String echoStr) {
|
|
|
WxCryptUtil wxCryptUtil = wechatCustomerComponents.getWxCryptUtil();
|
|
WxCryptUtil wxCryptUtil = wechatCustomerComponents.getWxCryptUtil();
|
|
@@ -120,7 +130,8 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
|
|
|
SysUser sysUser = sysUserService.getById(scene);
|
|
SysUser sysUser = sysUserService.getById(scene);
|
|
|
sysUser.setExternalUserId(event.getExternalUserId());
|
|
sysUser.setExternalUserId(event.getExternalUserId());
|
|
|
sysUserService.updateById(sysUser);
|
|
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);
|
|
wechatCustomerComponents.sendMsgOnEvent(customerSendMsgOnEventRequest);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -227,7 +238,8 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
|
|
|
SysUser sysUser = sysUserService.getById(scene);
|
|
SysUser sysUser = sysUserService.getById(scene);
|
|
|
sysUser.setExternalUserId(event.getExternalUserId());
|
|
sysUser.setExternalUserId(event.getExternalUserId());
|
|
|
sysUserService.updateById(sysUser);
|
|
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);
|
|
wechatCustomerComponents.sendMsgOnEvent(customerSendMsgOnEventRequest);
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -245,6 +257,21 @@ public class WechatCustomerServiceImpl implements WechatCustomerService {
|
|
|
}, 2, 2);
|
|
}, 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) {
|
|
private void restTimeSendMsg(boolean workingHours, String externalUserId, String openKfId) {
|
|
|
String message;
|
|
String message;
|
|
|
if (!workingHours) {
|
|
if (!workingHours) {
|