Commit 6edd4d7eaea6eb9fcfba3851d3267dcbc92b1fba
1 parent
be2ba5be
初始化 dept 部门模块
Showing
12 changed files
with
245 additions
and
62 deletions
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 | +} | ... | ... |