diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java index 65e5781..39b585f 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java @@ -47,10 +47,13 @@ public class PlanRateController { @Operation(summary = "创建计划频次") @PreAuthorize("@ss.hasPermission('garden:plan-rate:create')") public CommonResult createPlanRate(@Valid @RequestBody PlanRateSaveReqVO createReqVO) { + if(createReqVO.verify()){ + return error(PLAN_RATE_LEVEL_ID_DUPLICATE); + } //校验 for (PlanRateDetailSaveReqVO detail : createReqVO.getDetails()) { if(!StringValidateUtil.validate(detail.getRate())){ - String str = "频次值["+detail.getRate()+"]错误,只能是1-10数字或者分数如1/3"; + String str = "频次值["+detail.getRate()+"]错误,匹配1-10的数字 或 分子/分母(分子、分母均为1-10的数字)"; return error(PLAN_RATE_VALUE_ERROR.getCode(), str); } } @@ -65,6 +68,13 @@ public class PlanRateController { if(updateReqVO.verify()){ return error(PLAN_RATE_LEVEL_ID_DUPLICATE); } + //校验 + for (PlanRateDetailSaveReqVO detail : updateReqVO.getDetails()) { + if(!StringValidateUtil.validate(detail.getRate())){ + String str = "频次值["+detail.getRate()+"]错误,匹配1-10的数字 或 分子/分母(分子、分母均为1-10的数字)"; + return error(PLAN_RATE_VALUE_ERROR.getCode(), str); + } + } planRateService.updatePlanRate(updateReqVO); return success(true); } diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateSaveReqVO.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateSaveReqVO.java index 43bb6f6..c5f248a 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateSaveReqVO.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateSaveReqVO.java @@ -1,14 +1,12 @@ package com.zteits.urbanops.module.garden.controller.admin.planrate.vo; -import com.zteits.urbanops.framework.common.exception.ServerException; -import com.zteits.urbanops.module.garden.util.StringValidateUtil; +import com.zteits.urbanops.module.garden.util.FieldDuplicateCheckerUtil; import io.swagger.v3.oas.annotations.media.Schema; import jakarta.validation.Valid; import lombok.*; import java.util.*; import jakarta.validation.constraints.*; -import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RATE_VALUE_ERROR; @Schema(description = "管理后台 - 计划频次新增/修改 Request VO") @Data @@ -36,9 +34,8 @@ public class PlanRateSaveReqVO { @Valid private List details; - public String verify(){ - - return null; + public boolean verify() { + return FieldDuplicateCheckerUtil.hasDuplicate(details, PlanRateDetailSaveReqVO::getLevelId); } } \ No newline at end of file diff --git a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/StringValidateUtil.java b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/StringValidateUtil.java index a55458f..6c99d2c 100644 --- a/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/StringValidateUtil.java +++ b/urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/StringValidateUtil.java @@ -107,8 +107,5 @@ public class StringValidateUtil { System.out.println(validate(" 1/3 ")); // true(trim后符合,validate方法会处理) System.out.println(validate(null)); // false(空值) - // 测试逻辑校验方式 - System.out.println(validateByLogic("2/3")); // true - System.out.println(validateByLogic("05")); // false(以0开头) } }