Commit 6edd4d7eaea6eb9fcfba3851d3267dcbc92b1fba

Authored by YunaiV
1 parent be2ba5be

初始化 dept 部门模块

src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/SysDeptController.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dept;
  2 +
  3 +import io.swagger.annotations.Api;
  4 +import org.springframework.web.bind.annotation.RequestMapping;
  5 +import org.springframework.web.bind.annotation.RestController;
  6 +
  7 +@Api(tags = "部门 API")
  8 +@RestController
  9 +@RequestMapping("/system/dept")
  10 +public class SysDeptController {
  11 +
  12 +
  13 +
  14 +}
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/vo/dept/SysDeptBaseVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dept.vo.dept;
  2 +
  3 +import io.swagger.annotations.ApiModelProperty;
  4 +import lombok.Data;
  5 +
  6 +import javax.validation.constraints.Email;
  7 +import javax.validation.constraints.NotBlank;
  8 +import javax.validation.constraints.NotNull;
  9 +import javax.validation.constraints.Size;
  10 +
  11 +/**
  12 + * 部门 Base VO,提供给添加、修改、详细的子 VO 使用
  13 + * 如果子 VO 存在差异的字段,请不要添加到这里,影响 Swagger 文档生成
  14 + */
  15 +@Data
  16 +public class SysDeptBaseVO {
  17 +
  18 + @ApiModelProperty(value = "菜单名称", required = true, example = "芋道")
  19 + @NotBlank(message = "部门名称不能为空")
  20 + @Size(max = 30, message = "部门名称长度不能超过30个字符")
  21 + private String name;
  22 +
  23 + @ApiModelProperty(value = "父菜单 ID", required = true, example = "1024")
  24 + @NotNull(message = "父菜单 ID 不能为空")
  25 + private Long parentId;
  26 +
  27 + @ApiModelProperty(value = "显示顺序不能为空", required = true, example = "1024")
  28 + @NotBlank(message = "显示顺序不能为空")
  29 + private String sort;
  30 +
  31 + @ApiModelProperty(value = "负责人", example = "芋道")
  32 + private String leader;
  33 +
  34 + @ApiModelProperty(value = "联系电话", example = "15601691000")
  35 + @Size(max = 11, message = "联系电话长度不能超过11个字符")
  36 + private String phone;
  37 +
  38 + @ApiModelProperty(value = "邮箱", example = "yudao@iocoder.cn")
  39 + @Email(message = "邮箱格式不正确")
  40 + @Size(max = 50, message = "邮箱长度不能超过50个字符")
  41 + private String email;
  42 +
  43 +}
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/vo/dept/SysDeptCreateReqVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dept.vo.dept;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import lombok.Data;
  5 +import lombok.EqualsAndHashCode;
  6 +
  7 +@ApiModel("部门创建 Request VO")
  8 +@Data
  9 +@EqualsAndHashCode(callSuper = true)
  10 +public class SysDeptCreateReqVO extends SysDeptBaseVO {
  11 +}
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/vo/dept/SysDeptListReqVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dept.vo.dept;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +
  8 +@ApiModel("部门列表 Request VO")
  9 +@Data
  10 +@EqualsAndHashCode(callSuper = true)
  11 +public class SysDeptListReqVO extends SysDeptBaseVO {
  12 +
  13 + @ApiModelProperty(value = "部门名称", example = "芋道", notes = "模糊匹配")
  14 + private String name;
  15 +
  16 + @ApiModelProperty(value = "展示状态", example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
  17 + private Integer status;
  18 +
  19 +}
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/vo/dept/SysDeptRespVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dept.vo.dept;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +
  8 +import java.util.Date;
  9 +
  10 +@ApiModel("部门信息 Response VO")
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +public class SysDeptRespVO extends SysDeptBaseVO {
  14 +
  15 + @ApiModelProperty(value = "部门编号", required = true, example = "1024")
  16 + private Integer id;
  17 +
  18 + @ApiModelProperty(value = "祖级列表", required = true, example = "0,100")
  19 + private String ancestors;
  20 +
  21 + @ApiModelProperty(value = "状态", required = true, example = "1", notes = "参见 SysCommonStatusEnum 枚举类")
  22 + private Integer status;
  23 +
  24 + @ApiModelProperty(value = "创建时间", required = true, example = "时间戳格式")
  25 + private Date createTime;
  26 +
  27 +}
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/vo/dept/SysDeptSimpleRespVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dept.vo.dept;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.AllArgsConstructor;
  6 +import lombok.Data;
  7 +import lombok.NoArgsConstructor;
  8 +
  9 +@ApiModel("部门精简信息 Response VO")
  10 +@Data
  11 +@NoArgsConstructor
  12 +@AllArgsConstructor
  13 +public class SysDeptSimpleRespVO {
  14 +
  15 + @ApiModelProperty(value = "部门编号", required = true, example = "1024")
  16 + private Integer id;
  17 +
  18 + @ApiModelProperty(value = "部门名称", required = true, example = "芋道")
  19 + private String name;
  20 +
  21 + @ApiModelProperty(value = "父部门 ID", required = true, example = "1024")
  22 + private Long parentId;
  23 +
  24 +}
src/main/java/cn/iocoder/dashboard/modules/system/controller/dept/vo/dept/SysDeptUpdateReqVO.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.controller.dept.vo.dept;
  2 +
  3 +import io.swagger.annotations.ApiModel;
  4 +import io.swagger.annotations.ApiModelProperty;
  5 +import lombok.Data;
  6 +import lombok.EqualsAndHashCode;
  7 +
  8 +import javax.validation.constraints.NotNull;
  9 +
  10 +@ApiModel("部门更新 Request VO")
  11 +@Data
  12 +@EqualsAndHashCode(callSuper = true)
  13 +public class SysDeptUpdateReqVO extends SysDeptBaseVO {
  14 +
  15 + @ApiModelProperty(value = "部门编号", required = true, example = "1024")
  16 + @NotNull(message = "部门编号不能为空")
  17 + private Integer id;
  18 +
  19 +}
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dao/dept/SysDeptMapper.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.dal.mysql.dao.dept;
  2 +
  3 +import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO;
  4 +import com.baomidou.mybatisplus.core.mapper.BaseMapper;
  5 +import org.apache.ibatis.annotations.Mapper;
  6 +
  7 +import java.util.List;
  8 +
  9 +@Mapper
  10 +public interface SysDeptMapper extends BaseMapper<SysDeptDO> {
  11 +
  12 + default List<SysDeptDO> selectList() {
  13 + return selectList(null);
  14 + }
  15 +
  16 +}
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dataobject/dept/SysDept.java renamed to src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dataobject/dept/SysDeptDO.java
1 package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept; 1 package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept;
2 2
  3 +import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
3 import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; 4 import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
4 -  
5 -import javax.validation.constraints.Email;  
6 -import javax.validation.constraints.NotBlank;  
7 -import javax.validation.constraints.Size;  
8 -import java.util.ArrayList;  
9 -import java.util.List; 5 +import com.baomidou.mybatisplus.annotation.TableId;
  6 +import com.baomidou.mybatisplus.annotation.TableName;
  7 +import lombok.Data;
  8 +import lombok.EqualsAndHashCode;
10 9
11 /** 10 /**
12 * 部门表 sys_dept 11 * 部门表 sys_dept
13 * 12 *
14 * @author ruoyi 13 * @author ruoyi
15 */ 14 */
16 -public class SysDept extends BaseDO { 15 +@TableName("sys_dept")
  16 +@Data
  17 +@EqualsAndHashCode(callSuper = true)
  18 +public class SysDeptDO extends BaseDO {
17 19
18 /** 20 /**
19 * 部门ID 21 * 部门ID
20 */ 22 */
21 - private Long deptId;  
22 - 23 + @TableId
  24 + private Long id;
  25 + /**
  26 + * 部门名称
  27 + */
  28 + private String name;
23 /** 29 /**
24 * 父部门ID 30 * 父部门ID
  31 + *
  32 + * 外键 {@link #id}
25 */ 33 */
26 private Long parentId; 34 private Long parentId;
27 -  
28 /** 35 /**
29 * 祖级列表 36 * 祖级列表
30 */ 37 */
31 private String ancestors; 38 private String ancestors;
32 -  
33 - /**  
34 - * 部门名称  
35 - */  
36 - private String deptName;  
37 -  
38 /** 39 /**
39 * 显示顺序 40 * 显示顺序
40 */ 41 */
41 - private String orderNum;  
42 - 42 + private String sort;
43 /** 43 /**
44 * 负责人 44 * 负责人
45 */ 45 */
46 private String leader; 46 private String leader;
47 -  
48 /** 47 /**
49 * 联系电话 48 * 联系电话
50 */ 49 */
51 private String phone; 50 private String phone;
52 -  
53 /** 51 /**
54 * 邮箱 52 * 邮箱
55 */ 53 */
56 private String email; 54 private String email;
57 -  
58 - /**  
59 - * 部门状态:0正常,1停用  
60 - */  
61 - private String status;  
62 -  
63 - /**  
64 - * 删除标志(0代表存在 2代表删除)  
65 - */  
66 - private String delFlag;  
67 -  
68 /** 55 /**
69 - * 父部门名称 56 + * 部门状态
  57 + *
  58 + * 枚举 {@link CommonStatusEnum}
70 */ 59 */
71 - private String parentName;  
72 -  
73 - /**  
74 - * 子部门  
75 - */  
76 - private List<SysDept> children = new ArrayList<SysDept>();  
77 -  
78 - @NotBlank(message = "部门名称不能为空")  
79 - @Size(min = 0, max = 30, message = "部门名称长度不能超过30个字符")  
80 - public String getDeptName() {  
81 - return deptName;  
82 - }  
83 -  
84 - @NotBlank(message = "显示顺序不能为空")  
85 - public String getOrderNum() {  
86 - return orderNum;  
87 - }  
88 -  
89 - @Size(min = 0, max = 11, message = "联系电话长度不能超过11个字符")  
90 - public String getPhone() {  
91 - return phone;  
92 - }  
93 -  
94 - @Email(message = "邮箱格式不正确")  
95 - @Size(min = 0, max = 50, message = "邮箱长度不能超过50个字符")  
96 - public String getEmail() {  
97 - return email;  
98 - } 60 + private Integer status;
99 61
100 } 62 }
src/main/java/cn/iocoder/dashboard/modules/system/dal/mysql/dataobject/user/SysUserDO.java
@@ -3,7 +3,7 @@ package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user; @@ -3,7 +3,7 @@ package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.user;
3 import cn.iocoder.dashboard.framework.excel.Excel; 3 import cn.iocoder.dashboard.framework.excel.Excel;
4 import cn.iocoder.dashboard.framework.excel.Excels; 4 import cn.iocoder.dashboard.framework.excel.Excels;
5 import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO; 5 import cn.iocoder.dashboard.framework.mybatis.core.dataobject.BaseDO;
6 -import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDept; 6 +import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO;
7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO; 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO;
8 import com.baomidou.mybatisplus.annotation.TableField; 8 import com.baomidou.mybatisplus.annotation.TableField;
9 import com.baomidou.mybatisplus.annotation.TableId; 9 import com.baomidou.mybatisplus.annotation.TableId;
@@ -120,7 +120,7 @@ public class SysUserDO extends BaseDO { @@ -120,7 +120,7 @@ public class SysUserDO extends BaseDO {
120 @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT) 120 @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT)
121 }) 121 })
122 @TableField(exist = false) 122 @TableField(exist = false)
123 - private SysDept dept; 123 + private SysDeptDO dept;
124 124
125 /** 125 /**
126 * 角色对象 126 * 角色对象
src/main/java/cn/iocoder/dashboard/modules/system/service/dept/SysDeptService.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.service.dept;
  2 +
  3 +import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO;
  4 +
  5 +import java.util.List;
  6 +
  7 +/**
  8 + * 部门 Service 接口
  9 + *
  10 + * @author 芋道源码
  11 + */
  12 +public interface SysDeptService {
  13 +
  14 + /**
  15 + * 获得所有部门列表
  16 + *
  17 + * @return 菜单列表
  18 + */
  19 + List<SysDeptDO> listDepts();
  20 +
  21 +}
src/main/java/cn/iocoder/dashboard/modules/system/service/dept/impl/SysDeptServiceImpl.java 0 → 100644
  1 +package cn.iocoder.dashboard.modules.system.service.dept.impl;
  2 +
  3 +import cn.iocoder.dashboard.modules.system.dal.mysql.dao.dept.SysDeptMapper;
  4 +import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept.SysDeptDO;
  5 +import cn.iocoder.dashboard.modules.system.service.dept.SysDeptService;
  6 +import org.springframework.stereotype.Service;
  7 +
  8 +import javax.annotation.Resource;
  9 +import java.util.List;
  10 +
  11 +/**
  12 + * 部门 Service 实现类
  13 + *
  14 + * @author 芋道源码
  15 + */
  16 +@Service
  17 +public class SysDeptServiceImpl implements SysDeptService {
  18 +
  19 + @Resource
  20 + private SysDeptMapper deptMapper;
  21 +
  22 + @Override
  23 + public List<SysDeptDO> listDepts() {
  24 + return deptMapper.selectList();
  25 + }
  26 +
  27 +}