refactor: 项目结构合理性优化
This commit is contained in:
39
src/main/java/com/youlai/system/model/vo/DeptVO.java
Normal file
39
src/main/java/com/youlai/system/model/vo/DeptVO.java
Normal file
@@ -0,0 +1,39 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description = "部门视图对象")
|
||||
@Data
|
||||
public class DeptVO {
|
||||
|
||||
@Schema(description = "部门ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "父部门ID")
|
||||
private Long parentId;
|
||||
|
||||
@Schema(description = "部门名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "排序")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "状态(1:启用;0:禁用)")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description = "子部门")
|
||||
private List<DeptVO> children;
|
||||
|
||||
@Schema(description = "创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime createTime;
|
||||
@Schema(description = "修改时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm")
|
||||
private LocalDateTime updateTime;
|
||||
|
||||
}
|
||||
23
src/main/java/com/youlai/system/model/vo/DictPageVO.java
Normal file
23
src/main/java/com/youlai/system/model/vo/DictPageVO.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description ="字典分页对象")
|
||||
@Data
|
||||
public class DictPageVO {
|
||||
|
||||
@Schema(description="字典ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description="字典名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description="字典值")
|
||||
private String value;
|
||||
|
||||
@Schema(description="状态(1:启用;0:禁用)")
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
23
src/main/java/com/youlai/system/model/vo/DictTypePageVO.java
Normal file
23
src/main/java/com/youlai/system/model/vo/DictTypePageVO.java
Normal file
@@ -0,0 +1,23 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
@Schema(description ="字典类型分页对象")
|
||||
@Data
|
||||
public class DictTypePageVO {
|
||||
|
||||
@Schema(description="字典类型ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description="类型名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description="类型编码")
|
||||
private String code;
|
||||
|
||||
@Schema(description="状态:1:启用;0:禁用")
|
||||
private Integer status;
|
||||
|
||||
}
|
||||
51
src/main/java/com/youlai/system/model/vo/MenuVO.java
Normal file
51
src/main/java/com/youlai/system/model/vo/MenuVO.java
Normal file
@@ -0,0 +1,51 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import com.youlai.system.common.enums.MenuTypeEnum;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Schema(description ="菜单视图对象")
|
||||
@Data
|
||||
public class MenuVO {
|
||||
|
||||
@Schema(description = "菜单ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description = "父菜单ID")
|
||||
private Long parentId;
|
||||
|
||||
@Schema(description = "菜单名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description="菜单类型")
|
||||
private MenuTypeEnum type;
|
||||
|
||||
@Schema(description = "路由路径")
|
||||
private String path;
|
||||
|
||||
@Schema(description = "组件路径")
|
||||
private String component;
|
||||
|
||||
@Schema(description = "菜单排序(数字越小排名越靠前)")
|
||||
private Integer sort;
|
||||
|
||||
@Schema(description = "菜单是否可见(1:显示;0:隐藏)")
|
||||
private Integer visible;
|
||||
|
||||
@Schema(description = "ICON")
|
||||
private String icon;
|
||||
|
||||
@Schema(description = "跳转路径")
|
||||
private String redirect;
|
||||
|
||||
@Schema(description="按钮权限标识")
|
||||
private String perm;
|
||||
|
||||
@Schema(description = "子菜单")
|
||||
@JsonInclude(value = JsonInclude.Include.NON_NULL)
|
||||
private List<MenuVO> children;
|
||||
|
||||
}
|
||||
33
src/main/java/com/youlai/system/model/vo/RolePageVO.java
Normal file
33
src/main/java/com/youlai/system/model/vo/RolePageVO.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
@Schema(description ="角色分页对象")
|
||||
@Data
|
||||
public class RolePageVO {
|
||||
|
||||
@Schema(description="角色ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description="角色名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description="角色编码")
|
||||
private String code;
|
||||
|
||||
@Schema(description="角色状态")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description="排序")
|
||||
private Integer sort;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
|
||||
private LocalDateTime updateTime;
|
||||
}
|
||||
57
src/main/java/com/youlai/system/model/vo/RouteVO.java
Normal file
57
src/main/java/com/youlai/system/model/vo/RouteVO.java
Normal file
@@ -0,0 +1,57 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonInclude;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 菜单路由视图对象
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2020/11/28
|
||||
*/
|
||||
@Schema(description = "路由对象")
|
||||
@Data
|
||||
@JsonInclude(JsonInclude.Include.NON_EMPTY)
|
||||
public class RouteVO {
|
||||
|
||||
@Schema(description = "路由路径", example = "user")
|
||||
private String path;
|
||||
|
||||
@Schema(description = "组件路径", example = "system/user/index")
|
||||
private String component;
|
||||
|
||||
@Schema(description = "跳转链接", example = "https://www.youlai.tech")
|
||||
private String redirect;
|
||||
|
||||
@Schema(description = "路由名称")
|
||||
private String name;
|
||||
|
||||
@Schema(description = "路由属性")
|
||||
private Meta meta;
|
||||
|
||||
@Schema(description = "路由属性类型")
|
||||
@Data
|
||||
public static class Meta {
|
||||
|
||||
@Schema(description = "路由title")
|
||||
private String title;
|
||||
|
||||
@Schema(description = "ICON")
|
||||
private String icon;
|
||||
|
||||
@Schema(description = "是否隐藏", example = "true")
|
||||
private Boolean hidden;
|
||||
|
||||
@Schema(description = "拥有路由权限的角色编码", example = "['ADMIN','ROOT']")
|
||||
private List<String> roles;
|
||||
|
||||
@Schema(description = "是否开启缓存", example = "true")
|
||||
private Boolean keepAlive;
|
||||
}
|
||||
|
||||
@Schema(description = "子路由列表")
|
||||
private List<RouteVO> children;
|
||||
}
|
||||
44
src/main/java/com/youlai/system/model/vo/UserExportVO.java
Normal file
44
src/main/java/com/youlai/system/model/vo/UserExportVO.java
Normal file
@@ -0,0 +1,44 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import com.alibaba.excel.annotation.format.DateTimeFormat;
|
||||
import com.alibaba.excel.annotation.write.style.ColumnWidth;
|
||||
import lombok.Data;
|
||||
|
||||
import java.time.LocalDateTime;
|
||||
|
||||
/**
|
||||
* 用户导出视图对象
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/4/11 8:46
|
||||
*/
|
||||
|
||||
@Data
|
||||
@ColumnWidth(20)
|
||||
public class UserExportVO {
|
||||
|
||||
@ExcelProperty(value = "用户名")
|
||||
private String username;
|
||||
|
||||
@ExcelProperty(value = "用户昵称")
|
||||
private String nickname;
|
||||
|
||||
@ExcelProperty(value = "部门")
|
||||
private String deptName;
|
||||
|
||||
@ExcelProperty(value = "性别")
|
||||
private String gender;
|
||||
|
||||
@ExcelProperty(value = "手机号码")
|
||||
private String mobile;
|
||||
|
||||
@ExcelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
@ExcelProperty(value = "创建时间")
|
||||
@DateTimeFormat("yyyy/MM/dd HH:mm:ss")
|
||||
private LocalDateTime createTime;
|
||||
|
||||
|
||||
}
|
||||
33
src/main/java/com/youlai/system/model/vo/UserImportVO.java
Normal file
33
src/main/java/com/youlai/system/model/vo/UserImportVO.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import com.alibaba.excel.annotation.ExcelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* 用户导入对象
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/4/10
|
||||
*/
|
||||
@Data
|
||||
public class UserImportVO {
|
||||
|
||||
@ExcelProperty(value = "用户名")
|
||||
private String username;
|
||||
|
||||
@ExcelProperty(value = "昵称")
|
||||
private String nickname;
|
||||
|
||||
@ExcelProperty(value = "性别")
|
||||
private String gender;
|
||||
|
||||
@ExcelProperty(value = "手机号码")
|
||||
private String mobile;
|
||||
|
||||
@ExcelProperty(value = "邮箱")
|
||||
private String email;
|
||||
|
||||
@ExcelProperty("角色")
|
||||
private String roleCodes;
|
||||
|
||||
}
|
||||
33
src/main/java/com/youlai/system/model/vo/UserInfoVO.java
Normal file
33
src/main/java/com/youlai/system/model/vo/UserInfoVO.java
Normal file
@@ -0,0 +1,33 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 用户登录视图对象
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/1/14
|
||||
*/
|
||||
@Schema(description ="当前登录用户视图对象")
|
||||
@Data
|
||||
public class UserInfoVO {
|
||||
|
||||
@Schema(description="用户ID")
|
||||
private Long userId;
|
||||
|
||||
@Schema(description="用户昵称")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description="头像地址")
|
||||
private String avatar;
|
||||
|
||||
@Schema(description="用户角色编码集合")
|
||||
private Set<String> roles;
|
||||
|
||||
@Schema(description="用户权限标识集合")
|
||||
private Set<String> perms;
|
||||
|
||||
}
|
||||
53
src/main/java/com/youlai/system/model/vo/UserPageVO.java
Normal file
53
src/main/java/com/youlai/system/model/vo/UserPageVO.java
Normal file
@@ -0,0 +1,53 @@
|
||||
package com.youlai.system.model.vo;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import lombok.Data;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* 用户分页视图对象
|
||||
*
|
||||
* @author haoxr
|
||||
* @since 2022/1/15 9:41
|
||||
*/
|
||||
@Schema(description ="用户分页对象")
|
||||
@Data
|
||||
public class UserPageVO {
|
||||
|
||||
@Schema(description="用户ID")
|
||||
private Long id;
|
||||
|
||||
@Schema(description="用户名")
|
||||
private String username;
|
||||
|
||||
@Schema(description="用户昵称")
|
||||
private String nickname;
|
||||
|
||||
@Schema(description="手机号")
|
||||
private String mobile;
|
||||
|
||||
@Schema(description="性别")
|
||||
private String genderLabel;
|
||||
|
||||
@Schema(description="用户头像地址")
|
||||
private String avatar;
|
||||
|
||||
@Schema(description="用户邮箱")
|
||||
private String email;
|
||||
|
||||
@Schema(description="用户状态(1:启用;0:禁用)")
|
||||
private Integer status;
|
||||
|
||||
@Schema(description="部门名称")
|
||||
private String deptName;
|
||||
|
||||
@Schema(description="角色名称,多个使用英文逗号(,)分割")
|
||||
private String roleNames;
|
||||
|
||||
@Schema(description="创建时间")
|
||||
@JsonFormat(pattern = "yyyy-MM-dd")
|
||||
private Date createTime;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user