|
@@ -29,6 +29,7 @@ import com.fs.qw.service.IQwExternalContactService;
|
|
|
import com.fs.qw.service.IQwGroupChatService;
|
|
|
import com.fs.qw.service.IQwGroupChatUserService;
|
|
|
import com.fs.qw.service.impl.QwExternalContactServiceImpl;
|
|
|
+import com.fs.qw.vo.QwSopChatTempSetting;
|
|
|
import com.fs.qw.vo.QwSopCourseFinishTempSetting;
|
|
|
import com.fs.qw.vo.QwSopRuleTimeVO;
|
|
|
import com.fs.qw.vo.QwSopTempSetting;
|
|
@@ -1632,10 +1633,16 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
|
|
|
List<QwGroupChatUser> qwGroupChatUserList = qwGroupChatUserService.selectUserIsChat(externalContact.getExternalUserId());
|
|
|
if(!qwGroupChatUserList.isEmpty()){
|
|
|
List<SopUserLogs> sopLogsList = sopUserLogsMapper.selectSopUserLogByChatIds(PubFun.listToNewList(qwGroupChatUserList, QwGroupChatUser::getChatId));
|
|
|
- List<String> chatIdList = PubFun.listToNewList(sopLogsList, SopUserLogs::getChatId);
|
|
|
- qwGroupChatUserList = qwGroupChatUserList.stream().filter(e -> chatIdList.contains(e.getChatId())).collect(Collectors.toList());
|
|
|
-
|
|
|
-
|
|
|
+ List<QwGroupChat> qwGroupChatList = qwGroupChatService.selectQwGroupChatByChatIds(PubFun.listToNewList(sopLogsList, SopUserLogs::getChatId).toArray(new String[0]));
|
|
|
+ Map<String, QwGroupChat> groupChatMap = PubFun.listToMapByGroupObject(qwGroupChatList, QwGroupChat::getChatId);
|
|
|
+ sopLogsList.forEach(e -> {
|
|
|
+ QwGroupChat groupChat = groupChatMap.get(e.getChatId());
|
|
|
+ if(groupChat != null){
|
|
|
+ e.setChatName(groupChat.getName());
|
|
|
+ }
|
|
|
+ });
|
|
|
+ List<QwSopLogs> qwSopLogs = buildSopLogsChat(finishLog, externalContact, sopLogsList);
|
|
|
+ sopLogsToInsert.addAll(qwSopLogs);
|
|
|
}
|
|
|
|
|
|
// 构建 sopLogs 对象
|
|
@@ -1686,6 +1693,35 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ private List<QwSopLogs> buildSopLogsChat(FsCourseWatchLog finishLog, QwExternalContact externalContact, List<SopUserLogs> sopLogsList) {
|
|
|
+ return sopLogsList.stream().map(e -> {
|
|
|
+ QwSopChatTempSetting setting = new QwSopChatTempSetting();
|
|
|
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
|
+ LocalDateTime currentTime = LocalDateTime.now();
|
|
|
+ LocalDateTime newTime = currentTime.plusMinutes(3);
|
|
|
+ String newTimeString = newTime.format(formatter);
|
|
|
+
|
|
|
+ QwSopLogs sopLogs = new QwSopLogs();
|
|
|
+ sopLogs.setSendTime(newTimeString);
|
|
|
+ sopLogs.setQwUserid(e.getQwUserId());
|
|
|
+ sopLogs.setCorpId(e.getCorpId());
|
|
|
+ sopLogs.setLogType(2);
|
|
|
+ sopLogs.setSendType(6);
|
|
|
+ sopLogs.setSendStatus(3L);
|
|
|
+ sopLogs.setReceivingStatus(0L);
|
|
|
+ sopLogs.setSort(4);
|
|
|
+ sopLogs.setCompanyId(finishLog.getCompanyId());
|
|
|
+ sopLogs.setSopId(e.getSopId());
|
|
|
+ sopLogs.setExternalUserId(e.getChatId());
|
|
|
+ sopLogs.setExternalUserName(e.getChatName());
|
|
|
+ QwSopChatTempSetting.Setting setting1 = new QwSopChatTempSetting.Setting();
|
|
|
+ setting1.setValue("恭喜" + externalContact.getName() + "完成了今天的课程!");
|
|
|
+ setting.setSetting(Collections.singletonList(setting1));
|
|
|
+ sopLogs.setContentJson(JSON.toJSONString(setting));
|
|
|
+ return sopLogs;
|
|
|
+ }).collect(Collectors.toList());
|
|
|
+ }
|
|
|
+
|
|
|
/**
|
|
|
* 构建 QwSopLogs 对象
|
|
|
*/
|