Просмотр исходного кода

修复发送主备,更具时间来

吴树波 2 дней назад
Родитель
Сommit
7fd93009c7

+ 13 - 5
fs-qw-task/src/main/java/com/fs/app/taskService/impl/SopLogsTaskServiceImpl.java

@@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.fs.app.taskService.SopLogsTaskService;
 import com.fs.common.utils.PubFun;
 import com.fs.common.utils.StringUtils;
+import com.fs.common.utils.date.DateUtil;
 import com.fs.company.domain.Company;
 import com.fs.company.domain.CompanyMiniapp;
 import com.fs.company.domain.CompanyUser;
@@ -1018,13 +1019,14 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
 
                     String sortLink = createLinkByMiniApp(setting, logVo, sendTime, courseId, videoId,
                             qwUserId, companyUserId, companyId, externalId,isOfficial,sopLogs.getFsUserId(), isGroupChat ? groupChat.getChatId() : null);
-
+                    QwExternalContact qwExternalContact = qwExternalContactMapper.selectById(externalId);
+                    LocalDateTime createTime = qwExternalContact.getCreateTime() == null ? LocalDateTime.now() : DateUtil.dateToLocalDateTime(qwExternalContact.getCreateTime());
                     if(sopLogs.getSendType()==1){
                         setting.setMiniprogramAppid(miniAppId);
                     }else {
                         int miniType = getLevel(grade);
                         //算主备小程序
-                        String finalAppId = getAppIdFromMiniMap(miniMap, companyId, sendMsgType, grade);
+                        String finalAppId = getAppIdFromMiniMap(miniMap, companyId, sendMsgType, grade, createTime);
 
                         if (StringUtil.strIsNullOrEmpty(finalAppId)) {
                             finalAppId = miniAppId;
@@ -1099,7 +1101,7 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
     private String getAppIdFromMiniMap(Map<Long, Map<Integer, List<CompanyMiniapp>>> miniMap,
                                        String companyId,
                                        int sendMsgType,
-                                       Integer grade) {
+                                       Integer grade, LocalDateTime createTime) {
         if (miniMap.isEmpty() || sendMsgType != 1) {
             return null;
         }
@@ -1108,8 +1110,14 @@ public class SopLogsTaskServiceImpl implements SopLogsTaskService {
         if (gradeMap == null) {
             return null;
         }
-
-        int listIndex = getLevel(grade);
+        LocalDateTime lastTime = LocalDateTime.of(2025, 11, 6, 23, 59, 59);
+//        if (createTime.isAfter(lastTime)) {
+//            System.out.println("创建时间大于目标时间");
+//        } else {
+//            System.out.println("创建时间不大于目标时间");
+//        }
+//        int listIndex = getLevel(grade);
+        int listIndex = createTime.isAfter(lastTime) ? 1 : 0 ;
         List<CompanyMiniapp> miniapps = gradeMap.get(listIndex);
 
         if (miniapps == null || miniapps.isEmpty()) {

+ 1 - 1
fs-service/src/main/java/com/fs/qw/mapper/QwExternalContactMapper.java

@@ -48,7 +48,7 @@ public interface QwExternalContactMapper extends BaseMapper<QwExternalContact> {
 
     public List<QwExternalContact> selectQwExternalContactByIds(@Param("ids") List<Long> ids);
 
-    @Select("SELECT id,stage_status,name,fs_user_id from qw_external_contact where id=#{id}")
+    @Select("SELECT * from qw_external_contact where id=#{id}")
     public QwExternalContact selectQwExternalContactByIdForStageStatus(@Param("id") Long id);
 
     @Select("SELECT\n" +

+ 4 - 2
fs-service/src/main/java/com/fs/sop/service/impl/SopUserLogsInfoServiceImpl.java

@@ -928,8 +928,10 @@ public class SopUserLogsInfoServiceImpl implements ISopUserLogsInfoService {
 
                             String miniAppId = null;
 
-                            int effectiveGrade = (item.getGrade() == null) ? 5 : item.getGrade();
-                            int listIndex = (effectiveGrade == 1 || effectiveGrade == 2) ? 0 : 1;
+                            LocalDateTime lastTime = LocalDateTime.of(2025, 11, 6, 23, 59, 59);
+                            int listIndex = contact == null || contact.getCreateTime() == null ? 1 : DateUtil.dateToLocalDateTime(contact.getCreateTime()).isAfter(lastTime) ? 1 : 0 ;
+//                            int effectiveGrade = (item.getGrade() == null) ? 5 : item.getGrade();
+//                            int listIndex = (effectiveGrade == 1 || effectiveGrade == 2) ? 0 : 1;
                             if (!miniMap.isEmpty() && qwUser.getSendMsgType() == 1) {
                                 Map<Integer, List<CompanyMiniapp>> integerListMap = miniMap.get(Long.valueOf(companyId));
                                 if (integerListMap != null) {