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 1 package cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.dept;
2 2  
  3 +import cn.iocoder.dashboard.common.enums.CommonStatusEnum;
3 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 11 * 部门表 sys_dept
13 12 *
14 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 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 30 * 父部门ID
  31 + *
  32 + * 外键 {@link #id}
25 33 */
26 34 private Long parentId;
27   -
28 35 /**
29 36 * 祖级列表
30 37 */
31 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 46 private String leader;
47   -
48 47 /**
49 48 * 联系电话
50 49 */
51 50 private String phone;
52   -
53 51 /**
54 52 * 邮箱
55 53 */
56 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 3 import cn.iocoder.dashboard.framework.excel.Excel;
4 4 import cn.iocoder.dashboard.framework.excel.Excels;
5 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 7 import cn.iocoder.dashboard.modules.system.dal.mysql.dataobject.permission.SysRoleDO;
8 8 import com.baomidou.mybatisplus.annotation.TableField;
9 9 import com.baomidou.mybatisplus.annotation.TableId;
... ... @@ -120,7 +120,7 @@ public class SysUserDO extends BaseDO {
120 120 @Excel(name = "部门负责人", targetAttr = "leader", type = Excel.Type.EXPORT)
121 121 })
122 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 +}
... ...