user配置

This commit is contained in:
xiang
2026-03-22 19:19:58 +08:00
parent fce3ed71f4
commit 8583ddcb25
34 changed files with 1207 additions and 5 deletions

View File

@@ -0,0 +1,22 @@
package com.xiang.xs.api.code;
import com.xiang.xservice.basic.exception.code.BaseErrorCode;
import lombok.AllArgsConstructor;
import lombok.Getter;
@Getter
@AllArgsConstructor
public enum Code01UserErrorCode implements BaseErrorCode {
USER_NOT_EXISTS("A1000101", "用户不存在"),
USER_EXISTS("A1000102", "用户已存在"),
USER_LOGIN_ERROR("A1000103", "用户登录失败!"),
USER_REGISTER_ERROR("1000104", "用户注册失败!"),
REFRESH_TOKEN_NOT_EXISTS("1000105", "refreshToken不匹配"),
TOKEN_NOT_VALID("1000106", "token校验失败"),
;
private final String code;
private final String message;
}

View File

@@ -0,0 +1,21 @@
package com.xiang.xs.api.code;
import com.xiang.xservice.basic.exception.code.BaseErrorCode;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @Author: xiang
* @Date: 2025-08-29 16:27
*/
@Getter
@AllArgsConstructor
public enum Code02RoleErrorCode implements BaseErrorCode {
ROLE_NOT_EXISTS("A1000201", "角色不存在"),
USER_ROLE_NOT_EXISTS("A1000202", "用户角色权限不存在!")
;
private final String code;
private final String message;
}

View File

@@ -0,0 +1,20 @@
package com.xiang.xs.api.code;
import com.xiang.xservice.basic.exception.code.BaseErrorCode;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
* @Author: xiang
* @Date: 2025-08-29 16:27
*/
@Getter
@AllArgsConstructor
public enum Code03DeptErrorCode implements BaseErrorCode {
DEPT_NOT_EXISTS("A1000301", "部门不存在"),
;
private final String code;
private final String message;
}

View File

@@ -0,0 +1,54 @@
package com.xiang.xs.api.pojo.request;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.Email;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.Size;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RegisterRequest {
/**
* 用户名(昵称)
*/
@NotBlank(message = "用户名(昵称)不能为空")
@Size(min = 0, max = 20, message = "用户名长度不能超过20")
private String name;
/**
* 用户名
*/
@NotBlank(message = "用户名不能为空")
private String username;
/**
* 密码
*/
@NotBlank(message = "密码不能为空")
@Size(min = 6, max = 18, message = "密码长度需要在6-18位")
private String password;
/**
* 邮箱
*/
@Email(message = "邮箱验证不能通过")
private String email;
/**
* 手机号
*/
@NotBlank(message = "手机号码不能为空")
@Size(min = 11, max = 11, message = "手机号码长度验证失败")
private String phone;
/**
* 头像
*/
private String avatar;
/**
* 验证码
*/
@NotBlank(message = "验证码不能为空")
private String code;
}

View File

@@ -0,0 +1,49 @@
package com.xiang.xs.api.pojo.request.user;
import com.xiang.xservice.basic.common.req.BaseRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.NoArgsConstructor;
@EqualsAndHashCode(callSuper = true)
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserAddRequest extends BaseRequest {
/**
* 用户名(昵称)
*/
private String name;
/**
* 账号
*/
private String username;
/**
* 密码
*/
private String password;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String phone;
/**
* 头像
*/
private String avatar;
/**
* 状态0禁用 1启用
*/
private Integer status;
}

View File

@@ -0,0 +1,4 @@
package com.xiang.xs.api.pojo.request.user;
public class UserDeptUpdateRequest {
}

View File

@@ -0,0 +1,36 @@
package com.xiang.xs.api.pojo.request.user;
import com.xiang.xservice.basic.common.req.BaseRequest;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserQueryRequest extends BaseRequest {
/**
* 用户名(昵称)
*/
private String name;
/**
* 账号
*/
private String username;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String phone;
/**
* 状态0禁用 1启用
*/
private Integer status;
}

View File

@@ -0,0 +1,16 @@
package com.xiang.xs.api.pojo.request.user;
import lombok.Data;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Data
public class UserResetPwdRequest {
@NotNull(message = "userId不能为空")
private Long userId;
@NotBlank(message = "密码不能为空")
private String password;
}

View File

@@ -0,0 +1,22 @@
package com.xiang.xs.api.pojo.request.user;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.List;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserRoleUpdateRequest {
/**
* 用户id
*/
private Long userId;
/**
* 角色id集合
*/
private List<Long> roleIds;
}

View File

@@ -0,0 +1,12 @@
package com.xiang.xs.api.pojo.request.user;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserUpdateRequest extends UserAddRequest {
private Long id;
}

View File

@@ -0,0 +1,13 @@
package com.xiang.xs.api.pojo.request.user;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class UserUpdateStatusRequest {
@NotNull(message = "id不能为空")
private Long id;
@NotNull(message = "状态不能为空")
private Integer status;
}

View File

@@ -0,0 +1,103 @@
package com.xiang.xs.api.pojo.resp;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.util.ArrayList;
import java.util.List;
/**
* @Author: xiang
* @Date: 2026-03-20 15:24
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public class MenuVO {
/**
* 菜单ID
*/
private Long menuId;
/**
* 菜单名称
*/
private String menuName;
/**
* 父菜单名称
*/
private String parentName;
/**
* 父菜单ID
*/
private Long parentId;
/**
* 显示顺序
*/
private Integer orderNum;
/**
* 路由地址
*/
private String path;
/**
* 组件路径
*/
private String component;
/**
* 路由参数
*/
private String query;
/**
* 路由名称默认和路由地址相同的驼峰格式注意因为vue3版本的router会删除名称相同路由为避免名字的冲突特殊情况可以自定义
*/
private String routeName;
/**
* 是否为外链0是 1否
*/
private String isFrame;
/**
* 是否缓存0缓存 1不缓存
*/
private String isCache;
/**
* 类型M目录 C菜单 F按钮
*/
private String menuType;
/**
* 显示状态0显示 1隐藏
*/
private String visible;
/**
* 菜单状态0正常 1停用
*/
private String status;
/**
* 权限字符串
*/
private String perms;
/**
* 菜单图标
*/
private String icon;
/**
* 子菜单
*/
private List<MenuVO> children = new ArrayList<MenuVO>();
}

View File

@@ -0,0 +1,29 @@
package com.xiang.xs.api.pojo.resp;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class RegisterResp {
/**
* 用户名(昵称)
*/
private String name;
/**
* 用户名
*/
private String username;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String phone;
}

View File

@@ -0,0 +1,65 @@
package com.xiang.xs.api.pojo.resp;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class UserResp {
private Long id;
/**
* 用户名(昵称)
*/
private String name;
/**
* 账号
*/
private String username;
/**
* 邮箱
*/
private String email;
/**
* 手机号
*/
private String phone;
/**
* 头像
*/
private String avatar;
/**
* 最后登陆ip
*/
private String loginIp;
/**
* 最后登陆时间
*/
private LocalDateTime loginDate;
/**
* 状态0禁用 1启用
*/
private Integer status;
/**
* 修改时间
*/
private LocalDateTime updateTime;
/**
* 租户id
*/
private Long tenantId;
}