From f3b7846c5fae83c32d2b12b3da519a2747f5e8db Mon Sep 17 00:00:00 2001 From: Bunny <1319900154@qq.com> Date: Fri, 4 Oct 2024 10:43:44 +0800 Subject: [PATCH] =?UTF-8?q?feat(=E6=96=B0=E5=A2=9E):=20=E9=83=A8=E9=97=A8?= =?UTF-8?q?=E8=A1=A8CURD=E5=92=8C=E9=83=A8=E5=88=86=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../generator/AdminCodeGenerator.java | 22 ++--- .../generator/generator/WebGeneratorCode.java | 20 ++-- .../bunny/dao/dto/system/dept/DeptAddDto.java | 35 +++++++ .../cn/bunny/dao/dto/system/dept/DeptDto.java | 32 +++++++ .../dao/dto/system/dept/DeptUpdateDto.java | 40 ++++++++ .../cn/bunny/dao/entity/system/AdminUser.java | 2 + .../java/cn/bunny/dao/entity/system/Dept.java | 41 +++++++++ .../cn/bunny/dao/entity/system/UserDept.java | 31 +++++++ .../cn/bunny/dao/vo/system/dept/DeptVo.java | 30 ++++++ .../services/controller/DeptController.java | 72 +++++++++++++++ .../controller/UserDeptController.java | 18 ++++ .../cn/bunny/services/mapper/DeptMapper.java | 39 ++++++++ .../bunny/services/mapper/UserDeptMapper.java | 18 ++++ .../bunny/services/service/DeptService.java | 52 +++++++++++ .../services/service/UserDeptService.java | 16 ++++ .../service/impl/DeptServiceImpl.java | 92 +++++++++++++++++++ .../service/impl/UserDeptServiceImpl.java | 20 ++++ .../src/main/resources/mapper/DeptMapper.xml | 59 ++++++++++++ .../main/resources/mapper/UserDeptMapper.xml | 22 +++++ 19 files changed, 640 insertions(+), 21 deletions(-) create mode 100644 dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptAddDto.java create mode 100644 dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptDto.java create mode 100644 dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptUpdateDto.java create mode 100644 dao/src/main/java/cn/bunny/dao/entity/system/Dept.java create mode 100644 dao/src/main/java/cn/bunny/dao/entity/system/UserDept.java create mode 100644 dao/src/main/java/cn/bunny/dao/vo/system/dept/DeptVo.java create mode 100644 service/src/main/java/cn/bunny/services/controller/DeptController.java create mode 100644 service/src/main/java/cn/bunny/services/controller/UserDeptController.java create mode 100644 service/src/main/java/cn/bunny/services/mapper/DeptMapper.java create mode 100644 service/src/main/java/cn/bunny/services/mapper/UserDeptMapper.java create mode 100644 service/src/main/java/cn/bunny/services/service/DeptService.java create mode 100644 service/src/main/java/cn/bunny/services/service/UserDeptService.java create mode 100644 service/src/main/java/cn/bunny/services/service/impl/DeptServiceImpl.java create mode 100644 service/src/main/java/cn/bunny/services/service/impl/UserDeptServiceImpl.java create mode 100644 service/src/main/resources/mapper/DeptMapper.xml create mode 100644 service/src/main/resources/mapper/UserDeptMapper.xml diff --git a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java index c7258d7..6fc4758 100644 --- a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java +++ b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/AdminCodeGenerator.java @@ -10,17 +10,17 @@ import java.util.Collections; public class AdminCodeGenerator { // 数据连接 - public static final String sqlHost = "jdbc:mysql://106.15.251.123:3305/bunny_docs?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true"; + public static final String sqlHost = "jdbc:mysql://192.168.3.98:3304/auth_admin?serverTimezone=GMT%2B8&useSSL=false&characterEncoding=utf-8&allowPublicKeyRetrieval=true"; // 作者名称 public static final String author = "Bunny"; // 公共路径 - public static final String outputDir = "D:\\MyFolder\\Bunny\\BunnyBBS\\BunnyBBS-server-admin\\service"; - // public static final String outputDir = "D:\\Project\\web\\PC\\BunnyNote\\BunnyBBS-server-admin\\service"; + // public static final String outputDir = "D:\\MyFolder\\Bunny\\BunnyBBS\\BunnyBBS-server-admin\\service"; + public static final String outputDir = "D:\\Project\\web\\PC\\auth\\auth-server-java\\service"; // 实体类名称 public static final String entity = "Bunny"; public static void main(String[] args) { - Generation("system_menu_icon"); + Generation("sys_dept", "sys_user_dept"); } /** @@ -41,17 +41,17 @@ public class AdminCodeGenerator { }) .packageConfig(builder -> builder.entity(entity)// 实体类包名 // 父包名。如果为空,将下面子包名必须写全部, 否则就只需写子包名 - .parent("cn.bunny.service.admin") - .controller("controller.main.system")// 控制层包名 - .mapper("mapper.main.system")// mapper层包名 - .service("service.main.system")// service层包名 - .serviceImpl("service.system.impl")// service实现类包名 + .parent("cn.bunny.services") + .controller("controller")// 控制层包名 + .mapper("mapper")// mapper层包名 + .service("service")// service层包名 + .serviceImpl("service·impl")// service实现类包名 // 自定义mapper.xml文件输出目录 - .pathInfo(Collections.singletonMap(OutputFile.xml, outputDir + "/src/main/resources/mapper/main/system"))) + .pathInfo(Collections.singletonMap(OutputFile.xml, outputDir + "/src/main/resources/mapper"))) .strategyConfig(builder -> { // 设置要生成的表名 builder.addInclude(tableName) - //.addTablePrefix("sys_")// 设置表前缀过滤 + .addTablePrefix("sys_") .entityBuilder() .enableLombok() .enableChainModel() diff --git a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java index aa7db12..d4ad44e 100644 --- a/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java +++ b/common/common-generator/src/main/java/cn/bunny/common/generator/generator/WebGeneratorCode.java @@ -3,11 +3,11 @@ package cn.bunny.common.generator.generator; import cn.bunny.common.generator.entity.BaseField; import cn.bunny.common.generator.entity.BaseResultMap; import cn.bunny.common.generator.utils.GeneratorCodeUtils; -import cn.bunny.dao.dto.system.user.AdminUserAddDto; -import cn.bunny.dao.dto.system.user.AdminUserDto; -import cn.bunny.dao.dto.system.user.AdminUserUpdateDto; -import cn.bunny.dao.entity.system.AdminUser; -import cn.bunny.dao.vo.system.user.AdminUserVo; +import cn.bunny.dao.dto.system.dept.DeptAddDto; +import cn.bunny.dao.dto.system.dept.DeptDto; +import cn.bunny.dao.dto.system.dept.DeptUpdateDto; +import cn.bunny.dao.entity.system.Dept; +import cn.bunny.dao.vo.system.dept.DeptVo; import com.baomidou.mybatisplus.annotation.TableName; import com.google.common.base.CaseFormat; import io.swagger.v3.oas.annotations.media.Schema; @@ -51,11 +51,11 @@ public class WebGeneratorCode { public static String resourceMapperPath = "D:\\Project\\web\\PC\\auth\\auth-server-java\\service\\src\\main\\resources\\mapper\\"; public static void main(String[] args) throws Exception { - Class originalClass = AdminUser.class; - Class dtoClass = AdminUserDto.class; - Class addDtoClass = AdminUserAddDto.class; - Class updateDtoClass = AdminUserUpdateDto.class; - Class voClass = AdminUserVo.class; + Class originalClass = Dept.class; + Class dtoClass = DeptDto.class; + Class addDtoClass = DeptAddDto.class; + Class updateDtoClass = DeptUpdateDto.class; + Class voClass = DeptVo.class; // 设置velocity资源加载器 Properties prop = new Properties(); diff --git a/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptAddDto.java b/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptAddDto.java new file mode 100644 index 0000000..b59d333 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptAddDto.java @@ -0,0 +1,35 @@ +package cn.bunny.dao.dto.system.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "DeptAddDto对象", title = "部门", description = "部门管理") +public class DeptAddDto { + + @Schema(name = "parentId", title = "父级id") + private String parentId; + + @Schema(name = "managerId", title = "管理者id") + @NotBlank(message = "管理者id不能为空") + private String managerId; + + @Schema(name = "deptName", title = "部门名称") + @NotBlank(message = "部门名称不能为空") + private String deptName; + + @Schema(name = "summary", title = "部门简介") + private String summary; + + @Schema(name = "remarks", title = "备注信息") + private String remarks; + +} + diff --git a/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptDto.java b/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptDto.java new file mode 100644 index 0000000..e8f7430 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptDto.java @@ -0,0 +1,32 @@ +package cn.bunny.dao.dto.system.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "DeptDto对象", title = "部门", description = "部门管理") +public class DeptDto { + + @Schema(name = "parentId", title = "父级id") + private String parentId; + + @Schema(name = "managerId", title = "管理者id") + private String managerId; + + @Schema(name = "deptName", title = "部门名称") + private String deptName; + + @Schema(name = "summary", title = "部门简介") + private String summary; + + @Schema(name = "remarks", title = "备注信息") + private String remarks; + +} + diff --git a/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptUpdateDto.java b/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptUpdateDto.java new file mode 100644 index 0000000..8ab1228 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/dto/system/dept/DeptUpdateDto.java @@ -0,0 +1,40 @@ +package cn.bunny.dao.dto.system.dept; + +import io.swagger.v3.oas.annotations.media.Schema; +import jakarta.validation.constraints.NotBlank; +import jakarta.validation.constraints.NotNull; +import lombok.AllArgsConstructor; +import lombok.Builder; +import lombok.Data; +import lombok.NoArgsConstructor; + +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "DeptUpdateDto对象", title = "部门", description = "部门管理") +public class DeptUpdateDto { + + @Schema(name = "id", title = "主键") + @NotNull(message = "id不能为空") + private Long id; + + @Schema(name = "parentId", title = "父级id") + private String parentId; + + @Schema(name = "managerId", title = "管理者id") + @NotBlank(message = "管理者id不能为空") + private String managerId; + + @Schema(name = "deptName", title = "部门名称") + @NotBlank(message = "部门名称不能为空") + private String deptName; + + @Schema(name = "summary", title = "部门简介") + private String summary; + + @Schema(name = "remarks", title = "备注信息") + private String remarks; + +} + diff --git a/dao/src/main/java/cn/bunny/dao/entity/system/AdminUser.java b/dao/src/main/java/cn/bunny/dao/entity/system/AdminUser.java index 1ec8164..6651698 100644 --- a/dao/src/main/java/cn/bunny/dao/entity/system/AdminUser.java +++ b/dao/src/main/java/cn/bunny/dao/entity/system/AdminUser.java @@ -21,6 +21,7 @@ import lombok.experimental.Accessors; @TableName("sys_user") @Schema(name = "AdminUser对象", title = "用户信息", description = "用户信息") public class AdminUser extends BaseEntity { + @Schema(name = "username", title = "用户名") private String username; @@ -53,5 +54,6 @@ public class AdminUser extends BaseEntity { @Schema(name = "status", title = "状态", description = "1:禁用 0:正常") private Boolean status; + } diff --git a/dao/src/main/java/cn/bunny/dao/entity/system/Dept.java b/dao/src/main/java/cn/bunny/dao/entity/system/Dept.java new file mode 100644 index 0000000..1590430 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/entity/system/Dept.java @@ -0,0 +1,41 @@ +package cn.bunny.dao.entity.system; + +import cn.bunny.dao.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * 部门表 + *

+ * + * @author Bunny + * @since 2024-10-04 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("sys_dept") +@Schema(name = "Dept对象", title = "部门", description = "部门管理") +public class Dept extends BaseEntity { + + @Schema(name = "parentId", title = "父级id") + private String parentId; + + @Schema(name = "managerId", title = "管理者id") + private String managerId; + + @Schema(name = "deptName", title = "部门名称") + private String deptName; + + @Schema(name = "summary", title = "部门简介") + private String summary; + + @Schema(name = "remarks", title = "备注信息") + private String remarks; + +} + diff --git a/dao/src/main/java/cn/bunny/dao/entity/system/UserDept.java b/dao/src/main/java/cn/bunny/dao/entity/system/UserDept.java new file mode 100644 index 0000000..0e6f077 --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/entity/system/UserDept.java @@ -0,0 +1,31 @@ +package cn.bunny.dao.entity.system; + +import cn.bunny.dao.entity.BaseEntity; +import com.baomidou.mybatisplus.annotation.TableName; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.Getter; +import lombok.Setter; +import lombok.experimental.Accessors; + +/** + *

+ * 部门用户关系表 + *

+ * + * @author Bunny + * @since 2024-10-04 + */ +@Getter +@Setter +@Accessors(chain = true) +@TableName("sys_user_dept") +@Schema(name = "UserDept对象", title = "部门用户关系表", description = "部门用户关系管理") +public class UserDept extends BaseEntity { + + @Schema(name = "userId", title = "用户id") + private String userId; + + @Schema(name = "deptId", title = "部门id") + private String deptId; + +} diff --git a/dao/src/main/java/cn/bunny/dao/vo/system/dept/DeptVo.java b/dao/src/main/java/cn/bunny/dao/vo/system/dept/DeptVo.java new file mode 100644 index 0000000..51b003a --- /dev/null +++ b/dao/src/main/java/cn/bunny/dao/vo/system/dept/DeptVo.java @@ -0,0 +1,30 @@ +package cn.bunny.dao.vo.system.dept; + +import cn.bunny.dao.vo.BaseVo; +import io.swagger.v3.oas.annotations.media.Schema; +import lombok.*; + +@EqualsAndHashCode(callSuper = true) +@Data +@AllArgsConstructor +@NoArgsConstructor +@Builder +@Schema(name = "DeptVo对象", title = "部门", description = "部门管理") +public class DeptVo extends BaseVo { + + @Schema(name = "parentId", title = "父级id") + private String parentId; + + @Schema(name = "managerId", title = "管理者id") + private String managerId; + + @Schema(name = "deptName", title = "部门名称") + private String deptName; + + @Schema(name = "summary", title = "部门简介") + private String summary; + + @Schema(name = "remarks", title = "备注信息") + private String remarks; + +} \ No newline at end of file diff --git a/service/src/main/java/cn/bunny/services/controller/DeptController.java b/service/src/main/java/cn/bunny/services/controller/DeptController.java new file mode 100644 index 0000000..1df20d5 --- /dev/null +++ b/service/src/main/java/cn/bunny/services/controller/DeptController.java @@ -0,0 +1,72 @@ +package cn.bunny.services.controller; + +import cn.bunny.dao.dto.system.dept.DeptAddDto; +import cn.bunny.dao.dto.system.dept.DeptDto; +import cn.bunny.dao.dto.system.dept.DeptUpdateDto; +import cn.bunny.dao.entity.system.Dept; +import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.pojo.result.Result; +import cn.bunny.dao.pojo.result.ResultCodeEnum; +import cn.bunny.dao.vo.system.dept.DeptVo; +import cn.bunny.services.service.DeptService; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import io.swagger.v3.oas.annotations.Operation; +import io.swagger.v3.oas.annotations.Parameter; +import io.swagger.v3.oas.annotations.tags.Tag; +import jakarta.validation.Valid; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import reactor.core.publisher.Mono; + +import java.util.List; + +/** + *

+ * 部门表 前端控制器 + *

+ * + * @author Bunny + * @since 2024-10-04 10:39:08 + */ +@Tag(name = "部门", description = "部门相关接口") +@RestController +@RequestMapping("admin/dept") +public class DeptController { + + @Autowired + private DeptService deptService; + + @Operation(summary = "分页查询部门", description = "分页查询部门") + @GetMapping("getDeptList/{page}/{limit}") + public Mono>> getDeptList( + @Parameter(name = "page", description = "当前页", required = true) + @PathVariable("page") Integer page, + @Parameter(name = "limit", description = "每页记录数", required = true) + @PathVariable("limit") Integer limit, + DeptDto dto) { + Page pageParams = new Page<>(page, limit); + PageResult pageResult = deptService.getDeptList(pageParams, dto); + return Mono.just(Result.success(pageResult)); + } + + @Operation(summary = "添加部门", description = "添加部门") + @PostMapping("addDept") + public Mono> addDept(@Valid @RequestBody DeptAddDto dto) { + deptService.addDept(dto); + return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); + } + + @Operation(summary = "更新部门", description = "更新部门") + @PutMapping("updateDept") + public Mono> updateDept(@Valid @RequestBody DeptUpdateDto dto) { + deptService.updateDept(dto); + return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS)); + } + + @Operation(summary = "删除部门", description = "删除部门") + @DeleteMapping("deleteDept") + public Mono> deleteDept(@RequestBody List ids) { + deptService.deleteDept(ids); + return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); + } +} diff --git a/service/src/main/java/cn/bunny/services/controller/UserDeptController.java b/service/src/main/java/cn/bunny/services/controller/UserDeptController.java new file mode 100644 index 0000000..9692d79 --- /dev/null +++ b/service/src/main/java/cn/bunny/services/controller/UserDeptController.java @@ -0,0 +1,18 @@ +package cn.bunny.services.controller; + +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +/** + *

+ * 部门用户关系表 前端控制器 + *

+ * + * @author Bunny + * @since 2024-10-04 + */ +@RestController +@RequestMapping("admin/userDept") +public class UserDeptController { + +} diff --git a/service/src/main/java/cn/bunny/services/mapper/DeptMapper.java b/service/src/main/java/cn/bunny/services/mapper/DeptMapper.java new file mode 100644 index 0000000..dcc46fa --- /dev/null +++ b/service/src/main/java/cn/bunny/services/mapper/DeptMapper.java @@ -0,0 +1,39 @@ +package cn.bunny.services.mapper; + +import cn.bunny.dao.dto.system.dept.DeptDto; +import cn.bunny.dao.entity.system.Dept; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + *

+ * 部门 Mapper 接口 + *

+ * + * @author Bunny + * @since 2024-10-04 10:39:08 + */ +@Mapper +public interface DeptMapper extends BaseMapper { + + /** + * * 分页查询部门内容 + * + * @param pageParams 部门分页参数 + * @param dto 部门查询表单 + * @return 部门分页结果 + */ + IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") DeptDto dto); + + /** + * 物理删除部门 + * + * @param ids 删除 id 列表 + */ + void deleteBatchIdsWithPhysics(List ids); +} diff --git a/service/src/main/java/cn/bunny/services/mapper/UserDeptMapper.java b/service/src/main/java/cn/bunny/services/mapper/UserDeptMapper.java new file mode 100644 index 0000000..beffebe --- /dev/null +++ b/service/src/main/java/cn/bunny/services/mapper/UserDeptMapper.java @@ -0,0 +1,18 @@ +package cn.bunny.services.mapper; + +import cn.bunny.dao.entity.system.UserDept; +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.Mapper; + +/** + *

+ * 部门用户关系表 Mapper 接口 + *

+ * + * @author Bunny + * @since 2024-10-04 + */ +@Mapper +public interface UserDeptMapper extends BaseMapper { + +} diff --git a/service/src/main/java/cn/bunny/services/service/DeptService.java b/service/src/main/java/cn/bunny/services/service/DeptService.java new file mode 100644 index 0000000..efbdd41 --- /dev/null +++ b/service/src/main/java/cn/bunny/services/service/DeptService.java @@ -0,0 +1,52 @@ +package cn.bunny.services.service; + +import cn.bunny.dao.dto.system.dept.DeptAddDto; +import cn.bunny.dao.dto.system.dept.DeptDto; +import cn.bunny.dao.dto.system.dept.DeptUpdateDto; +import cn.bunny.dao.entity.system.Dept; +import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.vo.system.dept.DeptVo; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.IService; +import jakarta.validation.Valid; + +import java.util.List; + +/** + *

+ * 部门 服务类 + *

+ * + * @author Bunny + * @since 2024-10-04 10:39:08 + */ +public interface DeptService extends IService { + + /** + * * 获取部门列表 + * + * @return 部门返回列表 + */ + PageResult getDeptList(Page pageParams, DeptDto dto); + + /** + * * 添加部门 + * + * @param dto 添加表单 + */ + void addDept(@Valid DeptAddDto dto); + + /** + * * 更新部门 + * + * @param dto 更新表单 + */ + void updateDept(@Valid DeptUpdateDto dto); + + /** + * * 删除|批量删除部门类型 + * + * @param ids 删除id列表 + */ + void deleteDept(List ids); +} diff --git a/service/src/main/java/cn/bunny/services/service/UserDeptService.java b/service/src/main/java/cn/bunny/services/service/UserDeptService.java new file mode 100644 index 0000000..f10ffff --- /dev/null +++ b/service/src/main/java/cn/bunny/services/service/UserDeptService.java @@ -0,0 +1,16 @@ +package cn.bunny.services.service; + +import cn.bunny.dao.entity.system.UserDept; +import com.baomidou.mybatisplus.extension.service.IService; + +/** + *

+ * 部门用户关系表 服务类 + *

+ * + * @author Bunny + * @since 2024-10-04 + */ +public interface UserDeptService extends IService { + +} diff --git a/service/src/main/java/cn/bunny/services/service/impl/DeptServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/DeptServiceImpl.java new file mode 100644 index 0000000..1f513fa --- /dev/null +++ b/service/src/main/java/cn/bunny/services/service/impl/DeptServiceImpl.java @@ -0,0 +1,92 @@ +package cn.bunny.services.service.impl; + +import cn.bunny.dao.dto.system.dept.DeptAddDto; +import cn.bunny.dao.dto.system.dept.DeptDto; +import cn.bunny.dao.dto.system.dept.DeptUpdateDto; +import cn.bunny.dao.entity.system.Dept; +import cn.bunny.dao.pojo.result.PageResult; +import cn.bunny.dao.vo.system.dept.DeptVo; +import cn.bunny.services.mapper.DeptMapper; +import cn.bunny.services.service.DeptService; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import jakarta.validation.Valid; +import org.springframework.beans.BeanUtils; +import org.springframework.stereotype.Service; + +import java.util.List; + +/** + *

+ * 部门 服务实现类 + *

+ * + * @author Bunny + * @since 2024-10-04 10:39:08 + */ +@Service +public class DeptServiceImpl extends ServiceImpl implements DeptService { + + /** + * * 部门 服务实现类 + * + * @param pageParams 部门分页查询page对象 + * @param dto 部门分页查询对象 + * @return 查询分页部门返回对象 + */ + @Override + public PageResult getDeptList(Page pageParams, DeptDto dto) { + // 分页查询菜单图标 + IPage page = baseMapper.selectListByPage(pageParams, dto); + + List voList = page.getRecords().stream().map(Dept -> { + DeptVo DeptVo = new DeptVo(); + BeanUtils.copyProperties(Dept, DeptVo); + return DeptVo; + }).toList(); + + return PageResult.builder() + .list(voList) + .pageNo(page.getCurrent()) + .pageSize(page.getSize()) + .total(page.getTotal()) + .build(); + } + + /** + * 添加部门 + * + * @param dto 部门添加 + */ + @Override + public void addDept(@Valid DeptAddDto dto) { + // 保存数据 + Dept dept = new Dept(); + BeanUtils.copyProperties(dto, dept); + save(dept); + } + + /** + * 更新部门 + * + * @param dto 部门更新 + */ + @Override + public void updateDept(@Valid DeptUpdateDto dto) { + // 更新内容 + Dept dept = new Dept(); + BeanUtils.copyProperties(dto, dept); + updateById(dept); + } + + /** + * 删除|批量删除部门 + * + * @param ids 删除id列表 + */ + @Override + public void deleteDept(List ids) { + baseMapper.deleteBatchIdsWithPhysics(ids); + } +} diff --git a/service/src/main/java/cn/bunny/services/service/impl/UserDeptServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/UserDeptServiceImpl.java new file mode 100644 index 0000000..a0f129b --- /dev/null +++ b/service/src/main/java/cn/bunny/services/service/impl/UserDeptServiceImpl.java @@ -0,0 +1,20 @@ +package cn.bunny.services.service.impl; + +import cn.bunny.dao.entity.system.UserDept; +import cn.bunny.services.mapper.UserDeptMapper; +import cn.bunny.services.service.UserDeptService; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.springframework.stereotype.Service; + +/** + *

+ * 部门用户关系表 服务实现类 + *

+ * + * @author Bunny + * @since 2024-10-04 + */ +@Service +public class UserDeptServiceImpl extends ServiceImpl implements UserDeptService { + +} diff --git a/service/src/main/resources/mapper/DeptMapper.xml b/service/src/main/resources/mapper/DeptMapper.xml new file mode 100644 index 0000000..718319d --- /dev/null +++ b/service/src/main/resources/mapper/DeptMapper.xml @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + id, create_time, update_time, create_user, update_user, is_deleted, parent_id, manager_id, dept_name, summary, remarks + + + + + + + + delete + from sys_dept + where id in + + #{id} + + + + diff --git a/service/src/main/resources/mapper/UserDeptMapper.xml b/service/src/main/resources/mapper/UserDeptMapper.xml new file mode 100644 index 0000000..f649c0f --- /dev/null +++ b/service/src/main/resources/mapper/UserDeptMapper.xml @@ -0,0 +1,22 @@ + + + + + + + + + + + + + + + + + + + id, user_id, dept_id, create_time, update_time, create_user, update_user, is_deleted + + +