Procházet zdrojové kódy

fix 转接会话创建新的会话

zoujiajian před 1 rokem
rodič
revize
df9824710f

+ 10 - 0
netflix-service/src/main/java/com/cyksj/service/corp/kf/impl/CorpKfServiceImpl.java

@@ -3,6 +3,7 @@ package com.cyksj.service.corp.kf.impl;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.date.DateTime;
 import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.RandomUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.toolkit.StringUtils;
 import com.baomidou.mybatisplus.core.toolkit.Wrappers;
@@ -304,6 +305,15 @@ public class CorpKfServiceImpl implements CorpKfService {
 			//调用微信客服接口 变更会话状态
 			try {
 				wxCorpOps.transCorpKfSessionToServicer(corpId, corpKfServicerSessionRecord.getOpenKfId(), toFollowId, corpKfServicerSessionRecord.getExternalUserid(), 3);
+				CorpKfServicerSessionRecord newRecord = new CorpKfServicerSessionRecord();
+				newRecord.setFromUserid(followId);
+				newRecord.setChangeType(2);
+				newRecord.setServicerUserid(toFollowId);
+				newRecord.setExternalUserid(corpKfServicerSessionRecord.getExternalUserid());
+				newRecord.setStartTime(corpKfServicerSessionRecord.getStartTime());
+				newRecord.setMsgid(RandomUtil.randomString(16));
+				newRecord.setServiceState(0);
+				corpKfServicerSessionRecordMapper.insert(newRecord);
 			} catch (Exception e) {
 				String errorText = StringUtil.getErrorText(e);
 				if (errorText.contains("conversation end")) {