| 
														
															@@ -100,7 +100,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private SopUserLogsMapper sopUserLogsMapper; 
														 | 
														
														 | 
														
															     private SopUserLogsMapper sopUserLogsMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private QwSopTagMapper qwSopTagMapper ; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private QwSopTagMapper qwSopTagMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private QwSopMapper sopMapper; 
														 | 
														
														 | 
														
															     private QwSopMapper sopMapper; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Autowired 
														 | 
														
														 | 
														
															     @Autowired 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -190,7 +190,6 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private void startConsumers() { 
														 | 
														
														 | 
														
															     private void startConsumers() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         qwSopLogsExecutor = Executors.newSingleThreadExecutor(r -> { 
														 | 
														
														 | 
														
															         qwSopLogsExecutor = Executors.newSingleThreadExecutor(r -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             Thread t = new Thread(r, "QwSopLogsConsumer"); 
														 | 
														
														 | 
														
															             Thread t = new Thread(r, "QwSopLogsConsumer"); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -224,7 +223,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     // Scheduled tasks to refresh configurations and domain names periodically 
														 | 
														
														 | 
														
															     // Scheduled tasks to refresh configurations and domain names periodically 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Scheduled(fixedDelay = 60000) // 每60秒刷新一次 
														 | 
														
														 | 
														
															     @Scheduled(fixedDelay = 60000) // 每60秒刷新一次 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public void refreshCourseConfig() { 
														 | 
														
														 | 
														
															     public void refreshCourseConfig() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        synchronized(configLock) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        synchronized (configLock) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             try { 
														 | 
														
														 | 
														
															             try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 String json = configService.selectConfigByKey("course.config"); 
														 | 
														
														 | 
														
															                 String json = configService.selectConfigByKey("course.config"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 CourseConfig newConfig = JSON.parseObject(json, CourseConfig.class); 
														 | 
														
														 | 
														
															                 CourseConfig newConfig = JSON.parseObject(json, CourseConfig.class); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -241,7 +240,6 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @PreDestroy 
														 | 
														
														 | 
														
															     @PreDestroy 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public void shutdownConsumers() { 
														 | 
														
														 | 
														
															     public void shutdownConsumers() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         running = false; 
														 | 
														
														 | 
														
															         running = false; 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -272,7 +270,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         log.info("====== 开始选择和处理 SOP 用户日志 ======"); 
														 | 
														
														 | 
														
															         log.info("====== 开始选择和处理 SOP 用户日志 ======"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         CourseConfig config; 
														 | 
														
														 | 
														
															         CourseConfig config; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        synchronized(configLock) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        synchronized (configLock) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             config = cachedCourseConfig; 
														 | 
														
														 | 
														
															             config = cachedCourseConfig; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<SopUserLogsVo> sopUserLogsVos = sopUserLogsMapper.selectSopUserLogsListByTime(); 
														 | 
														
														 | 
														
															         List<SopUserLogsVo> sopUserLogsVos = sopUserLogsMapper.selectSopUserLogsListByTime(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -282,7 +280,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String[] array = sopUserLogsVos.stream().map(SopUserLogsVo::getChatId).filter(StringUtils::isNotEmpty).toArray(String[]::new); 
														 | 
														
														 | 
														
															         String[] array = sopUserLogsVos.stream().map(SopUserLogsVo::getChatId).filter(StringUtils::isNotEmpty).toArray(String[]::new); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Map<String, QwGroupChat> groupChatMap = new HashMap<>(); 
														 | 
														
														 | 
														
															         Map<String, QwGroupChat> groupChatMap = new HashMap<>(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(array.length > 0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (array.length > 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<QwGroupChat> qwGroupChatList = qwGroupChatService.selectQwGroupChatByChatIds(array); 
														 | 
														
														 | 
														
															             List<QwGroupChat> qwGroupChatList = qwGroupChatService.selectQwGroupChatByChatIds(array); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<QwGroupChatUser> qwGroupChatUserList = qwGroupChatUserService.selectQwGroupChatUserByChatIds(array); 
														 | 
														
														 | 
														
															             List<QwGroupChatUser> qwGroupChatUserList = qwGroupChatUserService.selectQwGroupChatUserByChatIds(array); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             Map<String, List<QwGroupChatUser>> chatUserMap = PubFun.listToMapByGroupList(qwGroupChatUserList, QwGroupChatUser::getChatId); 
														 | 
														
														 | 
														
															             Map<String, List<QwGroupChatUser>> chatUserMap = PubFun.listToMapByGroupList(qwGroupChatUserList, QwGroupChatUser::getChatId); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -333,7 +331,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         for (Map.Entry<String, List<SopUserLogsVo>> entry : sopLogsGroupedById.entrySet()) { 
														 | 
														
														 | 
														
															         for (Map.Entry<String, List<SopUserLogsVo>> entry : sopLogsGroupedById.entrySet()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             String sopId = entry.getKey(); 
														 | 
														
														 | 
														
															             String sopId = entry.getKey(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<SopUserLogsVo> userLogsVos = entry.getValue(); 
														 | 
														
														 | 
														
															             List<SopUserLogsVo> userLogsVos = entry.getValue(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            processSopGroupAsync(sopId, userLogsVos, sopGroupLatch,currentTime, groupChatMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            processSopGroupAsync(sopId, userLogsVos, sopGroupLatch, currentTime, groupChatMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 等待所有 SOP 分组处理完成 
														 | 
														
														 | 
														
															         // 等待所有 SOP 分组处理完成 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -349,13 +347,13 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Async("sopTaskExecutor") 
														 | 
														
														 | 
														
															     @Async("sopTaskExecutor") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Retryable( 
														 | 
														
														 | 
														
															     @Retryable( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            value = { Exception.class }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            value = {Exception.class}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             maxAttempts = 3, 
														 | 
														
														 | 
														
															             maxAttempts = 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
														
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public void processSopGroupAsync(String sopId, List<SopUserLogsVo> userLogsVos, CountDownLatch latch , LocalDateTime currentTime, Map<String, QwGroupChat> groupChatMap) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public void processSopGroupAsync(String sopId, List<SopUserLogsVo> userLogsVos, CountDownLatch latch, LocalDateTime currentTime, Map<String, QwGroupChat> groupChatMap) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         try { 
														 | 
														
														 | 
														
															         try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            processSopGroup(sopId, userLogsVos,currentTime, groupChatMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            processSopGroup(sopId, userLogsVos, currentTime, groupChatMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } catch (Exception e) { 
														 | 
														
														 | 
														
															         } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             log.error("处理 SOP ID {} 时发生异常: {}", sopId, e.getMessage(), e); 
														 | 
														
														 | 
														
															             log.error("处理 SOP ID {} 时发生异常: {}", sopId, e.getMessage(), e); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } finally { 
														 | 
														
														 | 
														
															         } finally { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -413,13 +411,13 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Async("sopTaskExecutor") 
														 | 
														
														 | 
														
															     @Async("sopTaskExecutor") 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Retryable( 
														 | 
														
														 | 
														
															     @Retryable( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            value = { Exception.class }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            value = {Exception.class}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             maxAttempts = 3, 
														 | 
														
														 | 
														
															             maxAttempts = 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
														
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public void processUserLogAsync(SopUserLogsVo logVo, QwSopRuleTimeVO ruleTimeVO, List<QwSopTempRules> tempSettings, CountDownLatch latch, LocalDateTime currentTime, Map<String, QwGroupChat> groupChatMap) { 
														 | 
														
														 | 
														
															     public void processUserLogAsync(SopUserLogsVo logVo, QwSopRuleTimeVO ruleTimeVO, List<QwSopTempRules> tempSettings, CountDownLatch latch, LocalDateTime currentTime, Map<String, QwGroupChat> groupChatMap) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         try { 
														 | 
														
														 | 
														
															         try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            processUserLog(logVo, ruleTimeVO, tempSettings,currentTime, groupChatMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            processUserLog(logVo, ruleTimeVO, tempSettings, currentTime, groupChatMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } catch (Exception e) { 
														 | 
														
														 | 
														
															         } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             log.error("处理用户日志 {} 时发生异常: {}", logVo.getId(), e.getMessage(), e); 
														 | 
														
														 | 
														
															             log.error("处理用户日志 {} 时发生异常: {}", logVo.getId(), e.getMessage(), e); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } finally { 
														 | 
														
														 | 
														
															         } finally { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -448,9 +446,9 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 return; 
														 | 
														
														 | 
														
															                 return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             long day = daysBetween; 
														 | 
														
														 | 
														
															             long day = daysBetween; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if(day == 0 && ruleTimeVO.getIsAutoSop() == 1){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (day == 0 && ruleTimeVO.getIsAutoSop() == 1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 day = 1; 
														 | 
														
														 | 
														
															                 day = 1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 day++; 
														 | 
														
														 | 
														
															                 day++; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             List<QwSopTempSetting.Content> contents = getDay(tempSettings, day); 
														 | 
														
														 | 
														
															             List<QwSopTempSetting.Content> contents = getDay(tempSettings, day); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -470,9 +468,9 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             //获取企业微信员工的称呼//从redis里或者从库里取 
														 | 
														
														 | 
														
															             //获取企业微信员工的称呼//从redis里或者从库里取 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            QwUser qwUserByRedis = qwExternalContactService.getQwUserByRedis(logVo.getCorpId(),logVo.getQwUserId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if (qwUserByRedis==null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                log.error("无企微员工信息 {} 跳过处理。:{}", logVo.getUserId(),logVo.getCorpId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            QwUser qwUserByRedis = qwExternalContactService.getQwUserByRedis(logVo.getCorpId(), logVo.getQwUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (qwUserByRedis == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                log.error("无企微员工信息 {} 跳过处理。:{}", logVo.getUserId(), logVo.getCorpId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 return; 
														 | 
														
														 | 
														
															                 return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -488,9 +486,9 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 daysBetween = ChronoUnit.DAYS.between(startDate, currentDate); 
														 | 
														
														 | 
														
															                 daysBetween = ChronoUnit.DAYS.between(startDate, currentDate); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 intervalDay = (int) (daysBetween / tempGap); 
														 | 
														
														 | 
														
															                 intervalDay = (int) (daysBetween / tempGap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 day = daysBetween; 
														 | 
														
														 | 
														
															                 day = daysBetween; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(day == 0 && ruleTimeVO.getIsAutoSop() == 1){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (day == 0 && ruleTimeVO.getIsAutoSop() == 1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     day = 1; 
														 | 
														
														 | 
														
															                     day = 1; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     day++; 
														 | 
														
														 | 
														
															                     day++; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -505,7 +503,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 只有整倍数才做事 
														 | 
														
														 | 
														
															             // 只有整倍数才做事 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             if (daysBetween % tempGap != 0) { 
														 | 
														
														 | 
														
															             if (daysBetween % tempGap != 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                log.error("天数差 {} 不是 tempGap {} 的整数倍,跳过操作,SopId {} ", daysBetween, tempGap,logVo.getSopId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                log.error("天数差 {} 不是 tempGap {} 的整数倍,跳过操作,SopId {} ", daysBetween, tempGap, logVo.getSopId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 return; 
														 | 
														
														 | 
														
															                 return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -544,16 +542,16 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                        userLogsInfo.setSopId(logVo.getSopId()); 
														 | 
														
														 | 
														
															 //                        userLogsInfo.setSopId(logVo.getSopId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                        userLogsInfo.setUserLogsId(logVo.getId()); 
														 | 
														
														 | 
														
															 //                        userLogsInfo.setUserLogsId(logVo.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        SopUserLogsInfoParam logsInfoParam=new SopUserLogsInfoParam(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        SopUserLogsInfoParam logsInfoParam = new SopUserLogsInfoParam(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         logsInfoParam.setSopId(logVo.getSopId()); 
														 | 
														
														 | 
														
															                         logsInfoParam.setSopId(logVo.getSopId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         logsInfoParam.setUserLogsId(logVo.getId()); 
														 | 
														
														 | 
														
															                         logsInfoParam.setUserLogsId(logVo.getId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         logsInfoParam.setIsRegister(logVo.getIsRegister()); 
														 | 
														
														 | 
														
															                         logsInfoParam.setIsRegister(logVo.getIsRegister()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         List<SopUserLogsInfo> sopUserLogsInfos = sopUserLogsInfoMapper.selectSopUserLogsInfoListByIsRegister(logsInfoParam); 
														 | 
														
														 | 
														
															                         List<SopUserLogsInfo> sopUserLogsInfos = sopUserLogsInfoMapper.selectSopUserLogsInfoListByIsRegister(logsInfoParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        if(logVo.getIsRegister() == 1){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        if (logVo.getIsRegister() == 1) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             List<Long> externalContactIdList = PubFun.listToNewList(sopUserLogsInfos, SopUserLogsInfo::getExternalId); 
														 | 
														
														 | 
														
															                             List<Long> externalContactIdList = PubFun.listToNewList(sopUserLogsInfos, SopUserLogsInfo::getExternalId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if(!externalContactIdList.isEmpty()){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            if (!externalContactIdList.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 List<QwExternalContact> list = qwExternalContactService.list(new QueryWrapper<QwExternalContact>().isNotNull("fs_user_id").in("id", externalContactIdList)); 
														 | 
														
														 | 
														
															                                 List<QwExternalContact> list = qwExternalContactService.list(new QueryWrapper<QwExternalContact>().isNotNull("fs_user_id").in("id", externalContactIdList)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 Map<Long, QwExternalContact> map = PubFun.listToMapByGroupObject(list, QwExternalContact::getId); 
														 | 
														
														 | 
														
															                                 Map<Long, QwExternalContact> map = PubFun.listToMapByGroupObject(list, QwExternalContact::getId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 sopUserLogsInfos = sopUserLogsInfos.stream().filter(e -> map.containsKey(e.getExternalId())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															                                 sopUserLogsInfos = sopUserLogsInfos.stream().filter(e -> map.containsKey(e.getExternalId())).collect(Collectors.toList()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -574,7 +572,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                        insertSopUserLogs(sopUserLogsInfos, logVo, sendTime, ruleTimeVO, content); 
														 | 
														
														 | 
														
															 //                        insertSopUserLogs(sopUserLogsInfos, logVo, sendTime, ruleTimeVO, content); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        insertSopUserLogs(sopUserLogsInfos, logVo, sendTime, ruleTimeVO, content, qwUserId, companyUserId, companyId, qwUserByRedis.getWelcomeText(),qwUserByRedis.getQwUserName(), groupChatMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        insertSopUserLogs(sopUserLogsInfos, logVo, sendTime, ruleTimeVO, content, qwUserId, companyUserId, companyId, qwUserByRedis.getWelcomeText(), qwUserByRedis.getQwUserName(), groupChatMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -589,7 +587,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private List<QwSopTempSetting.Content> getDay(List<QwSopTempRules> tempSettings, long days){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private List<QwSopTempSetting.Content> getDay(List<QwSopTempRules> tempSettings, long days) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<QwSopTempRules> collect = tempSettings.stream().filter(e -> e.getDayNum() == days).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															         List<QwSopTempRules> collect = tempSettings.stream().filter(e -> e.getDayNum() == days).collect(Collectors.toList()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         AtomicInteger i = new AtomicInteger(); 
														 | 
														
														 | 
														
															         AtomicInteger i = new AtomicInteger(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return collect.stream().map(e -> { 
														 | 
														
														 | 
														
															         return collect.stream().map(e -> { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -625,10 +623,10 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Long courseId = content.getCourseId(); 
														 | 
														
														 | 
														
															         Long courseId = content.getCourseId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Long videoId = content.getVideoId(); 
														 | 
														
														 | 
														
															         Long videoId = content.getVideoId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        Integer isOfficial = content.getIsOfficial() != null ? Integer.valueOf(content.getIsOfficial()) : 0; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        Integer isOfficial = content.getIsOfficial() != null ? Integer.parseInt(content.getIsOfficial()) : 0; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 发送语言 start 
														 | 
														
														 | 
														
															         // 发送语言 start 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(content.getSetting() == null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (content.getSetting() == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return; 
														 | 
														
														 | 
														
															             return; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //        List<QwSopTempSetting.Content.Setting> setting = content.getSetting().stream().filter(e -> "7".equals(e.getContentType())).collect(Collectors.toList()); 
														 | 
														
														 | 
														
															 //        List<QwSopTempSetting.Content.Setting> setting = content.getSetting().stream().filter(e -> "7".equals(e.getContentType())).collect(Collectors.toList()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -662,28 +660,28 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //            }); 
														 | 
														
														 | 
														
															 //            }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //        } 
														 | 
														
														 | 
														
															 //        } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 发送语言 end 
														 | 
														
														 | 
														
															         // 发送语言 end 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (content.getType()==5){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            sopAddTag(logVo,content,sendTime); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (content.getType() == 5) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            sopAddTag(logVo, content, sendTime); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if(StringUtils.isNotEmpty(logVo.getChatId())){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (StringUtils.isNotEmpty(logVo.getChatId())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             QwGroupChat groupChat = groupChatMap.get(logVo.getChatId()); 
														 | 
														
														 | 
														
															             QwGroupChat groupChat = groupChatMap.get(logVo.getChatId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ruleTimeVO.setSendType(6); 
														 | 
														
														 | 
														
															             ruleTimeVO.setSendType(6); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             ruleTimeVO.setType(2); 
														 | 
														
														 | 
														
															             ruleTimeVO.setType(2); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if(content.getIndex() == 0){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (content.getIndex() == 0) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, groupChat.getChatId(), groupChat.getName(), null); 
														 | 
														
														 | 
														
															                 QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, groupChat.getChatId(), groupChat.getName(), null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
														
														 | 
														
															                 handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        type, qwUserId, companyUserId, companyId, groupChat.getChatId(), welcomeText,qwUserName, null, true); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        type, qwUserId, companyUserId, companyId, groupChat.getChatId(), welcomeText, qwUserName, null, true); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 groupChat.getChatUserList().forEach(user -> { 
														 | 
														
														 | 
														
															                 groupChat.getChatUserList().forEach(user -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     ruleTimeVO.setSendType(2); 
														 | 
														
														 | 
														
															                     ruleTimeVO.setSendType(2); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     ruleTimeVO.setRemark("客户群催课"); 
														 | 
														
														 | 
														
															                     ruleTimeVO.setRemark("客户群催课"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, user.getUserId(), user.getName(), null); 
														 | 
														
														 | 
														
															                     QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, user.getUserId(), user.getName(), null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
														
														 | 
														
															                     handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            type, qwUserId, companyUserId, companyId, user.getUserId(), welcomeText,qwUserName, null, false); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            type, qwUserId, companyUserId, companyId, user.getUserId(), welcomeText, qwUserName, null, false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 }); 
														 | 
														
														 | 
														
															                 }); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 处理每个 externalContactId 
														 | 
														
														 | 
														
															             // 处理每个 externalContactId 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sopUserLogsInfos.forEach(contactId -> { 
														 | 
														
														 | 
														
															             sopUserLogsInfos.forEach(contactId -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 try { 
														 | 
														
														 | 
														
															                 try { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -692,7 +690,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     Long fsUserId = contactId.getFsUserId(); 
														 | 
														
														 | 
														
															                     Long fsUserId = contactId.getFsUserId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, contactId.getExternalContactId(), externalUserName, fsUserId); 
														 | 
														
														 | 
														
															                     QwSopLogs sopLogs = createBaseLog(formattedSendTime, logVo, ruleTimeVO, contactId.getExternalContactId(), externalUserName, fsUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
														
														 | 
														
															                     handleLogBasedOnType(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            type, qwUserId, companyUserId, companyId, externalId, welcomeText,qwUserName,fsUserId, false); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            type, qwUserId, companyUserId, companyId, externalId, welcomeText, qwUserName, fsUserId, false); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } catch (Exception e) { 
														 | 
														
														 | 
														
															                 } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     log.error("处理 externalContactId {} 时发生异常: {}", contactId, e.getMessage(), e); 
														 | 
														
														 | 
														
															                     log.error("处理 externalContactId {} 时发生异常: {}", contactId, e.getMessage(), e); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -706,7 +704,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String addTag = content.getAddTag(); 
														 | 
														
														 | 
														
															         String addTag = content.getAddTag(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String delTag = content.getDelTag(); 
														 | 
														
														 | 
														
															         String delTag = content.getDelTag(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String corpId = logVo.getCorpId(); 
														 | 
														
														 | 
														
															         String corpId = logVo.getCorpId(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (addTag!=null || delTag!=null) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (addTag != null || delTag != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             QwSopTag qwSopTag = new QwSopTag(); 
														 | 
														
														 | 
														
															             QwSopTag qwSopTag = new QwSopTag(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             qwSopTag.setAddTags(addTag); 
														 | 
														
														 | 
														
															             qwSopTag.setAddTags(addTag); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             qwSopTag.setDelTags(delTag); 
														 | 
														
														 | 
														
															             qwSopTag.setDelTags(delTag); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -751,11 +749,11 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                       String qwUserName, Long fsUserId, boolean isGroupChat) { 
														 | 
														
														 | 
														
															                                       String qwUserName, Long fsUserId, boolean isGroupChat) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         switch (type) { 
														 | 
														
														 | 
														
															         switch (type) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             case 1: 
														 | 
														
														 | 
														
															             case 1: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                handleNormalMessage(sopLogs, content,companyUserId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                handleNormalMessage(sopLogs, content, companyUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 break; 
														 | 
														
														 | 
														
															                 break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             case 2: 
														 | 
														
														 | 
														
															             case 2: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 handleCourseMessage(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
														
														 | 
														
															                 handleCourseMessage(sopLogs, content, logVo, sendTime, courseId, videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        qwUserId, companyUserId, companyId, externalId, welcomeText,qwUserName,fsUserId, isGroupChat); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        qwUserId, companyUserId, companyId, externalId, welcomeText, qwUserName, fsUserId, isGroupChat); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 break; 
														 | 
														
														 | 
														
															                 break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             case 3: 
														 | 
														
														 | 
														
															             case 3: 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 handleOrderMessage(sopLogs, content); 
														 | 
														
														 | 
														
															                 handleOrderMessage(sopLogs, content); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -772,7 +770,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private void handleNormalMessage(QwSopLogs sopLogs, QwSopTempSetting.Content content,String companyUserId) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private void handleNormalMessage(QwSopLogs sopLogs, QwSopTempSetting.Content content, String companyUserId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sopLogs.setContentJson(JSON.toJSONString(content)); 
														 | 
														
														 | 
														
															         sopLogs.setContentJson(JSON.toJSONString(content)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         enqueueQwSopLogs(sopLogs); 
														 | 
														
														 | 
														
															         enqueueQwSopLogs(sopLogs); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -814,7 +812,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 case "3": 
														 | 
														
														 | 
														
															                 case "3": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     if ("1".equals(setting.getIsBindUrl())) { 
														 | 
														
														 | 
														
															                     if ("1".equals(setting.getIsBindUrl())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         String link; 
														 | 
														
														 | 
														
															                         String link; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        if(isGroupChat){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        if (isGroupChat) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             FsCourseLinkCreateParam createParam = new FsCourseLinkCreateParam(); 
														 | 
														
														 | 
														
															                             FsCourseLinkCreateParam createParam = new FsCourseLinkCreateParam(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             createParam.setCourseId(courseId); 
														 | 
														
														 | 
														
															                             createParam.setCourseId(courseId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             createParam.setVideoId(videoId); 
														 | 
														
														 | 
														
															                             createParam.setVideoId(videoId); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -825,14 +823,14 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             createParam.setQwUserId(qwUserId); 
														 | 
														
														 | 
														
															                             createParam.setQwUserId(qwUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             createParam.setDays(setting.getExpiresDays()); 
														 | 
														
														 | 
														
															                             createParam.setDays(setting.getExpiresDays()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             R createLink = courseLinkService.createRoomLinkUrl(createParam); 
														 | 
														
														 | 
														
															                             R createLink = courseLinkService.createRoomLinkUrl(createParam); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if (createLink.get("code").equals(500)){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            if (createLink.get("code").equals(500)) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 throw new BaseException("链接生成失败!"); 
														 | 
														
														 | 
														
															                                 throw new BaseException("链接生成失败!"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             link = (String) createLink.get("url"); 
														 | 
														
														 | 
														
															                             link = (String) createLink.get("url"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        }else{ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            addWatchLogIfNeeded(sopLogs, videoId, courseId, sendTime, qwUserId, companyUserId, companyId, externalId,logVo); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            addWatchLogIfNeeded(sopLogs, videoId, courseId, sendTime, qwUserId, companyUserId, companyId, externalId, logVo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             link = generateShortLink(setting, logVo, sendTime, courseId, videoId, 
														 | 
														
														 | 
														
															                             link = generateShortLink(setting, logVo, sendTime, courseId, videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                    qwUserId, companyUserId, companyId, externalId,fsUserId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    qwUserId, companyUserId, companyId, externalId, fsUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if (StringUtils.isNotEmpty(link)) { 
														 | 
														
														 | 
														
															                         if (StringUtils.isNotEmpty(link)) { 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -845,7 +843,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 } else { 
														 | 
														
														 | 
														
															                                 } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                                    setting.setValue(currentValue + "\n" + sortLink); 
														 | 
														
														 | 
														
															 //                                    setting.setValue(currentValue + "\n" + sortLink); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                     setting.setValue(currentValue 
														 | 
														
														 | 
														
															                                     setting.setValue(currentValue 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                            .replaceAll("#销售称呼#",StringUtil.strIsNullOrEmpty(welcomeText)?"":welcomeText) 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                            .replaceAll("#销售称呼#", StringUtil.strIsNullOrEmpty(welcomeText) ? "" : welcomeText) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                             + "\n" + link); 
														 | 
														
														 | 
														
															                                             + "\n" + link); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 } 
														 | 
														
														 | 
														
															                                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -853,36 +851,36 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             log.error("生成短链失败,跳过设置 URL。"); 
														 | 
														
														 | 
														
															                             log.error("生成短链失败,跳过设置 URL。"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    }else { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         if ("1".equals(setting.getContentType())) { 
														 | 
														
														 | 
														
															                         if ("1".equals(setting.getContentType())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             setting.setValue(setting.getValue() 
														 | 
														
														 | 
														
															                             setting.setValue(setting.getValue() 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                    .replaceAll("#销售称呼#", StringUtil.strIsNullOrEmpty(welcomeText)?"":welcomeText)); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                    .replaceAll("#销售称呼#", StringUtil.strIsNullOrEmpty(welcomeText) ? "" : welcomeText)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         } 
														 | 
														
														 | 
														
															                         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     break; 
														 | 
														
														 | 
														
															                     break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 //小程序单独 
														 | 
														
														 | 
														
															                 //小程序单独 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 case "4": 
														 | 
														
														 | 
														
															                 case "4": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    addWatchLogIfNeeded(sopLogs, videoId, courseId, sendTime, qwUserId, companyUserId, companyId, externalId,logVo); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    addWatchLogIfNeeded(sopLogs, videoId, courseId, sendTime, qwUserId, companyUserId, companyId, externalId, logVo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     String sortLink = createLinkByMiniApp(setting, logVo, sendTime, courseId, videoId, 
														 | 
														
														 | 
														
															                     String sortLink = createLinkByMiniApp(setting, logVo, sendTime, courseId, videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            qwUserId, companyUserId, companyId, externalId,fsUserId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            qwUserId, companyUserId, companyId, externalId, fsUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     setting.setMiniprogramPage(sortLink.replaceAll("^[\\s\\u2005]+", "")); 
														 | 
														
														 | 
														
															                     setting.setMiniprogramPage(sortLink.replaceAll("^[\\s\\u2005]+", "")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     try { 
														 | 
														
														 | 
														
															                     try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        setting.setMiniprogramPicUrl(StringUtil.strIsNullOrEmpty(setting.getMiniprogramPicUrl())?"https://cos.his.cdwjyyh.com/fs/20250331/ec2b4e73be8048afbd526124a655ad56.png":setting.getMiniprogramPicUrl()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    }catch (Exception e){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        log.error("赋值-小程序封面地址失败-"+e); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        setting.setMiniprogramPicUrl(StringUtil.strIsNullOrEmpty(setting.getMiniprogramPicUrl()) ? "https://cos.his.cdwjyyh.com/fs/20250331/ec2b4e73be8048afbd526124a655ad56.png" : setting.getMiniprogramPicUrl()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        log.error("赋值-小程序封面地址失败-" + e); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     break; 
														 | 
														
														 | 
														
															                     break; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 //app 
														 | 
														
														 | 
														
															                 //app 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 case "9": 
														 | 
														
														 | 
														
															                 case "9": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    addWatchLogIfNeeded(sopLogs, videoId, courseId, sendTime, qwUserId, companyUserId, companyId, externalId,logVo); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    addWatchLogIfNeeded(sopLogs, videoId, courseId, sendTime, qwUserId, companyUserId, companyId, externalId, logVo); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     QwCreateLinkByAppDTO linkByApp = createLinkByApp(setting, logVo, sendTime, courseId, videoId, 
														 | 
														
														 | 
														
															                     QwCreateLinkByAppDTO linkByApp = createLinkByApp(setting, logVo, sendTime, courseId, videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            qwUserId, companyUserId, companyId, externalId,sopLogs.getCorpId(),qwUserName,fsUserId); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            qwUserId, companyUserId, companyId, externalId, sopLogs.getCorpId(), qwUserName, fsUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     setting.setLinkUrl(linkByApp.getSortLink().replaceAll("^[\\s\\u2005]+", "")); 
														 | 
														
														 | 
														
															                     setting.setLinkUrl(linkByApp.getSortLink().replaceAll("^[\\s\\u2005]+", "")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     setting.setAppLinkUrl(linkByApp.getAppMsgLink().replaceAll("^[\\s\\u2005]+", "")); 
														 | 
														
														 | 
														
															                     setting.setAppLinkUrl(linkByApp.getAppMsgLink().replaceAll("^[\\s\\u2005]+", "")); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -892,13 +890,13 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 case "10": 
														 | 
														
														 | 
														
															                 case "10": 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     // 获取缓存的配置 
														 | 
														
														 | 
														
															                     // 获取缓存的配置 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     CourseConfig config; 
														 | 
														
														 | 
														
															                     CourseConfig config; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    synchronized(configLock) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    synchronized (configLock) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         config = cachedCourseConfig; 
														 | 
														
														 | 
														
															                         config = cachedCourseConfig; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     if (config != null) { 
														 | 
														
														 | 
														
															                     if (config != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                        String URL= config.getRegisterDomainName()+registerLink+externalId; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                        String URL = config.getRegisterDomainName() + registerLink + externalId; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         setting.setLinkUrl(URL.replaceAll("^[\\s\\u2005]+", "")); 
														 | 
														
														 | 
														
															                         setting.setLinkUrl(URL.replaceAll("^[\\s\\u2005]+", "")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    }else { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         log.error("获取缓存的配置为空:注册链接"); 
														 | 
														
														 | 
														
															                         log.error("获取缓存的配置为空:注册链接"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -937,10 +935,10 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private QwCreateLinkByAppDTO createLinkByApp(QwSopTempSetting.Content.Setting setting, SopUserLogsVo logVo, Date sendTime, 
														 | 
														
														 | 
														
															     private QwCreateLinkByAppDTO createLinkByApp(QwSopTempSetting.Content.Setting setting, SopUserLogsVo logVo, Date sendTime, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                                  Long courseId, Long videoId, String qwUserId, 
														 | 
														
														 | 
														
															                                                  Long courseId, Long videoId, String qwUserId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                                 String companyUserId, String companyId, String externalId, String corpId, String qwUserName,Long fsUserId){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                                 String companyUserId, String companyId, String externalId, String corpId, String qwUserName, Long fsUserId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 获取缓存的配置 
														 | 
														
														 | 
														
															         // 获取缓存的配置 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         CourseConfig config; 
														 | 
														
														 | 
														
															         CourseConfig config; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        synchronized(configLock) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        synchronized (configLock) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             config = cachedCourseConfig; 
														 | 
														
														 | 
														
															             config = cachedCourseConfig; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -952,7 +950,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 companyUserId, companyId, externalId, 4); 
														 | 
														
														 | 
														
															                 companyUserId, companyId, externalId, 4); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         FsCourseRealLink courseMap = new FsCourseRealLink(); 
														 | 
														
														 | 
														
															         FsCourseRealLink courseMap = new FsCourseRealLink(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        BeanUtils.copyProperties(link,courseMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        BeanUtils.copyProperties(link, courseMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         courseMap.setFsUserId(fsUserId); 
														 | 
														
														 | 
														
															         courseMap.setFsUserId(fsUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String courseJson = JSON.toJSONString(courseMap); 
														 | 
														
														 | 
														
															         String courseJson = JSON.toJSONString(courseMap); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -963,11 +961,11 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         link.setUpdateTime(updateTime); 
														 | 
														
														 | 
														
															         link.setUpdateTime(updateTime); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        String sortLink = appLink+link.getLink()+"&videoId="+videoId; 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        String sortLink = appLink + link.getLink() + "&videoId=" + videoId; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        String appMsgLink=appRealLink+link.getLink(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        String appMsgLink = appRealLink + link.getLink(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        QwCreateLinkByAppDTO byAppDTO=new QwCreateLinkByAppDTO(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        QwCreateLinkByAppDTO byAppDTO = new QwCreateLinkByAppDTO(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         byAppDTO.setSortLink(sortLink); 
														 | 
														
														 | 
														
															         byAppDTO.setSortLink(sortLink); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         byAppDTO.setAppMsgLink(appMsgLink); 
														 | 
														
														 | 
														
															         byAppDTO.setAppMsgLink(appMsgLink); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -983,11 +981,11 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public FsCourseSopAppLink createFsCourseSopAppLink(String link, Date sendTime, Date updateTime, String companyId, 
														 | 
														
														 | 
														
															     public FsCourseSopAppLink createFsCourseSopAppLink(String link, Date sendTime, Date updateTime, String companyId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                                       String companyUserId,String qwUserId,String qwUserName,String corpId, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                                       Long courseId,String linkTile,String linkImageUrl,Long videoId, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                                       String linkDescribe,String appMsgLink,String externalId){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                                       String companyUserId, String qwUserId, String qwUserName, String corpId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                                       Long courseId, String linkTile, String linkImageUrl, Long videoId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                                       String linkDescribe, String appMsgLink, String externalId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        FsCourseSopAppLink sopAppLink=new FsCourseSopAppLink(); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        FsCourseSopAppLink sopAppLink = new FsCourseSopAppLink(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sopAppLink.setLink(link); 
														 | 
														
														 | 
														
															         sopAppLink.setLink(link); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sopAppLink.setCreateTime(sendTime); 
														 | 
														
														 | 
														
															         sopAppLink.setCreateTime(sendTime); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         sopAppLink.setUpdateTime(updateTime); 
														 | 
														
														 | 
														
															         sopAppLink.setUpdateTime(updateTime); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1007,12 +1005,13 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return sopAppLink; 
														 | 
														
														 | 
														
															         return sopAppLink; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private String createLinkByMiniApp(QwSopTempSetting.Content.Setting setting, SopUserLogsVo logVo, Date sendTime, 
														 | 
														
														 | 
														
															     private String createLinkByMiniApp(QwSopTempSetting.Content.Setting setting, SopUserLogsVo logVo, Date sendTime, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                        Long courseId, Long videoId, String qwUserId, 
														 | 
														
														 | 
														
															                                        Long courseId, Long videoId, String qwUserId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                       String companyUserId, String companyId, String externalId,Long fsUserId) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                       String companyUserId, String companyId, String externalId, Long fsUserId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 获取缓存的配置 
														 | 
														
														 | 
														
															         // 获取缓存的配置 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         CourseConfig config; 
														 | 
														
														 | 
														
															         CourseConfig config; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        synchronized(configLock) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        synchronized (configLock) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             config = cachedCourseConfig; 
														 | 
														
														 | 
														
															             config = cachedCourseConfig; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1041,7 +1040,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         FsCourseRealLink courseMap = new FsCourseRealLink(); 
														 | 
														
														 | 
														
															         FsCourseRealLink courseMap = new FsCourseRealLink(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        BeanUtils.copyProperties(link,courseMap); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        BeanUtils.copyProperties(link, courseMap); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         courseMap.setFsUserId(fsUserId); 
														 | 
														
														 | 
														
															         courseMap.setFsUserId(fsUserId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         String courseJson = JSON.toJSONString(courseMap); 
														 | 
														
														 | 
														
															         String courseJson = JSON.toJSONString(courseMap); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1056,7 +1055,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 使用 Java 8 时间 API 计算过期时间 
														 | 
														
														 | 
														
															         // 使用 Java 8 时间 API 计算过期时间 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LocalDateTime sendDateTime = sendTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
														 | 
														
														 | 
														
															         LocalDateTime sendDateTime = sendTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        LocalDateTime expireDateTime = sendDateTime.plusDays(expireDays-1); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        LocalDateTime expireDateTime = sendDateTime.plusDays(expireDays - 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         expireDateTime = expireDateTime.toLocalDate().atTime(23, 59, 59); 
														 | 
														
														 | 
														
															         expireDateTime = expireDateTime.toLocalDate().atTime(23, 59, 59); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
														
														 | 
														
															         Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         link.setUpdateTime(updateTime); 
														 | 
														
														 | 
														
															         link.setUpdateTime(updateTime); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1076,7 +1075,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return content.clone(); 
														 | 
														
														 | 
														
															         return content.clone(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    private Date createUpdateTime(QwSopTempSetting.Content.Setting setting,Date sendTime,CourseConfig config){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    private Date createUpdateTime(QwSopTempSetting.Content.Setting setting, Date sendTime, CourseConfig config) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Integer expireDays = (setting.getExpiresDays() == null || setting.getExpiresDays() == 0) 
														 | 
														
														 | 
														
															         Integer expireDays = (setting.getExpiresDays() == null || setting.getExpiresDays() == 0) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 ? config.getVideoLinkExpireDate() 
														 | 
														
														 | 
														
															                 ? config.getVideoLinkExpireDate() 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1084,7 +1083,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //         使用 Java 8 时间 API 计算过期时间 
														 | 
														
														 | 
														
															 //         使用 Java 8 时间 API 计算过期时间 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LocalDateTime sendDateTime = sendTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
														 | 
														
														 | 
														
															         LocalDateTime sendDateTime = sendTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        LocalDateTime expireDateTime = sendDateTime.plusDays(expireDays-1); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        LocalDateTime expireDateTime = sendDateTime.plusDays(expireDays - 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         expireDateTime = expireDateTime.toLocalDate().atTime(23, 59, 59); 
														 | 
														
														 | 
														
															         expireDateTime = expireDateTime.toLocalDate().atTime(23, 59, 59); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
														
														 | 
														
															         Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1097,8 +1096,8 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         enqueueQwSopLogs(sopLogs); 
														 | 
														
														 | 
														
															         enqueueQwSopLogs(sopLogs); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public FsCourseLink createFsCourseLink(String corpId, Date sendTime,Long courseId,Long videoId, String qwUserId, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                           String companyUserId, String companyId,String externalId,Integer type){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public FsCourseLink createFsCourseLink(String corpId, Date sendTime, Long courseId, Long videoId, String qwUserId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                           String companyUserId, String companyId, String externalId, Integer type) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 手动创建 FsCourseLink 对象,避免使用 BeanUtils.copyProperties 
														 | 
														
														 | 
														
															         // 手动创建 FsCourseLink 对象,避免使用 BeanUtils.copyProperties 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         FsCourseLink link = new FsCourseLink(); 
														 | 
														
														 | 
														
															         FsCourseLink link = new FsCourseLink(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         link.setCompanyId(Long.parseLong(companyId)); 
														 | 
														
														 | 
														
															         link.setCompanyId(Long.parseLong(companyId)); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1122,7 +1121,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                      String companyUserId, String companyId, String externalId, Long fsUserId) { 
														 | 
														
														 | 
														
															                                      String companyUserId, String companyId, String externalId, Long fsUserId) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 获取缓存的配置 
														 | 
														
														 | 
														
															         // 获取缓存的配置 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         CourseConfig config; 
														 | 
														
														 | 
														
															         CourseConfig config; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        synchronized(configLock) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        synchronized (configLock) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             config = cachedCourseConfig; 
														 | 
														
														 | 
														
															             config = cachedCourseConfig; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1167,7 +1166,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 使用 Java 8 时间 API 计算过期时间 
														 | 
														
														 | 
														
															         // 使用 Java 8 时间 API 计算过期时间 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LocalDateTime sendDateTime = sendTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
														 | 
														
														 | 
														
															         LocalDateTime sendDateTime = sendTime.toInstant().atZone(ZoneId.systemDefault()).toLocalDateTime(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        LocalDateTime expireDateTime = sendDateTime.plusDays(expireDays-1); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        LocalDateTime expireDateTime = sendDateTime.plusDays(expireDays - 1); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         expireDateTime = expireDateTime.toLocalDate().atTime(23, 59, 59); 
														 | 
														
														 | 
														
															         expireDateTime = expireDateTime.toLocalDate().atTime(23, 59, 59); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
														
														 | 
														
															         Date updateTime = Date.from(expireDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         link.setUpdateTime(updateTime); 
														 | 
														
														 | 
														
															         link.setUpdateTime(updateTime); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1181,7 +1180,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private void addWatchLogIfNeeded(QwSopLogs sopLogs, Long videoId, Long courseId, 
														 | 
														
														 | 
														
															     private void addWatchLogIfNeeded(QwSopLogs sopLogs, Long videoId, Long courseId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                      Date sendTime, String qwUserId, String companyUserId, 
														 | 
														
														 | 
														
															                                      Date sendTime, String qwUserId, String companyUserId, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                                     String companyId, String externalId,SopUserLogsVo logsVo) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                                     String companyId, String externalId, SopUserLogsVo logsVo) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         FsCourseWatchLog watchLog = new FsCourseWatchLog(); 
														 | 
														
														 | 
														
															         FsCourseWatchLog watchLog = new FsCourseWatchLog(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setVideoId(videoId != null ? videoId.longValue() : null); 
														 | 
														
														 | 
														
															         watchLog.setVideoId(videoId != null ? videoId.longValue() : null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setQwExternalContactId(externalId != null ? Long.valueOf(externalId) : null); 
														 | 
														
														 | 
														
															         watchLog.setQwExternalContactId(externalId != null ? Long.valueOf(externalId) : null); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1192,20 +1191,21 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setCourseId(courseId != null ? courseId.longValue() : null); 
														 | 
														
														 | 
														
															         watchLog.setCourseId(courseId != null ? courseId.longValue() : null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setCompanyUserId(companyUserId != null ? Long.valueOf(companyUserId) : null); 
														 | 
														
														 | 
														
															         watchLog.setCompanyUserId(companyUserId != null ? Long.valueOf(companyUserId) : null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setCompanyId(companyId != null ? Long.valueOf(companyId) : null); 
														 | 
														
														 | 
														
															         watchLog.setCompanyId(companyId != null ? Long.valueOf(companyId) : null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        watchLog.setCreateTime(convertStringToDate(sopLogs.getSendTime(),"yyyy-MM-dd HH:mm:ss")); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        watchLog.setCreateTime(convertStringToDate(sopLogs.getSendTime(), "yyyy-MM-dd HH:mm:ss")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setUpdateTime(new Date()); 
														 | 
														
														 | 
														
															         watchLog.setUpdateTime(new Date()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setLogType(3); 
														 | 
														
														 | 
														
															         watchLog.setLogType(3); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         watchLog.setUserId(sopLogs.getFsUserId()); 
														 | 
														
														 | 
														
															         watchLog.setUserId(sopLogs.getFsUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        watchLog.setCampPeriodTime(convertStringToDate(logsVo.getStartTime(),"yyyy-MM-dd")); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        watchLog.setCampPeriodTime(convertStringToDate(logsVo.getStartTime(), "yyyy-MM-dd")); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         enqueueWatchLog(watchLog); 
														 | 
														
														 | 
														
															         enqueueWatchLog(watchLog); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															     /** 
														 | 
														
														 | 
														
															     /** 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * 时间字符串转Date时间 
														 | 
														
														 | 
														
															      * 时间字符串转Date时间 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+     * 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * @param dateString 
														 | 
														
														 | 
														
															      * @param dateString 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      * @return 
														 | 
														
														 | 
														
															      * @return 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-    public static Date convertStringToDate(String dateString,String pattern) { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    public static Date convertStringToDate(String dateString, String pattern) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         if (dateString == null || dateString.isEmpty()) { 
														 | 
														
														 | 
														
															         if (dateString == null || dateString.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             return null; 
														 | 
														
														 | 
														
															             return null; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1213,12 +1213,12 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LocalDateTime localDateTime; 
														 | 
														
														 | 
														
															         LocalDateTime localDateTime; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         LocalDate localDate; 
														 | 
														
														 | 
														
															         LocalDate localDate; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 先解析成 LocalDate(只含年月日) 
														 | 
														
														 | 
														
															         // 先解析成 LocalDate(只含年月日) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        if (pattern.equals("yyyy-MM-dd")){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        if (pattern.equals("yyyy-MM-dd")) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 先解析成 LocalDate(只含年月日) 
														 | 
														
														 | 
														
															             // 先解析成 LocalDate(只含年月日) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             localDate = LocalDate.parse(dateString, formatter); 
														 | 
														
														 | 
														
															             localDate = LocalDate.parse(dateString, formatter); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 将 LocalDate 转为当天 00:00:00 的 LocalDateTime 
														 | 
														
														 | 
														
															             // 将 LocalDate 转为当天 00:00:00 的 LocalDateTime 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             localDateTime = localDate.atStartOfDay(); 
														 | 
														
														 | 
														
															             localDateTime = localDate.atStartOfDay(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        }else { 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        } else { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             localDateTime = LocalDateTime.parse(dateString, formatter); 
														 | 
														
														 | 
														
															             localDateTime = LocalDateTime.parse(dateString, formatter); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
														
														 | 
														
															         return Date.from(localDateTime.atZone(ZoneId.systemDefault()).toInstant()); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1412,7 +1412,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Transactional 
														 | 
														
														 | 
														
															     @Transactional 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Retryable( 
														 | 
														
														 | 
														
															     @Retryable( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            value = { Exception.class }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            value = {Exception.class}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             maxAttempts = 3, 
														 | 
														
														 | 
														
															             maxAttempts = 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
														
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1431,7 +1431,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Transactional 
														 | 
														
														 | 
														
															     @Transactional 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Retryable( 
														 | 
														
														 | 
														
															     @Retryable( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            value = { Exception.class }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            value = {Exception.class}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             maxAttempts = 3, 
														 | 
														
														 | 
														
															             maxAttempts = 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
														
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1451,7 +1451,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Transactional 
														 | 
														
														 | 
														
															     @Transactional 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Retryable( 
														 | 
														
														 | 
														
															     @Retryable( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            value = { Exception.class }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            value = {Exception.class}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             maxAttempts = 3, 
														 | 
														
														 | 
														
															             maxAttempts = 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
														
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1471,7 +1471,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															      */ 
														 | 
														
														 | 
														
															      */ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Transactional 
														 | 
														
														 | 
														
															     @Transactional 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Retryable( 
														 | 
														
														 | 
														
															     @Retryable( 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            value = { Exception.class }, 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            value = {Exception.class}, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             maxAttempts = 3, 
														 | 
														
														 | 
														
															             maxAttempts = 3, 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
														
														 | 
														
															             backoff = @Backoff(delay = 2000) 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     ) 
														 | 
														
														 | 
														
															     ) 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1489,7 +1489,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public void updateSopLogsByCancel() { 
														 | 
														
														 | 
														
															     public void updateSopLogsByCancel() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         List<QwSopLogs> sopLogs = qwSopLogsMapper.selectQwSopLogsByCancel(); 
														 | 
														
														 | 
														
															         List<QwSopLogs> sopLogs = qwSopLogsMapper.selectQwSopLogsByCancel(); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-        log.info("补发过期完课消息总条数:{}",sopLogs.size()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+        log.info("补发过期完课消息总条数:{}", sopLogs.size()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         processUpdateQwSopLogs(sopLogs); 
														 | 
														
														 | 
														
															         processUpdateQwSopLogs(sopLogs); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1508,7 +1508,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             // 直接使用批次数据进行批量更新,不需要额外的 List 
														 | 
														
														 | 
														
															             // 直接使用批次数据进行批量更新,不需要额外的 List 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             try { 
														 | 
														
														 | 
														
															             try { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 qwSopLogsMapper.batchUpdateQwSopLogsByCancel(batchList); 
														 | 
														
														 | 
														
															                 qwSopLogsMapper.batchUpdateQwSopLogsByCancel(batchList); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                log.info("正在补发条数:{}",batchSize); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                log.info("正在补发条数:{}", batchSize); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } catch (Exception e) { 
														 | 
														
														 | 
														
															             } catch (Exception e) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 // 记录异常日志,方便后续排查问题 
														 | 
														
														 | 
														
															                 // 记录异常日志,方便后续排查问题 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 log.error("批量更新数据时发生异常,处理的批次起始索引为: " + i, e); 
														 | 
														
														 | 
														
															                 log.error("批量更新数据时发生异常,处理的批次起始索引为: " + i, e); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1554,7 +1554,8 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                sopLogs.setSopId(finishLog.getSopId()); 
														 | 
														
														 | 
														
															 //                sopLogs.setSopId(finishLog.getSopId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                sopLogs.setExternalUserId(externalContact.getExternalUserId()); 
														 | 
														
														 | 
														
															 //                sopLogs.setExternalUserId(externalContact.getExternalUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                sopLogs.setExternalUserName(externalContact.getName()); 
														 | 
														
														 | 
														
															 //                sopLogs.setExternalUserName(externalContact.getName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-////                    log.info("外部联系人名称:{}",externalContact.getName()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+ 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    /// /                    log.info("外部联系人名称:{}",externalContact.getName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                sopLogs.setFsUserId(finishLog.getUserId()); 
														 | 
														
														 | 
														
															 //                sopLogs.setFsUserId(finishLog.getUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                //解析模板 
														 | 
														
														 | 
														
															 //                //解析模板 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //                String jsonData = finishTemp.getSetting(); 
														 | 
														
														 | 
														
															 //                String jsonData = finishTemp.getSetting(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1606,7 +1607,6 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //        QwSopTempSetting.Content content = JSON.parseObject(logs.getContentJson(), QwSopTempSetting.Content.class); 
														 | 
														
														 | 
														
															 //        QwSopTempSetting.Content content = JSON.parseObject(logs.getContentJson(), QwSopTempSetting.Content.class); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //        handleNormalMessage(logs, content,null); 
														 | 
														
														 | 
														
															 //        handleNormalMessage(logs, content,null); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 //    } 
														 | 
														
														 | 
														
															 //    } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															- 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     @Override 
														 | 
														
														 | 
														
															     @Override 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     public void createCourseFinishMsg() { 
														 | 
														
														 | 
														
															     public void createCourseFinishMsg() { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         // 查询所有需要处理的完课记录 
														 | 
														
														 | 
														
															         // 查询所有需要处理的完课记录 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1636,14 +1636,14 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 List<QwGroupChatUser> qwGroupChatUserList = qwGroupChatUserService.selectUserIsChat(externalContact.getExternalUserId()); 
														 | 
														
														 | 
														
															                 List<QwGroupChatUser> qwGroupChatUserList = qwGroupChatUserService.selectUserIsChat(externalContact.getExternalUserId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                if(!qwGroupChatUserList.isEmpty()){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                    if(finishTemp != null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                if (!qwGroupChatUserList.isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    if (finishTemp != null && StringUtils.isNotEmpty(finishTemp.getChatSetting())) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         List<SopUserLogs> sopLogsList = sopUserLogsMapper.selectSopUserLogByChatIds(PubFun.listToNewList(qwGroupChatUserList, QwGroupChatUser::getChatId)); 
														 | 
														
														 | 
														
															                         List<SopUserLogs> sopLogsList = sopUserLogsMapper.selectSopUserLogByChatIds(PubFun.listToNewList(qwGroupChatUserList, QwGroupChatUser::getChatId)); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         List<QwGroupChat> qwGroupChatList = qwGroupChatService.selectQwGroupChatByChatIds(PubFun.listToNewList(sopLogsList, SopUserLogs::getChatId).toArray(new String[0])); 
														 | 
														
														 | 
														
															                         List<QwGroupChat> qwGroupChatList = qwGroupChatService.selectQwGroupChatByChatIds(PubFun.listToNewList(sopLogsList, SopUserLogs::getChatId).toArray(new String[0])); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         Map<String, QwGroupChat> groupChatMap = PubFun.listToMapByGroupObject(qwGroupChatList, QwGroupChat::getChatId); 
														 | 
														
														 | 
														
															                         Map<String, QwGroupChat> groupChatMap = PubFun.listToMapByGroupObject(qwGroupChatList, QwGroupChat::getChatId); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         sopLogsList.forEach(e -> { 
														 | 
														
														 | 
														
															                         sopLogsList.forEach(e -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             QwGroupChat groupChat = groupChatMap.get(e.getChatId()); 
														 | 
														
														 | 
														
															                             QwGroupChat groupChat = groupChatMap.get(e.getChatId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-                            if(groupChat != null){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                            if (groupChat != null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                                 e.setChatName(groupChat.getName()); 
														 | 
														
														 | 
														
															                                 e.setChatName(groupChat.getName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                             } 
														 | 
														
														 | 
														
															                             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                         }); 
														 | 
														
														 | 
														
															                         }); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1652,7 +1652,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     } 
														 | 
														
														 | 
														
															                     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 if (finishTemp == null) { 
														 | 
														
														 | 
														
															                 if (finishTemp == null) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-//                    log.warn("完课模板不存在: " + finishLog.getCompanyUserId() + ", " + finishLog.getVideoId()); 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+                    log.warn("完课模板不存在: " + finishLog.getCompanyUserId() + ", " + finishLog.getVideoId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                     continue; 
														 | 
														
														 | 
														
															                     continue; 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 } 
														 | 
														
														 | 
														
															                 } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 // 构建 sopLogs 对象 
														 | 
														
														 | 
														
															                 // 构建 sopLogs 对象 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1703,6 +1703,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         } 
														 | 
														
														 | 
														
															         } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     } 
														 | 
														
														 | 
														
															     } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															  
														 | 
														
														 | 
														
															  
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+    // 创建群聊完课消息 
														 | 
													
												
											
												
													
														| 
														 | 
														
															     private List<QwSopLogs> buildSopLogsChat(FsCourseWatchLog finishLog, FsCourseFinishTemp finishTemp, QwExternalContact externalContact, List<SopUserLogs> sopLogsList) { 
														 | 
														
														 | 
														
															     private List<QwSopLogs> buildSopLogsChat(FsCourseWatchLog finishLog, FsCourseFinishTemp finishTemp, QwExternalContact externalContact, List<SopUserLogs> sopLogsList) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															         return sopLogsList.stream().map(e -> { 
														 | 
														
														 | 
														
															         return sopLogsList.stream().map(e -> { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             QwSopChatTempSetting setting = new QwSopChatTempSetting(); 
														 | 
														
														 | 
														
															             QwSopChatTempSetting setting = new QwSopChatTempSetting(); 
														 | 
													
												
											
										
											
												
													
														 | 
														
															@@ -1724,7 +1725,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sopLogs.setSopId(e.getSopId()); 
														 | 
														
														 | 
														
															             sopLogs.setSopId(e.getSopId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sopLogs.setExternalUserId(e.getChatId()); 
														 | 
														
														 | 
														
															             sopLogs.setExternalUserId(e.getChatId()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             sopLogs.setExternalUserName(e.getChatName()); 
														 | 
														
														 | 
														
															             sopLogs.setExternalUserName(e.getChatName()); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															-            if(finishTemp.getChatSetting() == null || finishTemp.getChatSetting().isEmpty()){ 
														 | 
														
														 | 
														
															 
														 | 
													
												
											
												
													
														| 
														 | 
														
															 
														 | 
														
														 | 
														
															+            if (finishTemp.getChatSetting() == null || finishTemp.getChatSetting().isEmpty()) { 
														 | 
													
												
											
												
													
														| 
														 | 
														
															                 throw new BaseException("消息为空"); 
														 | 
														
														 | 
														
															                 throw new BaseException("消息为空"); 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             } 
														 | 
														
														 | 
														
															             } 
														 | 
													
												
											
												
													
														| 
														 | 
														
															             JSONArray list = new JSONArray(); 
														 | 
														
														 | 
														
															             JSONArray list = new JSONArray(); 
														 |