From 0920ceffd5a20c4319e7a19dcf7e2678b501f434 Mon Sep 17 00:00:00 2001 From: lijiahang Date: Sun, 16 Jul 2023 00:06:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=A8=A1=E6=9D=BF.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../core/generator/VelocityTemplateEngine.java | 2 +- .../orion-entity-request-create.java.vm | 7 ++++--- .../orion-entity-request-query.java.vm | 4 ++++ .../orion-entity-request-update.java.vm | 7 ++++--- .../core/filter/TokenAuthenticationFilter.java | 6 +++++- .../src/main/resources/application.yaml | 2 +- .../infra/entity/domain/SystemUserDO.java | 7 +++++-- .../module/infra/entity/dto/LoginTokenDTO.java | 17 ++++++++++++----- .../entity/request/SystemUserCreateRequest.java | 14 ++++++++++---- .../entity/request/SystemUserQueryRequest.java | 11 +++++++++-- .../entity/request/SystemUserUpdateRequest.java | 14 ++++++++++---- .../module/infra/entity/vo/SystemUserVO.java | 9 ++++++--- 12 files changed, 71 insertions(+), 29 deletions(-) diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/VelocityTemplateEngine.java b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/VelocityTemplateEngine.java index e80fd035..e2a9f518 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/VelocityTemplateEngine.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/java/com/orion/ops/framework/mybatis/core/generator/VelocityTemplateEngine.java @@ -49,7 +49,7 @@ import java.util.stream.Collectors; */ public class VelocityTemplateEngine extends AbstractTemplateEngine { - private Map tableComment; + private final Map tableComment; private VelocityEngine velocityEngine; diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-create.java.vm b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-create.java.vm index b1acdefb..814cba1d 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-create.java.vm +++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-create.java.vm @@ -1,16 +1,16 @@ package ${currentPackage}; import io.swagger.v3.oas.annotations.media.Schema; -import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.*; - import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.*; /** * $!{table.comment} 创建请求对象 @@ -29,6 +29,7 @@ public class ${type}CreateRequest implements Serializable { #foreach($field in ${table.fields}) #if("$!field.propertyName" != "id") #if("$field.propertyType" == "String") + @Size(max = $field.metaInfo.length) @NotBlank #else @NotNull diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-query.java.vm b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-query.java.vm index e671289f..458cc493 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-query.java.vm +++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-query.java.vm @@ -4,6 +4,7 @@ import com.orion.ops.framework.common.entity.PageRequest; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import javax.validation.constraints.Size; import java.util.*; /** @@ -22,6 +23,9 @@ import java.util.*; public class ${type}QueryRequest extends PageRequest { #foreach($field in ${table.fields}) + #if("$field.propertyType" == "String") + @Size(max = $field.metaInfo.length) + #end #if("$!field.comment" != "") @Schema(description = "${field.comment}") #end diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-update.java.vm b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-update.java.vm index b7ee1a45..efdfc1a5 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-update.java.vm +++ b/orion-ops-framework/orion-ops-spring-boot-starter-mybatis/src/main/resources/templates/orion-entity-request-update.java.vm @@ -1,16 +1,16 @@ package ${currentPackage}; import io.swagger.v3.oas.annotations.media.Schema; -import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.*; - import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.*; /** * $!{table.comment} 更新请求对象 @@ -28,6 +28,7 @@ public class ${type}UpdateRequest implements Serializable { #foreach($field in ${table.fields}) #if("$field.propertyType" == "String") + @Size(max = $field.metaInfo.length) @NotBlank #else @NotNull diff --git a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/filter/TokenAuthenticationFilter.java b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/filter/TokenAuthenticationFilter.java index 86da7d8e..707c3e1b 100644 --- a/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/filter/TokenAuthenticationFilter.java +++ b/orion-ops-framework/orion-ops-spring-boot-starter-security/src/main/java/com/orion/ops/framework/security/core/filter/TokenAuthenticationFilter.java @@ -1,5 +1,6 @@ package com.orion.ops.framework.security.core.filter; +import com.orion.lang.exception.argument.HttpWrapperException; import com.orion.lang.utils.Strings; import com.orion.ops.framework.common.constant.ErrorCode; import com.orion.ops.framework.common.security.LoginUser; @@ -45,8 +46,11 @@ public class TokenAuthenticationFilter extends OncePerRequestFilter { SecurityUtils.setLoginUser(loginUser, request); } } + } catch (HttpWrapperException e) { + log.error("TokenAuthenticationFilter.doFilterInternal auth error", e); + Servlets.writeHttpWrapper(response, e.getWrapper()); } catch (Exception e) { - log.error("TokenAuthenticationFilter.doFilterInternal error", e); + log.error("TokenAuthenticationFilter.doFilterInternal parser error", e); Servlets.writeHttpWrapper(response, ErrorCode.INTERNAL_SERVER_ERROR.getWrapper()); return; } diff --git a/orion-ops-launch/src/main/resources/application.yaml b/orion-ops-launch/src/main/resources/application.yaml index b06d54a1..a4795f3b 100644 --- a/orion-ops-launch/src/main/resources/application.yaml +++ b/orion-ops-launch/src/main/resources/application.yaml @@ -151,7 +151,7 @@ orion: # 全局日志打印 printer: mode: PRETTY - expression: 'execution (* com.orion.ops.**.controller.*.*(..)) && !@annotation(com.orion.ops.framework.common.annotation.IgnoreLog)' + expression: 'execution (* com.orion.ops..*.controller..*.*(..)) && !@annotation(com.orion.ops.framework.common.annotation.IgnoreLog)' headers: - user-agent,accept - content-type diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java index 2a8da603..922cefdb 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/domain/SystemUserDO.java @@ -1,11 +1,14 @@ package com.orion.ops.module.infra.entity.domain; -import com.baomidou.mybatisplus.annotation.*; +import com.baomidou.mybatisplus.annotation.IdType; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.orion.ops.framework.mybatis.core.domain.BaseDO; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; +import java.util.Date; /** * 用户 实体对象 diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/LoginTokenDTO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/LoginTokenDTO.java index 785e19e6..b3f12869 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/LoginTokenDTO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/dto/LoginTokenDTO.java @@ -19,22 +19,29 @@ import lombok.NoArgsConstructor; public class LoginTokenDTO { /** - * 状态 + * 用户id */ - private Integer status; + private Long id; /** - * 登陆时间 + * token 状态 + * + * @see com.orion.ops.module.infra.enums.LoginTokenStatusEnum + */ + private Integer tokenStatus; + + /** + * 登陆时间/其他设备登陆时间 */ private Long loginTime; /** - * 登陆 ip + * 登陆 ip/其他设备登陆 ip */ private String ip; /** - * 登陆地址 + * 登陆地址/其他设备登陆地址 */ private String location; diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserCreateRequest.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserCreateRequest.java index fd14bb04..af41baf9 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserCreateRequest.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserCreateRequest.java @@ -1,23 +1,23 @@ package com.orion.ops.module.infra.entity.request; import io.swagger.v3.oas.annotations.media.Schema; -import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.*; - import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.Date; /** * 用户 创建请求对象 * * @author Jiahang Li * @version 1.0.0 - * @since 2023-7-14 10:29 + * @since 2023-7-16 00:03 */ @Data @Builder @@ -26,26 +26,32 @@ import javax.validation.constraints.NotNull; @Schema(name = "SystemUserCreateRequest", description = "用户 创建请求对象") public class SystemUserCreateRequest implements Serializable { + @Size(max = 32) @NotBlank @Schema(description = "用户名") private String username; + @Size(max = 64) @NotBlank @Schema(description = "密码") private String password; + @Size(max = 16) @NotBlank @Schema(description = "花名") private String nickname; + @Size(max = 500) @NotBlank @Schema(description = "头像地址") private String avatar; + @Size(max = 15) @NotBlank @Schema(description = "手机号") private String mobile; + @Size(max = 64) @NotBlank @Schema(description = "邮箱") private String email; diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserQueryRequest.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserQueryRequest.java index c7f64950..83272f91 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserQueryRequest.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserQueryRequest.java @@ -4,14 +4,15 @@ import com.orion.ops.framework.common.entity.PageRequest; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; -import java.util.*; +import javax.validation.constraints.Size; +import java.util.Date; /** * 用户 查询请求对象 * * @author Jiahang Li * @version 1.0.0 - * @since 2023-7-14 10:29 + * @since 2023-7-16 00:03 */ @Data @Builder @@ -24,21 +25,27 @@ public class SystemUserQueryRequest extends PageRequest { @Schema(description = "id") private Long id; + @Size(max = 32) @Schema(description = "用户名") private String username; + @Size(max = 64) @Schema(description = "密码") private String password; + @Size(max = 16) @Schema(description = "花名") private String nickname; + @Size(max = 500) @Schema(description = "头像地址") private String avatar; + @Size(max = 15) @Schema(description = "手机号") private String mobile; + @Size(max = 64) @Schema(description = "邮箱") private String email; diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserUpdateRequest.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserUpdateRequest.java index 679532a1..15afd160 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserUpdateRequest.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/request/SystemUserUpdateRequest.java @@ -1,23 +1,23 @@ package com.orion.ops.module.infra.entity.request; import io.swagger.v3.oas.annotations.media.Schema; -import java.io.Serializable; import lombok.AllArgsConstructor; import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; -import java.util.*; - import javax.validation.constraints.NotBlank; import javax.validation.constraints.NotNull; +import javax.validation.constraints.Size; +import java.io.Serializable; +import java.util.Date; /** * 用户 更新请求对象 * * @author Jiahang Li * @version 1.0.0 - * @since 2023-7-14 10:29 + * @since 2023-7-16 00:03 */ @Data @Builder @@ -30,26 +30,32 @@ public class SystemUserUpdateRequest implements Serializable { @Schema(description = "id") private Long id; + @Size(max = 32) @NotBlank @Schema(description = "用户名") private String username; + @Size(max = 64) @NotBlank @Schema(description = "密码") private String password; + @Size(max = 16) @NotBlank @Schema(description = "花名") private String nickname; + @Size(max = 500) @NotBlank @Schema(description = "头像地址") private String avatar; + @Size(max = 15) @NotBlank @Schema(description = "手机号") private String mobile; + @Size(max = 64) @NotBlank @Schema(description = "邮箱") private String email; diff --git a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java index 0914a6a7..c080d2c5 100644 --- a/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java +++ b/orion-ops-module-infra/orion-ops-module-infra-service/src/main/java/com/orion/ops/module/infra/entity/vo/SystemUserVO.java @@ -1,10 +1,13 @@ package com.orion.ops.module.infra.entity.vo; import io.swagger.v3.oas.annotations.media.Schema; -import java.io.Serializable; -import lombok.*; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; -import java.util.*; +import java.io.Serializable; +import java.util.Date; /** * 用户 视图响应对象