1、登出系统token删除优化;2、生产单查询、菜单增改接口入参检查完善;

This commit is contained in:
gaoqr
2024-10-21 13:46:43 +08:00
parent ab0ca666c3
commit 4e95619ba8
7 changed files with 134 additions and 9 deletions
@@ -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")
@@ -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
@@ -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<? extends Payload>[] payload() default {};
}
@@ -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<MenuTypeValid, Integer> {
@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;
}
}