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

处理批量改有效期的 建议开始和结束分开 不用捆绑在一起 想改哪个就改哪个的问题

lixiaolong 2 месяцев назад
Родитель
Сommit
c757f9d089

+ 0 - 4
commons/src/main/java/com/jzg/commons/entity/dto/PtlAgreementCostBatchUpdateValidDateParam.java

@@ -2,12 +2,10 @@ package com.jzg.commons.entity.dto;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import io.swagger.v3.oas.annotations.media.Schema;
-import jakarta.validation.constraints.NotNull;
 import lombok.Data;
 
 import java.io.Serial;
 import java.io.Serializable;
-import java.time.LocalDateTime;
 import java.util.Date;
 import java.util.List;
 
@@ -34,12 +32,10 @@ public class PtlAgreementCostBatchUpdateValidDateParam implements Serializable {
     private String costType;
 
     @Schema(description = "生效时间(起)", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "生效时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date effectiveTime;
 
     @Schema(description = "失效时间(止)", requiredMode = Schema.RequiredMode.REQUIRED)
-    @NotNull(message = "失效时间不能为空")
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
     private Date failureTime;
 

+ 13 - 7
tenant/organization/src/main/java/com/jzg/organization/service/impl/PtlAgreementCostServiceImpl.java

@@ -449,12 +449,14 @@ public class PtlAgreementCostServiceImpl extends ServiceImpl<PtlAgreementCostMap
     @Override
     public HttpResult<String> batchUpdateValidDate(PtlAgreementCostBatchUpdateValidDateParam param) {
         // 1. 校验时间
-        if (param.getEffectiveTime() == null || param.getFailureTime() == null) {
-            return HttpResult.error("生效时间和失效时间不能为空");
+        if (param.getEffectiveTime() == null && param.getFailureTime() == null) {
+            return HttpResult.error("生效时间和失效时间至少要传一个");
         }
-        if (param.getFailureTime().before(param.getEffectiveTime())
-                || param.getFailureTime().equals(param.getEffectiveTime())) {
-            return HttpResult.error("失效时间必须晚于生效时间");
+        if (param.getEffectiveTime() != null && param.getFailureTime() != null) {
+            if (param.getFailureTime().before(param.getEffectiveTime())
+                    || param.getFailureTime().equals(param.getEffectiveTime())) {
+                return HttpResult.error("失效时间必须晚于生效时间");
+            }
         }
 
         List<String> finalCostIds;
@@ -492,8 +494,12 @@ public class PtlAgreementCostServiceImpl extends ServiceImpl<PtlAgreementCostMap
         // 4. 批量更新有效期
         LambdaUpdateWrapper<PtlAgreementCost> updateWrapper = new LambdaUpdateWrapper<>();
         updateWrapper.in(PtlAgreementCost::getId, finalCostIds);
-        updateWrapper.set(PtlAgreementCost::getEffectiveTime, param.getEffectiveTime());
-        updateWrapper.set(PtlAgreementCost::getFailureTime, param.getFailureTime());
+        if (param.getEffectiveTime() != null) {
+            updateWrapper.set(PtlAgreementCost::getEffectiveTime, param.getEffectiveTime());
+        }
+        if (param.getFailureTime() != null) {
+            updateWrapper.set(PtlAgreementCost::getFailureTime, param.getFailureTime());
+        }
         updateWrapper.set(PtlAgreementCost::getApproved, 0); // 0: 未审批
         boolean success = this.update(updateWrapper);