Jelajahi Sumber

欢迎语补发机制

吴树波 3 hari lalu
induk
melakukan
2860bf1a1b

+ 75 - 21
fs-service/src/main/java/com/fs/qw/service/impl/QwExternalContactServiceImpl.java

@@ -57,12 +57,14 @@ import com.fs.qwApi.param.*;
 import com.fs.qwApi.service.QwApiService;
 import com.fs.repeat.vo.RepeatUploadVo;
 import com.fs.sop.domain.QwSop;
+import com.fs.sop.domain.QwSopLogs;
 import com.fs.sop.domain.SopUserLogs;
 import com.fs.sop.domain.SopUserLogsInfo;
 import com.fs.sop.mapper.QwSopLogsMapper;
 import com.fs.sop.mapper.QwSopMapper;
 import com.fs.sop.mapper.SopUserLogsInfoMapper;
 import com.fs.sop.params.*;
+import com.fs.sop.service.IQwSopLogsService;
 import com.fs.sop.service.IQwSopService;
 import com.fs.sop.service.ISopUserLogsInfoService;
 import com.fs.sop.service.ISopUserLogsService;
@@ -84,6 +86,7 @@ import org.springframework.transaction.annotation.Transactional;
 import java.io.IOException;
 import java.math.BigDecimal;
 import java.text.ParseException;
+import java.text.SimpleDateFormat;
 import java.time.*;
 import java.time.format.DateTimeFormatter;
 import java.util.*;
@@ -112,6 +115,8 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
     @Autowired
     ICompanyConfigService companyConfigService;
     @Autowired
+    IQwSopLogsService iQwSopLogsService;
+    @Autowired
     private QwUserMapper qwUserMapper;
     @Autowired
     private FsCourseWatchLogMapper  watchLogMapper;
@@ -2412,29 +2417,35 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
                             }
                         });
                     }
+                    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
                     QwResult qwResult = qwApiService.sendWelcomeMsg(sendWelcomeMsgParam, corpId);
                     logger.info("发送好友欢迎语的参数:" + sendWelcomeMsgParam+"发送好友欢迎语结果:" + qwResult);
-//                    if (qwResult.getErrcode()==41050||qwResult.getErrcode()==41051){
-//                        if (qwUser.getAppKey()!=null&& !qwUser.getAppKey().equals("")){
-//                            if (msgParamList!=null&&msgParamList.size()>0){
-//                                for (String value : msgParamList) {
-//                                    QwHookSendMsgParam sendMsgParam=new QwHookSendMsgParam();
-//                                    QwHookSendMsgParam.QwHookSendMsgData sendMsgData=new QwHookSendMsgParam.QwHookSendMsgData();
-//                                    sendMsgParam.setType(101003);
-//                                    sendMsgData.setMsg(value);
-//                                    sendMsgData.setOpenId(qwExternalContact.getExternalUserId());
-//                                    sendMsgData.setSyncKey("1");
-//                                    sendMsgParam.setData(sendMsgData);
-//                                    SendHookAIParam sendAIParam = new SendHookAIParam();
-//                                    sendAIParam.setCmd("aiReplyMsg");
-//                                    sendAIParam.setData(JSONUtil.toJsonStr(sendMsgParam));
-//                                    sendAIParam.setKey(qwUser.getAppKey());
-//                                    logger.info("补欢迎语:" + qwExternalContact.getExternalUserId()+":"+value);
-//                                    redisTemplate.opsForList().leftPush("AiMsg:"+qwUser.getAppKey(), JSON.toJSONString(sendAIParam));
-//                                }
-//                            }
-//                        }
-//                    }
+                    if (qwResult.getErrcode()==41050||qwResult.getErrcode()==41051){
+
+                        try {
+                            QwSopLogs sopLogs=new QwSopLogs();
+                            sopLogs.setQwUserid(userID);
+                            sopLogs.setExternalUserId(externalUserID);
+                            sopLogs.setExternalId(contact.getId());
+                            sopLogs.setLogType(2);
+                            sopLogs.setSendStatus(3L);
+                            sopLogs.setSendTime(sdf.format(new Date()));
+                            sopLogs.setCompanyId(qwUser.getCompanyId());
+                            sopLogs.setReceivingStatus(0L);
+                            sopLogs.setCorpId(qwUser.getCorpId());
+                            sopLogs.setSort(99999999);
+                            sopLogs.setSendType(7);
+                            sopLogs.setExternalUserName("补发欢迎语无客户昵称");
+                            //组装发送数据
+                            sopLogs.setContentJson(JSON.toJSONString(reissueFriendWelcomeSettings(sendWelcomeMsgParam)));
+                            iQwSopLogsService.insertQwSopLogs(sopLogs);
+                            logger.info("补欢迎语:" + qwExternalContact.getExternalUserId());
+                        }catch (Exception e){
+                            logger.error("补发欢迎语异常:" + qwExternalContact.getExternalUserId(),e);
+                        }
+
+
+                    }
                 }
             }
         }
@@ -2938,6 +2949,49 @@ public class QwExternalContactServiceImpl extends ServiceImpl<QwExternalContactM
             }
         }
     }
+    public QwSopCourseFinishTempSetting reissueFriendWelcomeSettings(SendWelcomeMsgParam attachments) {
+
+        QwSopCourseFinishTempSetting setting = new QwSopCourseFinishTempSetting();
+
+        List<QwSopCourseFinishTempSetting.Setting> settingList=new ArrayList<>();
+
+        QwSopCourseFinishTempSetting.Setting settingText=new QwSopCourseFinishTempSetting.Setting();
+        settingText.setContentType("1");
+        settingText.setValue(attachments.getText().getContent());
+        settingList.add(settingText);
+
+        attachments.getAttachments().forEach(item->{
+            QwSopCourseFinishTempSetting.Setting settingItem=new QwSopCourseFinishTempSetting.Setting();
+            switch (item.getMsgtype()){
+                case "image":
+                    settingItem.setContentType("2");
+                    settingItem.setImgUrl(item.getImage().getPic_url());
+                    break;
+                case "link":
+                    settingItem.setContentType("3");
+                    settingItem.setLinkTitle(item.getLink().getTitle());
+                    settingItem.setLinkUrl(item.getLink().getUrl());
+                    settingItem.setLinkImageUrl(item.getLink().getPicurl());
+                    settingItem.setLinkDescribe(item.getLink().getDesc());
+                    break;
+                case "miniprogram":
+                    settingItem.setContentType("4");
+                    settingItem.setMiniprogramAppid(item.getMiniprogram().getAppid());
+                    settingItem.setMiniprogramPage(item.getMiniprogram().getPage());
+                    settingItem.setMiniprogramPicUrl("https://cos.his.cdwjyyh.com/fs/20250331/ec2b4e73be8048afbd526124a655ad56.png");
+                    settingItem.setMiniprogramTitle(item.getMiniprogram().getTitle());
+                    break;
+                default:
+                    break;
+            }
+
+            settingList.add(settingItem);
+        });
+
+        setting.setSetting(settingList);
+
+        return setting;
+    }
 
     @Override
     public void insertQwExternalContactByExternalUserId2(String externalUserID, String userID, Long companyId, String corpId, String state, String welcomeCode) throws ParseException {