|
|
@@ -1,6 +1,7 @@
|
|
|
package com.fs.qw.service;
|
|
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
|
+import com.fs.common.utils.StringUtils;
|
|
|
import com.fs.common.utils.date.DateUtil;
|
|
|
import com.fs.company.service.ICompanyMiniappService;
|
|
|
import com.fs.course.config.CourseConfig;
|
|
|
@@ -12,9 +13,11 @@ import com.fs.course.mapper.FsCourseWatchLogMapper;
|
|
|
import com.fs.fastGpt.domain.FastGptChatReplaceWords;
|
|
|
import com.fs.fastGpt.mapper.FastGptChatReplaceWordsMapper;
|
|
|
import com.fs.qw.domain.QwCompany;
|
|
|
+import com.fs.qw.domain.QwExternalContact;
|
|
|
import com.fs.qw.domain.QwExternalContactInfo;
|
|
|
import com.fs.qw.domain.QwUser;
|
|
|
import com.fs.qw.mapper.QwExternalContactInfoMapper;
|
|
|
+import com.fs.qw.mapper.QwExternalContactMapper;
|
|
|
import com.fs.qw.vo.QwSopRuleTimeVO;
|
|
|
import com.fs.qw.vo.QwSopTempSetting;
|
|
|
import com.fs.sop.domain.QwSopLogs;
|
|
|
@@ -67,6 +70,8 @@ public class AsyncQwAiChatSopService {
|
|
|
|
|
|
@Autowired
|
|
|
private FsCourseWatchLogMapper fsCourseWatchLogMapper;
|
|
|
+ @Autowired
|
|
|
+ private QwExternalContactMapper qwExternalContactMapper;
|
|
|
|
|
|
@Autowired
|
|
|
private QwSopLogsMapper qwSopLogsMapper;
|
|
|
@@ -92,6 +97,13 @@ public class AsyncQwAiChatSopService {
|
|
|
QwUser qwUser, String externalUserID, String externalContactName,
|
|
|
Long externalId, Long fsUserId, LocalDate currentDate, LocalTime localTime) {
|
|
|
|
|
|
+
|
|
|
+ QwExternalContact contact;
|
|
|
+ if(externalId != null){
|
|
|
+ contact = qwExternalContactMapper.selectById(externalId);
|
|
|
+ } else {
|
|
|
+ contact = null;
|
|
|
+ }
|
|
|
//新客对话任务
|
|
|
List<QwSopRuleTimeVO> qwSopAiRuleTimeVOS = qwSopMapper.selectQwAiSopAutoByTagsByForeach(qwSopAutoByTags);
|
|
|
List<FastGptChatReplaceWords> words = fastGptChatReplaceWordsMapper.selectAllFastGptChatReplaceWords();
|
|
|
@@ -120,7 +132,6 @@ public class AsyncQwAiChatSopService {
|
|
|
List<QwSopTempContent> tempContentList = qwSopTempContentMapper.selectQwSopTempContentByTempIdAndRules(item.getTempId());
|
|
|
|
|
|
tempContentList.forEach(content->{
|
|
|
-
|
|
|
QwSopLogs sopLogs = new QwSopLogs();
|
|
|
sopLogs.setQwUserKey(qwUser.getId());
|
|
|
sopLogs.setQwUserid(userID);
|
|
|
@@ -162,8 +173,13 @@ public class AsyncQwAiChatSopService {
|
|
|
case "3":
|
|
|
|
|
|
if ("1".equals(setting.getContentType())) {
|
|
|
+ String defaultName = "同学";
|
|
|
+ if(contact != null && StringUtils.isNotEmpty(contact.getName()) && !"待同步客户".equals(contact.getName())){
|
|
|
+ defaultName = contact.getName();
|
|
|
+ }
|
|
|
setting.setValue(setting.getValue()
|
|
|
- .replaceAll("#销售称呼#", StringUtil.strIsNullOrEmpty(qwUser.getWelcomeText()) ? "" : qwUser.getWelcomeText()));
|
|
|
+ .replaceAll("#销售称呼#", StringUtil.strIsNullOrEmpty(qwUser.getWelcomeText()) ? "" : qwUser.getWelcomeText())
|
|
|
+ .replaceAll("#客户称呼#", contact == null || StringUtil.strIsNullOrEmpty(contact.getStageStatus())|| "0".equals(contact.getStageStatus())?defaultName:contact.getStageStatus()));
|
|
|
}
|
|
|
|
|
|
|