|
@@ -450,6 +450,12 @@ public class AiHookServiceImpl implements AiHookService {
|
|
|
if(!contentEmj.contains("表情包")){
|
|
|
if(!contentEmj.isEmpty()){
|
|
|
addSaveAiMsg(1,1,contentEmj,user,fastGptChatSession.getSessionId(),role.getRoleId(),qwExternalContacts,fastGptChatSession.getUserId(),null,null,null);
|
|
|
+ //通过用户发送的对话去查询用户是否为新客,是就删除sop,否就不做处理
|
|
|
+ cleanNewUserDialogue(user, qwExternalContacts);
|
|
|
+ //用户是未回复状态
|
|
|
+ if(qwExternalContacts.getIsReply() == 0){
|
|
|
+ qwExternalContactMapper.updateQwExternalContactIsRePlyById(qwExternalContacts.getId());
|
|
|
+ }
|
|
|
}else {
|
|
|
contentEmj ="用户发送表情:"+qwContent;
|
|
|
if (type==16){
|
|
@@ -592,6 +598,34 @@ public class AiHookServiceImpl implements AiHookService {
|
|
|
return R.ok();
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 通过用户发送的对话去查询用户是否为新客,是就删除sop,否就不做处理
|
|
|
+ * @param user
|
|
|
+ * @param qwExternalContacts
|
|
|
+ */
|
|
|
+ private void cleanNewUserDialogue(QwUser user, QwExternalContact qwExternalContacts) {
|
|
|
+ String redisKey = "qwNewChat:" + user.getQwUserId() + ":" + user.getCorpId() + ":" + qwExternalContacts.getExternalUserId();
|
|
|
+ String key = (String) redisCache.getCacheObject(redisKey);
|
|
|
+ if(!StringUtil.strIsNullOrEmpty(key)){
|
|
|
+ try {
|
|
|
+ QwSopLogs qwSopLogs = new QwSopLogs();
|
|
|
+ qwSopLogs.setQwUserid(user.getQwUserId());
|
|
|
+ qwSopLogs.setCorpId(user.getCorpId());
|
|
|
+ qwSopLogs.setExternalUserId(qwExternalContacts.getExternalUserId());
|
|
|
+ qwSopLogs.setSendStatus(3L);
|
|
|
+ qwSopLogs.setSendType(4);
|
|
|
+ List<QwSopLogs> qwSopLogsList = qwSopLogsMapper.selectQwSopLogsList(qwSopLogs);
|
|
|
+ if(qwSopLogsList != null && !qwSopLogsList.isEmpty()){
|
|
|
+ qwSopLogsMapper.batchUpdateQwSopLogsNewUserById(qwSopLogsList);
|
|
|
+ }
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("停用新客对话sop失败:" + redisKey + "原因:" + e);
|
|
|
+ }finally {
|
|
|
+ redisCache.deleteObject(redisKey);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
|
|
|
/**
|