From 4e95619ba8eb16c33cd0589c358641344f8526b1 Mon Sep 17 00:00:00 2001 From: gaoqr <13665037151@163.com> Date: Mon, 21 Oct 2024 13:46:43 +0800 Subject: [PATCH] =?UTF-8?q?1=E3=80=81=E7=99=BB=E5=87=BA=E7=B3=BB=E7=BB=9Ft?= =?UTF-8?q?oken=E5=88=A0=E9=99=A4=E4=BC=98=E5=8C=96=EF=BC=9B2=E3=80=81?= =?UTF-8?q?=E7=94=9F=E4=BA=A7=E5=8D=95=E6=9F=A5=E8=AF=A2=E3=80=81=E8=8F=9C?= =?UTF-8?q?=E5=8D=95=E5=A2=9E=E6=94=B9=E6=8E=A5=E5=8F=A3=E5=85=A5=E5=8F=82?= =?UTF-8?q?=E6=A3=80=E6=9F=A5=E5=AE=8C=E5=96=84=EF=BC=9B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../admin/order/vo/order/OrderPageReqVO.java | 8 +++-- .../validation/order/OrderStatusValid.java | 32 +++++++++++++++++++ .../order/OrderStatusValidator.java | 29 +++++++++++++++++ .../admin/permission/vo/menu/MenuSaveVO.java | 2 ++ .../oauth2/OAuth2TokenServiceImpl.java | 12 +++---- .../system/validation/menu/MenuTypeValid.java | 32 +++++++++++++++++++ .../validation/menu/MenuTypeValidator.java | 28 ++++++++++++++++ 7 files changed, 134 insertions(+), 9 deletions(-) create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java create mode 100644 cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValid.java create mode 100644 cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValidator.java diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java index 0c12c79e2..895cd8ed3 100644 --- a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/controller/admin/order/vo/order/OrderPageReqVO.java @@ -1,11 +1,11 @@ package com.cf.imes.module.executor.controller.admin.order.vo.order; +import com.cf.imes.module.executor.validation.order.OrderStatusValid; import lombok.*; -import java.math.BigDecimal; -import java.util.*; import io.swagger.v3.oas.annotations.media.Schema; import com.cf.imes.framework.common.pojo.PageParam; +import org.hibernate.validator.constraints.Length; import org.springframework.format.annotation.DateTimeFormat; import java.time.LocalDateTime; @@ -46,21 +46,25 @@ public class OrderPageReqVO extends PageParam { private Integer dataType; @Schema(description = "订单状态,订单状态,0空订单1新单2生产中3生产完成", example = "1") + @OrderStatusValid private Integer status; @Schema(description = "自定义单号") + @Length(max = 32, message = "自定义单号长度不能超过32") private String customOrderNo; @Schema(description = "客户") private String customer; @Schema(description = "客户地址") + @Length(max = 255, message = "收货地址长度不能超过255") private String address; @Schema(description = "客户电话") private String phoneNumber; @Schema(description = "经销商") + @Length(max = 255, message = "经销商长度不能超过255") private String dealer; @Schema(description = "经销商电话") diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java new file mode 100644 index 000000000..d353f46a7 --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValid.java @@ -0,0 +1,32 @@ +package com.cf.imes.module.executor.validation.order; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 订单状态校验注解 + * + * @author Gqr + * @since 2024/10/18 16:37 + */ +@Target({ + ElementType.FIELD, + ElementType.PARAMETER +}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Constraint( + validatedBy = {OrderStatusValidator.class} +) +public @interface OrderStatusValid { + String message() default "订单状态不合法,请检查"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java new file mode 100644 index 000000000..6370a9afc --- /dev/null +++ b/cf-module-prod-executor/cf-module-prod-executor-biz/src/main/java/com/cf/imes/module/executor/validation/order/OrderStatusValidator.java @@ -0,0 +1,29 @@ +package com.cf.imes.module.executor.validation.order; + +import cn.hutool.core.util.ObjectUtil; +import com.cf.imes.module.executor.enums.OrderStatusEnum; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; +import java.util.Objects; + +/** + * 订单状态校验器 + * + * @author Gqr + * @since 2024/10/18 16:38 + */ +public class OrderStatusValidator implements ConstraintValidator { + @Override + public boolean isValid(Integer value, ConstraintValidatorContext context) { + if (ObjectUtil.isNull(value)) { + return true; + } + for (OrderStatusEnum statusEnum : OrderStatusEnum.values()) { + if (Objects.equals(statusEnum.getStatus(), value)) { + return true; + } + } + return false; + } +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java index fb9b993f7..becc20f67 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/controller/admin/permission/vo/menu/MenuSaveVO.java @@ -1,6 +1,7 @@ package com.cf.imes.module.system.controller.admin.permission.vo.menu; import com.cf.imes.module.system.validation.common.CommonStatus; +import com.cf.imes.module.system.validation.menu.MenuTypeValid; import io.swagger.v3.oas.annotations.media.Schema; import lombok.Data; @@ -27,6 +28,7 @@ public class MenuSaveVO { @Schema(description = "类型,参见 MenuTypeEnum 枚举类", requiredMode = Schema.RequiredMode.REQUIRED, example = "1") @NotNull(message = "菜单类型不能为空") + @MenuTypeValid private Integer type; @Schema(description = "显示顺序不能为空", requiredMode = Schema.RequiredMode.REQUIRED, example = "1024") diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java index 566918163..469f104e7 100644 --- a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/service/oauth2/OAuth2TokenServiceImpl.java @@ -131,15 +131,13 @@ public class OAuth2TokenServiceImpl implements OAuth2TokenService { @Override public OAuth2AccessTokenDO removeAccessToken(String accessToken) { // 删除访问令牌 - OAuth2AccessTokenDO accessTokenDO = oauth2AccessTokenMapper.selectByAccessToken(accessToken); - if (accessTokenDO == null) { + OAuth2AccessTokenDO oauth2AccessTokenDO = oauth2AccessTokenRedisDAO.get(accessToken); + if (ObjectUtil.isNotNull(oauth2AccessTokenDO)) { + oauth2AccessTokenRedisDAO.delete(accessToken); + return oauth2AccessTokenDO; + } else { return null; } - oauth2AccessTokenMapper.deleteById(accessTokenDO.getId()); - oauth2AccessTokenRedisDAO.delete(accessToken); - // 删除刷新令牌 - oauth2RefreshTokenMapper.deleteByRefreshToken(accessTokenDO.getRefreshToken()); - return accessTokenDO; } @Override diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValid.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValid.java new file mode 100644 index 000000000..3f6c71d8e --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValid.java @@ -0,0 +1,32 @@ +package com.cf.imes.module.system.validation.menu; + +import javax.validation.Constraint; +import javax.validation.Payload; +import java.lang.annotation.Documented; +import java.lang.annotation.ElementType; +import java.lang.annotation.Retention; +import java.lang.annotation.RetentionPolicy; +import java.lang.annotation.Target; + +/** + * 菜单类型校验注解 + * + * @author Gqr + * @since 2024/10/21 11:25 + */ +@Target({ + ElementType.PARAMETER, + ElementType.FIELD, +}) +@Retention(RetentionPolicy.RUNTIME) +@Documented +@Constraint( + validatedBy = {MenuTypeValidator.class} +) +public @interface MenuTypeValid { + String message() default "菜单类型不合法"; + + Class[] groups() default {}; + + Class[] payload() default {}; +} diff --git a/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValidator.java b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValidator.java new file mode 100644 index 000000000..b60fe67af --- /dev/null +++ b/cf-module-system/cf-module-system-biz/src/main/java/com/cf/imes/module/system/validation/menu/MenuTypeValidator.java @@ -0,0 +1,28 @@ +package com.cf.imes.module.system.validation.menu; + +import cn.hutool.core.util.ObjectUtil; +import com.cf.imes.module.system.enums.permission.MenuTypeEnum; + +import javax.validation.ConstraintValidator; +import javax.validation.ConstraintValidatorContext; + +/** + * 菜单类型校验器 + * + * @author Gqr + * @since 2024/10/21 11:26 + */ +public class MenuTypeValidator implements ConstraintValidator { + @Override + public boolean isValid(Integer value, ConstraintValidatorContext context) { + if (ObjectUtil.isNull(value)) { + return true; + } + for (MenuTypeEnum typeEnum : MenuTypeEnum.values()) { + if (ObjectUtil.equal(typeEnum.getType(), value)) { + return true; + } + } + return false; + } +}