Commit c74f31544a17bd2cb9afe44fa75c50dca2c598a6

Authored by 王富生
1 parent bdf5ac11

优化时间查询问题

urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/PlanRateController.java
@@ -47,10 +47,13 @@ public class PlanRateController { @@ -47,10 +47,13 @@ public class PlanRateController {
47 @Operation(summary = "创建计划频次") 47 @Operation(summary = "创建计划频次")
48 @PreAuthorize("@ss.hasPermission('garden:plan-rate:create')") 48 @PreAuthorize("@ss.hasPermission('garden:plan-rate:create')")
49 public CommonResult<Long> createPlanRate(@Valid @RequestBody PlanRateSaveReqVO createReqVO) { 49 public CommonResult<Long> createPlanRate(@Valid @RequestBody PlanRateSaveReqVO createReqVO) {
  50 + if(createReqVO.verify()){
  51 + return error(PLAN_RATE_LEVEL_ID_DUPLICATE);
  52 + }
50 //校验 53 //校验
51 for (PlanRateDetailSaveReqVO detail : createReqVO.getDetails()) { 54 for (PlanRateDetailSaveReqVO detail : createReqVO.getDetails()) {
52 if(!StringValidateUtil.validate(detail.getRate())){ 55 if(!StringValidateUtil.validate(detail.getRate())){
53 - String str = "频次值["+detail.getRate()+"]错误,只能是1-10数字或者分数如1/3"; 56 + String str = "频次值["+detail.getRate()+"]错误,匹配1-10的数字 或 分子/分母(分子、分母均为1-10的数字)";
54 return error(PLAN_RATE_VALUE_ERROR.getCode(), str); 57 return error(PLAN_RATE_VALUE_ERROR.getCode(), str);
55 } 58 }
56 } 59 }
@@ -65,6 +68,13 @@ public class PlanRateController { @@ -65,6 +68,13 @@ public class PlanRateController {
65 if(updateReqVO.verify()){ 68 if(updateReqVO.verify()){
66 return error(PLAN_RATE_LEVEL_ID_DUPLICATE); 69 return error(PLAN_RATE_LEVEL_ID_DUPLICATE);
67 } 70 }
  71 + //校验
  72 + for (PlanRateDetailSaveReqVO detail : updateReqVO.getDetails()) {
  73 + if(!StringValidateUtil.validate(detail.getRate())){
  74 + String str = "频次值["+detail.getRate()+"]错误,匹配1-10的数字 或 分子/分母(分子、分母均为1-10的数字)";
  75 + return error(PLAN_RATE_VALUE_ERROR.getCode(), str);
  76 + }
  77 + }
68 planRateService.updatePlanRate(updateReqVO); 78 planRateService.updatePlanRate(updateReqVO);
69 return success(true); 79 return success(true);
70 } 80 }
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/controller/admin/planrate/vo/PlanRateSaveReqVO.java
1 package com.zteits.urbanops.module.garden.controller.admin.planrate.vo; 1 package com.zteits.urbanops.module.garden.controller.admin.planrate.vo;
2 2
3 -import com.zteits.urbanops.framework.common.exception.ServerException;  
4 -import com.zteits.urbanops.module.garden.util.StringValidateUtil; 3 +import com.zteits.urbanops.module.garden.util.FieldDuplicateCheckerUtil;
5 import io.swagger.v3.oas.annotations.media.Schema; 4 import io.swagger.v3.oas.annotations.media.Schema;
6 import jakarta.validation.Valid; 5 import jakarta.validation.Valid;
7 import lombok.*; 6 import lombok.*;
8 import java.util.*; 7 import java.util.*;
9 import jakarta.validation.constraints.*; 8 import jakarta.validation.constraints.*;
10 9
11 -import static com.zteits.urbanops.module.garden.enums.ErrorCodeConstants.PLAN_RATE_VALUE_ERROR;  
12 10
13 @Schema(description = "管理后台 - 计划频次新增/修改 Request VO") 11 @Schema(description = "管理后台 - 计划频次新增/修改 Request VO")
14 @Data 12 @Data
@@ -36,9 +34,8 @@ public class PlanRateSaveReqVO { @@ -36,9 +34,8 @@ public class PlanRateSaveReqVO {
36 @Valid 34 @Valid
37 private List<PlanRateDetailSaveReqVO> details; 35 private List<PlanRateDetailSaveReqVO> details;
38 36
39 - public String verify(){  
40 -  
41 - return null; 37 + public boolean verify() {
  38 + return FieldDuplicateCheckerUtil.hasDuplicate(details, PlanRateDetailSaveReqVO::getLevelId);
42 } 39 }
43 40
44 } 41 }
45 \ No newline at end of file 42 \ No newline at end of file
urbanops-module-garden/src/main/java/com/zteits/urbanops/module/garden/util/StringValidateUtil.java
@@ -107,8 +107,5 @@ public class StringValidateUtil { @@ -107,8 +107,5 @@ public class StringValidateUtil {
107 System.out.println(validate(" 1/3 ")); // true(trim后符合,validate方法会处理) 107 System.out.println(validate(" 1/3 ")); // true(trim后符合,validate方法会处理)
108 System.out.println(validate(null)); // false(空值) 108 System.out.println(validate(null)); // false(空值)
109 109
110 - // 测试逻辑校验方式  
111 - System.out.println(validateByLogic("2/3")); // true  
112 - System.out.println(validateByLogic("05")); // false(以0开头)  
113 } 110 }
114 } 111 }