Bladeren bron

时间冲突

liujc 2 jaren geleden
bovenliggende
commit
89e777bf56

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/wrapper/DegreeWrapper.java

@@ -134,7 +134,7 @@ public class DegreeWrapper {
         private Date endTime;
 
         @ApiModelProperty(value = "登记时间",required = true)
-        @NotNull(message = "登记时间不能为空")
+//        @NotNull(message = "登记时间不能为空")
         private Date registrationTime;
 
         @ApiModelProperty("报名人次")

+ 29 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/DegreeServiceImpl.java

@@ -121,12 +121,34 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
 
         Integer tenantId = TenantContextHolder.getTenantId();
         degree.setTenantId(tenantId);
+
+        // 判断考级时间冲突
+        checkTime(degree);
+
         updateDegreeStatus(degree);
 
         
         return this.save(JSON.parseObject(degree.jsonString(), Degree.class));
     }
 
+    private void checkTime(DegreeWrapper.Degree degree) {
+        List<Degree> list = this.lambdaQuery()
+                .eq(Degree::getTenantId, degree.getTenantId())
+                .le(Degree::getStartTime, degree.getEndTime())
+                .ge(Degree::getEndTime, degree.getStartTime())
+                .list();
+
+        if (CollectionUtils.isEmpty(list)) {
+            return;
+        }
+
+        if (list.size()  == 1) {
+            Degree degree1 = list.get(0);
+            if (degree1.getId().equals(degree.getId())) return;
+        }
+        throw new BizException("考级时间冲突");
+    }
+
     /**
      * 根据时间设置状态
      * @param degree DegreeWrapper.Degree
@@ -149,6 +171,13 @@ public class DegreeServiceImpl extends ServiceImpl<DegreeMapper, Degree> impleme
      */
     @Override
     public Boolean update(DegreeWrapper.Degree degree){
+
+        Integer tenantId = TenantContextHolder.getTenantId();
+        degree.setTenantId(tenantId);
+
+        // 判断考级时间冲突
+        checkTime(degree);
+
         updateDegreeStatus(degree);
 
         return this.updateById(JSON.parseObject(degree.jsonString(), Degree.class));