feat: 为 Batch 1 请求 DTO 补全 @Schema 中文描述注解
13 个 DTO 共补全 73 个字段的中文描述: - 认证相关: LoginRequest, RegisterRequest, ResetPasswordRequest, RefreshTokenRequest - 管理员相关: AdminLoginRequest, AdminCreateRequest, AdminUpdateRequest, AdminPageRequest - 用户相关: UserCreateRequest, UserUpdateRequest, UserPageRequest, UserProfileUpdateRequest - 分析相关: AnalyticsQueryRequest Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Email;
|
||||
@@ -21,39 +22,45 @@ public class AdminCreateRequest {
|
||||
*/
|
||||
@NotBlank(message = "账号不能为空")
|
||||
@Size(min = 3, max = 50, message = "账号长度必须在3-50个字符之间")
|
||||
@Schema(description = "管理员账号")
|
||||
private String account;
|
||||
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@Size(min = 6, max = 20, message = "密码长度必须在6-20个字符之间")
|
||||
@Schema(description = "初始密码")
|
||||
private String password;
|
||||
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
@NotBlank(message = "姓名不能为空")
|
||||
@Size(min = 2, max = 50, message = "姓名长度必须在2-50个字符之间")
|
||||
@Schema(description = "管理员姓名")
|
||||
private String username;
|
||||
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
@Size(max = 100, message = "邮箱长度不能超过100个字符")
|
||||
@Schema(description = "邮箱")
|
||||
private String email;
|
||||
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
@Size(max = 500, message = "头像URL长度不能超过500个字符")
|
||||
@Schema(description = "头像URL")
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
@@ -61,22 +68,26 @@ public class AdminCreateRequest {
|
||||
*/
|
||||
@NotBlank(message = "角色不能为空")
|
||||
@Pattern(regexp = "^(super_admin|admin|operator)$", message = "角色必须是super_admin、admin或operator")
|
||||
@Schema(description = "角色(super_admin/admin/operator)")
|
||||
private String role;
|
||||
|
||||
/**
|
||||
* 权限列表(JSON格式)
|
||||
*/
|
||||
@Schema(description = "权限列表(JSON格式)")
|
||||
private String permissions;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@Size(max = 50, message = "部门长度不能超过50个字符")
|
||||
@Schema(description = "所属部门")
|
||||
private String department;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
@Size(max = 50, message = "职位长度不能超过50个字符")
|
||||
@Schema(description = "职位")
|
||||
private String position;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.NotBlank;
|
||||
@@ -19,12 +20,14 @@ public class AdminLoginRequest {
|
||||
*/
|
||||
@NotBlank(message = "账号不能为空")
|
||||
@Size(min = 3, max = 50, message = "账号长度必须在3-50个字符之间")
|
||||
@Schema(description = "管理员账号")
|
||||
private String account;
|
||||
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@Size(min = 6, max = 20, message = "密码长度必须在6-20个字符之间")
|
||||
@Schema(description = "管理员密码")
|
||||
private String password;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.emotion.common.BasePageRequest;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -20,40 +21,47 @@ public class AdminPageRequest extends BasePageRequest {
|
||||
* 账号
|
||||
*/
|
||||
@Size(max = 50, message = "账号长度不能超过50个字符")
|
||||
@Schema(description = "账号(模糊搜索)")
|
||||
private String account;
|
||||
|
||||
/**
|
||||
* 姓名
|
||||
*/
|
||||
@Size(max = 50, message = "姓名长度不能超过50个字符")
|
||||
@Schema(description = "姓名(模糊搜索)")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Size(max = 100, message = "邮箱长度不能超过100个字符")
|
||||
@Schema(description = "邮箱(模糊搜索)")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Size(max = 20, message = "手机号长度不能超过20个字符")
|
||||
@Schema(description = "手机号(模糊搜索)")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 角色
|
||||
*/
|
||||
@Size(max = 20, message = "角色长度不能超过20个字符")
|
||||
@Schema(description = "角色")
|
||||
private String role;
|
||||
|
||||
/**
|
||||
* 状态: 0-禁用, 1-正常
|
||||
*/
|
||||
@Schema(description = "状态(0-禁用,1-正常)")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 部门
|
||||
*/
|
||||
@Size(max = 50, message = "部门长度不能超过50个字符")
|
||||
@Schema(description = "部门(模糊搜索)")
|
||||
private String department;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Email;
|
||||
@@ -20,12 +21,14 @@ public class AdminUpdateRequest {
|
||||
* ID
|
||||
*/
|
||||
@NotBlank(message = "ID不能为空")
|
||||
@Schema(description = "管理员ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 管理员姓名
|
||||
*/
|
||||
@Size(min = 2, max = 50, message = "姓名长度必须在2-50个字符之间")
|
||||
@Schema(description = "管理员姓名")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
@@ -33,45 +36,53 @@ public class AdminUpdateRequest {
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
@Size(max = 100, message = "邮箱长度不能超过100个字符")
|
||||
@Schema(description = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
@Size(max = 500, message = "头像URL长度不能超过500个字符")
|
||||
@Schema(description = "头像URL")
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 角色
|
||||
*/
|
||||
@Pattern(regexp = "^(super_admin|admin|operator)$", message = "角色必须是super_admin、admin或operator")
|
||||
@Schema(description = "角色(super_admin/admin/operator)")
|
||||
private String role;
|
||||
|
||||
/**
|
||||
* 权限列表(JSON格式)
|
||||
*/
|
||||
@Schema(description = "权限列表(JSON格式)")
|
||||
private String permissions;
|
||||
|
||||
/**
|
||||
* 状态: 0-禁用, 1-正常
|
||||
*/
|
||||
@Schema(description = "状态(0-禁用,1-正常)")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 所属部门
|
||||
*/
|
||||
@Size(max = 50, message = "部门长度不能超过50个字符")
|
||||
@Schema(description = "所属部门")
|
||||
private String department;
|
||||
|
||||
/**
|
||||
* 职位
|
||||
*/
|
||||
@Size(max = 50, message = "职位长度不能超过50个字符")
|
||||
@Schema(description = "职位")
|
||||
private String position;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -23,6 +24,7 @@ public class LoginRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
@@ -30,5 +32,6 @@ public class LoginRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "验证码不能为空")
|
||||
@Size(min = 6, max = 6, message = "验证码必须为6位")
|
||||
@Schema(description = "短信验证码")
|
||||
private String smsCode;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -19,5 +20,6 @@ public class RefreshTokenRequest extends BaseRequest {
|
||||
* 刷新令牌
|
||||
*/
|
||||
@NotBlank(message = "刷新令牌不能为空")
|
||||
@Schema(description = "刷新令牌")
|
||||
private String refreshToken;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -23,6 +24,7 @@ public class RegisterRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号(作为账号)")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
@@ -30,6 +32,7 @@ public class RegisterRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@Size(min = 6, max = 20, message = "密码长度必须在6-20个字符之间")
|
||||
@Schema(description = "密码")
|
||||
private String password;
|
||||
|
||||
/**
|
||||
@@ -37,5 +40,6 @@ public class RegisterRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "验证码不能为空")
|
||||
@Size(min = 6, max = 6, message = "验证码必须为6位")
|
||||
@Schema(description = "短信验证码")
|
||||
private String smsCode;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -24,6 +25,7 @@ public class ResetPasswordRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "手机号不能为空")
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
@@ -31,12 +33,14 @@ public class ResetPasswordRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "新密码不能为空")
|
||||
@Size(min = 6, max = 20, message = "新密码长度必须在6-20个字符之间")
|
||||
@Schema(description = "新密码")
|
||||
private String newPassword;
|
||||
|
||||
/**
|
||||
* 验证码(本期固定为 123456)
|
||||
*/
|
||||
@NotBlank(message = "验证码不能为空")
|
||||
@Schema(description = "验证码")
|
||||
private String captcha;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
|
||||
@@ -23,31 +24,36 @@ public class UserCreateRequest extends BaseRequest {
|
||||
*/
|
||||
@NotBlank(message = "账号不能为空")
|
||||
@Size(min = 3, max = 20, message = "账号长度必须在3-20个字符之间")
|
||||
@Schema(description = "用户账号")
|
||||
private String account;
|
||||
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@NotBlank(message = "用户名不能为空")
|
||||
@Size(min = 2, max = 20, message = "用户名长度必须在2-20个字符之间")
|
||||
@Schema(description = "用户名")
|
||||
private String username;
|
||||
|
||||
|
||||
/**
|
||||
* 密码
|
||||
*/
|
||||
@NotBlank(message = "密码不能为空")
|
||||
@Size(min = 6, max = 20, message = "密码长度必须在6-20个字符之间")
|
||||
@Schema(description = "初始密码")
|
||||
private String password;
|
||||
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
@Schema(description = "邮箱")
|
||||
private String email;
|
||||
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号")
|
||||
private String phone;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import com.emotion.common.BasePageRequest;
|
||||
import lombok.Data;
|
||||
import lombok.EqualsAndHashCode;
|
||||
@@ -20,34 +21,40 @@ public class UserPageRequest extends BasePageRequest {
|
||||
* 账号
|
||||
*/
|
||||
@Size(max = 20, message = "账号长度不能超过20个字符")
|
||||
@Schema(description = "账号(模糊搜索)")
|
||||
private String account;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@Size(max = 20, message = "用户名长度不能超过20个字符")
|
||||
@Schema(description = "用户名(模糊搜索)")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 邮箱
|
||||
*/
|
||||
@Size(max = 100, message = "邮箱长度不能超过100个字符")
|
||||
@Schema(description = "邮箱(模糊搜索)")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Size(max = 20, message = "手机号长度不能超过20个字符")
|
||||
@Schema(description = "手机号(模糊搜索)")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@Schema(description = "状态")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 会员等级
|
||||
*/
|
||||
@Size(max = 20, message = "会员等级长度不能超过20个字符")
|
||||
@Schema(description = "会员等级")
|
||||
private String memberLevel;
|
||||
}
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Email;
|
||||
@@ -20,6 +21,7 @@ public class UserProfileUpdateRequest {
|
||||
* 昵称
|
||||
*/
|
||||
@Size(max = 50, message = "昵称长度不能超过50个字符")
|
||||
@Schema(description = "昵称")
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
@@ -27,34 +29,40 @@ public class UserProfileUpdateRequest {
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
@Size(max = 100, message = "邮箱长度不能超过100个字符")
|
||||
@Schema(description = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
@Size(max = 500, message = "头像URL长度不能超过500个字符")
|
||||
@Schema(description = "头像URL")
|
||||
private String avatar;
|
||||
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
@Schema(description = "生日")
|
||||
private LocalDate birthDate;
|
||||
|
||||
|
||||
/**
|
||||
* 所在地
|
||||
*/
|
||||
@Size(max = 100, message = "所在地长度不能超过100个字符")
|
||||
@Schema(description = "所在地")
|
||||
private String location;
|
||||
|
||||
|
||||
/**
|
||||
* 个人简介
|
||||
*/
|
||||
@Size(max = 500, message = "个人简介长度不能超过500个字符")
|
||||
@Schema(description = "个人简介")
|
||||
private String bio;
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import javax.validation.constraints.Email;
|
||||
@@ -21,18 +22,21 @@ public class UserUpdateRequest {
|
||||
* ID
|
||||
*/
|
||||
@NotBlank(message = "ID不能为空")
|
||||
@Schema(description = "用户ID")
|
||||
private String id;
|
||||
|
||||
/**
|
||||
* 用户名
|
||||
*/
|
||||
@Size(max = 50, message = "用户名长度不能超过50个字符")
|
||||
@Schema(description = "用户名")
|
||||
private String username;
|
||||
|
||||
/**
|
||||
* 昵称
|
||||
*/
|
||||
@Size(max = 50, message = "昵称长度不能超过50个字符")
|
||||
@Schema(description = "昵称")
|
||||
private String nickname;
|
||||
|
||||
/**
|
||||
@@ -40,45 +44,53 @@ public class UserUpdateRequest {
|
||||
*/
|
||||
@Email(message = "邮箱格式不正确")
|
||||
@Size(max = 100, message = "邮箱长度不能超过100个字符")
|
||||
@Schema(description = "邮箱")
|
||||
private String email;
|
||||
|
||||
/**
|
||||
* 手机号
|
||||
*/
|
||||
@Pattern(regexp = "^1[3-9]\\d{9}$", message = "手机号格式不正确")
|
||||
@Schema(description = "手机号")
|
||||
private String phone;
|
||||
|
||||
/**
|
||||
* 头像URL
|
||||
*/
|
||||
@Size(max = 500, message = "头像URL长度不能超过500个字符")
|
||||
@Schema(description = "头像URL")
|
||||
private String avatar;
|
||||
|
||||
/**
|
||||
* 生日
|
||||
*/
|
||||
@Schema(description = "生日")
|
||||
private LocalDate birthDate;
|
||||
|
||||
/**
|
||||
* 所在地
|
||||
*/
|
||||
@Size(max = 100, message = "所在地长度不能超过100个字符")
|
||||
@Schema(description = "所在地")
|
||||
private String location;
|
||||
|
||||
/**
|
||||
* 个人简介
|
||||
*/
|
||||
@Size(max = 500, message = "个人简介长度不能超过500个字符")
|
||||
@Schema(description = "个人简介")
|
||||
private String bio;
|
||||
|
||||
/**
|
||||
* 状态
|
||||
*/
|
||||
@Schema(description = "状态")
|
||||
private Integer status;
|
||||
|
||||
/**
|
||||
* 会员等级
|
||||
*/
|
||||
@Size(max = 20, message = "会员等级长度不能超过20个字符")
|
||||
@Schema(description = "会员等级")
|
||||
private String memberLevel;
|
||||
}
|
||||
+7
@@ -1,5 +1,6 @@
|
||||
package com.emotion.dto.request.analytics;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
import org.springframework.format.annotation.DateTimeFormat;
|
||||
|
||||
@@ -10,16 +11,22 @@ import java.util.List;
|
||||
public class AnalyticsQueryRequest {
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "开始日期")
|
||||
private LocalDate startDate;
|
||||
|
||||
@DateTimeFormat(pattern = "yyyy-MM-dd")
|
||||
@Schema(description = "结束日期")
|
||||
private LocalDate endDate;
|
||||
|
||||
@Schema(description = "时间粒度(day/week/month)")
|
||||
private String granularity;
|
||||
|
||||
@Schema(description = "事件名称列表(过滤条件)")
|
||||
private List<String> eventNames;
|
||||
|
||||
@Schema(description = "事件类型(过滤条件)")
|
||||
private String eventType;
|
||||
|
||||
@Schema(description = "返回结果数量限制")
|
||||
private Integer limit;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user