浏览代码

add
待办事项

lifang 1 月之前
父节点
当前提交
a8bd825cc8

+ 4 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/entity/BizReasearchPushPointEntity.java

@@ -4,11 +4,15 @@ import cn.tr.module.smart.common.enums.ReasearchQueueTimePointType;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.ToString;
 
 import javax.validation.constraints.NotBlank;
 
 @Data
 @ApiModel("推送时间点")
+@EqualsAndHashCode
+@ToString
 public class BizReasearchPushPointEntity {
     /**
      * {@link ReasearchQueueTimePointType}

+ 3 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizReasearchQueueClinicServiceImpl.java

@@ -243,6 +243,9 @@ public class BizReasearchQueueClinicServiceImpl extends ServiceImpl<BizReasearch
                 log.debug("更新下一个推送间隔为: {} 毫秒", nextPushInterval);
             }
         }
+        if(nextPushInterval==null){
+            return;
+        }
         // 判断是否需要立即推送或延迟推送
         if (nextPushInterval < timeDiffMillion) {
             log.info("已超过推送时间,立即推送消息,ID: {}", id);

+ 6 - 0
tr-modules/tr-module-smartFollowUp/src/main/java/cn/tr/module/smart/common/service/impl/BizReasearchQueueServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.tr.module.smart.common.service.impl;
 
+import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
 import cn.tr.core.exception.TRExcCode;
 import cn.tr.core.strategy.LoginUserStrategy;
@@ -140,6 +141,11 @@ public class BizReasearchQueueServiceImpl implements IBizReasearchQueueService {
 
     private void validateSource(BizReasearchQueueDTO source){
         ValidationUtils.validate(source.getTimePoints());
+        List<BizReasearchPushPointEntity> timePoints = source.getTimePoints();
+        Set<BizReasearchPushPointEntity> reasearchPushPointEntities = new HashSet<>(source.getTimePoints());
+        if (ObjectUtil.equals(CollectionUtil.size(timePoints), CollectionUtil.size(reasearchPushPointEntities))) {
+            throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"推送时间点重复");
+        }
         for (BizReasearchPushPointEntity timePoint : source.getTimePoints()) {
             if (!isValidTimePointFormat(timePoint.getTimePoint())) {
                 throw new ServiceException(TRExcCode.SYSTEM_ERROR_B0001,"时间点格式错误");