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 index 28dd6a8..16c95cf 100644 --- 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 @@ -2,11 +2,14 @@ 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; +import java.util.List; + @Data @AllArgsConstructor @NoArgsConstructor @@ -17,9 +20,9 @@ public class DeptAddDto { @Schema(name = "parentId", title = "父级id") private String parentId; - @Schema(name = "managerId", title = "管理者id") - @NotBlank(message = "管理者id不能为空") - private String managerId; + @Schema(name = "managerId", title = "管理者") + @NotNull(message = "管理者不能为空") + private List manager; @Schema(name = "deptName", title = "部门名称") @NotBlank(message = "部门名称不能为空") 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 index bb21bd6..76b9977 100644 --- 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 @@ -8,6 +8,8 @@ import lombok.Builder; import lombok.Data; import lombok.NoArgsConstructor; +import java.util.List; + @Data @AllArgsConstructor @NoArgsConstructor @@ -22,9 +24,9 @@ public class DeptUpdateDto { @Schema(name = "parentId", title = "父级id") private String parentId; - @Schema(name = "managerId", title = "管理者id") - @NotBlank(message = "管理者id不能为空") - private String managerId; + @Schema(name = "managerId", title = "管理者") + @NotNull(message = "管理者不能为空") + private List manager; @Schema(name = "deptName", title = "部门名称") @NotBlank(message = "部门名称不能为空") 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 index fbdb08d..e38bd92 100644 --- a/dao/src/main/java/cn/bunny/dao/entity/system/Dept.java +++ b/dao/src/main/java/cn/bunny/dao/entity/system/Dept.java @@ -25,8 +25,8 @@ public class Dept extends BaseEntity { @Schema(name = "parentId", title = "父级id") private String parentId; - @Schema(name = "managerId", title = "管理者id") - private String managerId; + @Schema(name = "manager", title = "管理者") + private String manager; @Schema(name = "deptName", title = "部门名称") private String deptName; diff --git a/dao/src/main/java/cn/bunny/dao/entity/system/RouterPower.java b/dao/src/main/java/cn/bunny/dao/entity/system/RouterPower.java deleted file mode 100644 index 08ae1cd..0000000 --- a/dao/src/main/java/cn/bunny/dao/entity/system/RouterPower.java +++ /dev/null @@ -1,23 +0,0 @@ -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; - -@Setter -@Getter -@Accessors(chain = true) -@TableName("sys_router_power") -@Schema(name = "RouterPower对象", title = "路由和权限关系表", description = "路由和权限关系表") -public class RouterPower extends BaseEntity { - - @Schema(name = "routerId", title = "路由ID") - private Long routerId; - - @Schema(name = "powerId", title = "角色ID") - private Long powerId; - -} \ No newline at end of file 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 index 76fa785..b870b51 100644 --- 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 @@ -4,6 +4,8 @@ import cn.bunny.dao.vo.BaseVo; import io.swagger.v3.oas.annotations.media.Schema; import lombok.*; +import java.util.List; + @EqualsAndHashCode(callSuper = true) @Data @AllArgsConstructor @@ -15,8 +17,8 @@ public class DeptVo extends BaseVo { @Schema(name = "parentId", title = "父级id") private String parentId; - @Schema(name = "managerId", title = "管理者id") - private String managerId; + @Schema(name = "manager", title = "管理者") + private List manager; @Schema(name = "deptName", title = "部门名称") private String deptName; diff --git a/service/src/main/java/cn/bunny/services/controller/DeptController.java b/service/src/main/java/cn/bunny/services/controller/DeptController.java index 1df20d5..09c2c68 100644 --- a/service/src/main/java/cn/bunny/services/controller/DeptController.java +++ b/service/src/main/java/cn/bunny/services/controller/DeptController.java @@ -49,6 +49,13 @@ public class DeptController { return Mono.just(Result.success(pageResult)); } + @Operation(summary = "获取所有部门", description = "获取所有部门") + @GetMapping("getAllDeptList") + public Mono>> getAllDeptList() { + List voList = deptService.getAllDeptList(); + return Mono.just(Result.success(voList)); + } + @Operation(summary = "添加部门", description = "添加部门") @PostMapping("addDept") public Mono> addDept(@Valid @RequestBody DeptAddDto dto) { diff --git a/service/src/main/java/cn/bunny/services/controller/RouterPowerController.java b/service/src/main/java/cn/bunny/services/controller/RouterPowerController.java deleted file mode 100644 index 03bed56..0000000 --- a/service/src/main/java/cn/bunny/services/controller/RouterPowerController.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.bunny.services.controller; - -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -/** - *

- * 路由和权限关系表 前端控制器 - *

- * - * @author Bunny - * @since 2024-09-26 - */ -@RestController -@RequestMapping("/routerPower") -public class RouterPowerController { - -} diff --git a/service/src/main/java/cn/bunny/services/controller/UserController.java b/service/src/main/java/cn/bunny/services/controller/UserController.java index cb831c8..ddc42ef 100644 --- a/service/src/main/java/cn/bunny/services/controller/UserController.java +++ b/service/src/main/java/cn/bunny/services/controller/UserController.java @@ -42,11 +42,18 @@ public class UserController { return Mono.just(Result.success(pageResult)); } - @Operation(summary = "添加用户信息", description = "添加用户信息") - @PostMapping("addAdminUser") - public Mono> addAdminUser(@Valid @RequestBody AdminUserAddDto dto) { - userService.addAdminUser(dto); - return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); + @Operation(summary = "获取用户信息", description = "获取用户信息") + @GetMapping("getUserinfoById") + public Mono> getUserinfoById(Long id) { + UserVo vo = userService.getUserinfoById(id); + return Mono.just(Result.success(vo)); + } + + @Operation(summary = "查询用户", description = "查询用户") + @GetMapping("queryUser") + public Mono>> queryUser(String keyword) { + List voList = userService.queryUser(keyword); + return Mono.just(Result.success(voList)); } @Operation(summary = "更新用户信息", description = "更新用户信息") @@ -56,28 +63,6 @@ public class UserController { return Mono.just(Result.success(ResultCodeEnum.UPDATE_SUCCESS)); } - @Operation(summary = "删除用户信息", description = "删除用户信息") - @DeleteMapping("deleteAdminUser") - public Mono> deleteAdminUser(@RequestBody List ids) { - userService.deleteAdminUser(ids); - return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); - } - - @Operation(summary = "管理员修改管理员用户密码", description = "管理员修改管理员用户密码") - @PutMapping("updateUserPasswordByAdmin") - public Result updateUserPasswordByAdmin(@Valid @RequestBody UserUpdateWithPasswordDto dto) { - userService.updateUserPasswordByAdmin(dto); - return Result.success(ResultCodeEnum.UPDATE_SUCCESS); - } - - @Operation(summary = "管理员上传用户头像", description = "管理员上传用户头像") - @PutMapping("uploadAvatarByAdmin") - public Result uploadAvatarByAdmin(@Valid UserUpdateWithAvatarDto dto) { - userService.uploadAvatarByAdmin(dto); - return Result.success(ResultCodeEnum.UPDATE_SUCCESS); - } - - @Operation(summary = "登录发送邮件验证码", description = "登录发送邮件验证码") @PostMapping("noAuth/sendLoginEmail") public Result sendLoginEmail(String email) { @@ -92,11 +77,11 @@ public class UserController { return Result.success(vo); } - @Operation(summary = "强制退出", description = "强制退出") - @PutMapping("forcedOffline") - public Result forcedOffline(@RequestBody Long id) { - userService.forcedOffline(id); - return Result.success(); + @Operation(summary = "添加用户信息", description = "添加用户信息") + @PostMapping("addAdminUser") + public Mono> addAdminUser(@Valid @RequestBody AdminUserAddDto dto) { + userService.addAdminUser(dto); + return Mono.just(Result.success(ResultCodeEnum.ADD_SUCCESS)); } @Operation(summary = "退出登录", description = "退出登录") @@ -106,10 +91,32 @@ public class UserController { return Result.success(ResultCodeEnum.LOGOUT_SUCCESS); } - @Operation(summary = "获取用户信息", description = "获取用户信息") - @GetMapping("getUserinfoById") - public Mono> getUserinfoById(Long id) { - UserVo vo = userService.getUserinfoById(id); - return Mono.just(Result.success(vo)); + + @Operation(summary = "管理员修改管理员用户密码", description = "管理员修改管理员用户密码") + @PutMapping("updateUserPasswordByAdmin") + public Result updateUserPasswordByAdmin(@Valid @RequestBody UserUpdateWithPasswordDto dto) { + userService.updateUserPasswordByAdmin(dto); + return Result.success(ResultCodeEnum.UPDATE_SUCCESS); + } + + @Operation(summary = "管理员上传用户头像", description = "管理员上传用户头像") + @PutMapping("uploadAvatarByAdmin") + public Result uploadAvatarByAdmin(@Valid UserUpdateWithAvatarDto dto) { + userService.uploadAvatarByAdmin(dto); + return Result.success(ResultCodeEnum.UPDATE_SUCCESS); + } + + @Operation(summary = "强制退出", description = "强制退出") + @PutMapping("forcedOffline") + public Result forcedOffline(@RequestBody Long id) { + userService.forcedOffline(id); + return Result.success(); + } + + @Operation(summary = "删除用户信息", description = "删除用户信息") + @DeleteMapping("deleteAdminUser") + public Mono> deleteAdminUser(@RequestBody List ids) { + userService.deleteAdminUser(ids); + return Mono.just(Result.success(ResultCodeEnum.DELETE_SUCCESS)); } } \ No newline at end of file diff --git a/service/src/main/java/cn/bunny/services/mapper/RouterPowerMapper.java b/service/src/main/java/cn/bunny/services/mapper/RouterPowerMapper.java deleted file mode 100644 index e4eef3e..0000000 --- a/service/src/main/java/cn/bunny/services/mapper/RouterPowerMapper.java +++ /dev/null @@ -1,18 +0,0 @@ -package cn.bunny.services.mapper; - -import cn.bunny.dao.entity.system.RouterPower; -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import org.apache.ibatis.annotations.Mapper; - -/** - *

- * 路由和权限关系表 Mapper 接口 - *

- * - * @author Bunny - * @since 2024-09-26 - */ -@Mapper -public interface RouterPowerMapper extends BaseMapper { - -} diff --git a/service/src/main/java/cn/bunny/services/mapper/UserMapper.java b/service/src/main/java/cn/bunny/services/mapper/UserMapper.java index 497c5c5..d54a0e9 100644 --- a/service/src/main/java/cn/bunny/services/mapper/UserMapper.java +++ b/service/src/main/java/cn/bunny/services/mapper/UserMapper.java @@ -36,4 +36,12 @@ public interface UserMapper extends BaseMapper { * @param ids 删除 id 列表 */ void deleteBatchIdsWithPhysics(List ids); + + /** + * * 查询用户 + * + * @param keyword 查询关键字 + * @return 用户信息列表 + */ + List queryUser(String keyword); } diff --git a/service/src/main/java/cn/bunny/services/service/DeptService.java b/service/src/main/java/cn/bunny/services/service/DeptService.java index efbdd41..3826be3 100644 --- a/service/src/main/java/cn/bunny/services/service/DeptService.java +++ b/service/src/main/java/cn/bunny/services/service/DeptService.java @@ -49,4 +49,11 @@ public interface DeptService extends IService { * @param ids 删除id列表 */ void deleteDept(List ids); + + /** + * * 获取所有部门 + * + * @return 所有部门列表 + */ + List getAllDeptList(); } diff --git a/service/src/main/java/cn/bunny/services/service/RouterPowerService.java b/service/src/main/java/cn/bunny/services/service/RouterPowerService.java deleted file mode 100644 index a692779..0000000 --- a/service/src/main/java/cn/bunny/services/service/RouterPowerService.java +++ /dev/null @@ -1,16 +0,0 @@ -package cn.bunny.services.service; - -import cn.bunny.dao.entity.system.RouterPower; -import com.baomidou.mybatisplus.extension.service.IService; - -/** - *

- * 路由和权限关系表 服务类 - *

- * - * @author Bunny - * @since 2024-09-26 - */ -public interface RouterPowerService extends IService { - -} diff --git a/service/src/main/java/cn/bunny/services/service/UserService.java b/service/src/main/java/cn/bunny/services/service/UserService.java index 3aa70cd..d78ddd5 100644 --- a/service/src/main/java/cn/bunny/services/service/UserService.java +++ b/service/src/main/java/cn/bunny/services/service/UserService.java @@ -100,4 +100,12 @@ public interface UserService extends IService { * @param id 用户id */ void forcedOffline(Long id); + + /** + * * 查询用户 + * + * @param keyword 查询用户信息关键字 + * @return 用户信息列表 + */ + List queryUser(String keyword); } 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 index 1c06a82..f35ee4e 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/DeptServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/DeptServiceImpl.java @@ -18,7 +18,9 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import java.util.Arrays; import java.util.List; +import java.util.stream.Collectors; /** *

@@ -47,10 +49,14 @@ public class DeptServiceImpl extends ServiceImpl implements De // 分页查询菜单图标 IPage page = baseMapper.selectListByPage(pageParams, dto); - List voList = page.getRecords().stream().map(Dept -> { - DeptVo DeptVo = new DeptVo(); - BeanUtils.copyProperties(Dept, DeptVo); - return DeptVo; + List voList = page.getRecords().stream().map(dept -> { + // 将数据库中管理员取出 + List mangerList = Arrays.stream(dept.getManager().split(",")).map(String::trim).toList(); + + DeptVo deptVo = new DeptVo(); + BeanUtils.copyProperties(dept, deptVo); + deptVo.setManager(mangerList); + return deptVo; }).toList(); return PageResult.builder() @@ -68,9 +74,13 @@ public class DeptServiceImpl extends ServiceImpl implements De */ @Override public void addDept(@Valid DeptAddDto dto) { + String mangerList = dto.getManager().stream().map(String::trim).collect(Collectors.joining(",")); + // 保存数据 Dept dept = new Dept(); BeanUtils.copyProperties(dto, dept); + dept.setManager(mangerList); + save(dept); } @@ -81,9 +91,13 @@ public class DeptServiceImpl extends ServiceImpl implements De */ @Override public void updateDept(@Valid DeptUpdateDto dto) { + String mangerList = dto.getManager().stream().map(String::trim).collect(Collectors.joining(",")); + // 更新内容 Dept dept = new Dept(); BeanUtils.copyProperties(dto, dept); + dept.setManager(mangerList); + updateById(dept); } @@ -99,4 +113,18 @@ public class DeptServiceImpl extends ServiceImpl implements De // 删除用户部门关联 userDeptMapper.deleteBatchIdsByDeptIdWithPhysics(ids); } + + /** + * * 获取所有部门 + * + * @return 所有部门列表 + */ + @Override + public List getAllDeptList() { + return list().stream().map(dept -> { + DeptVo deptVo = new DeptVo(); + BeanUtils.copyProperties(dept, deptVo); + return deptVo; + }).toList(); + } } diff --git a/service/src/main/java/cn/bunny/services/service/impl/PowerServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/PowerServiceImpl.java index 0680b09..29f48eb 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/PowerServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/PowerServiceImpl.java @@ -6,7 +6,6 @@ import cn.bunny.dao.dto.system.rolePower.PowerUpdateDto; import cn.bunny.dao.entity.system.Power; import cn.bunny.dao.pojo.result.PageResult; import cn.bunny.dao.vo.system.rolePower.PowerVo; -import cn.bunny.services.factory.PowerFactory; import cn.bunny.services.mapper.PowerMapper; import cn.bunny.services.mapper.RolePowerMapper; import cn.bunny.services.service.PowerService; @@ -18,7 +17,6 @@ import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; -import java.util.ArrayList; import java.util.List; /** @@ -32,9 +30,6 @@ import java.util.List; @Service public class PowerServiceImpl extends ServiceImpl implements PowerService { - @Autowired - private PowerFactory powerFactory; - @Autowired private RolePowerMapper rolePowerMapper; @@ -112,21 +107,10 @@ public class PowerServiceImpl extends ServiceImpl implements @Override public List getAllPowers() { List powerList = list(); - ArrayList powerVos = new ArrayList<>(); - - // 构建返回波对象 - List powerVoList = powerList.stream().map(power -> { + return powerList.stream().map(power -> { PowerVo powerVo = new PowerVo(); BeanUtils.copyProperties(power, powerVo); return powerVo; }).toList(); - - powerVoList.stream() - .filter(power -> power.getParentId() == 0) - .forEach(powerVo -> { - powerVo.setChildren(powerFactory.handlePowerVoChildren(powerVo.getId(), powerVoList)); - powerVos.add(powerVo); - }); - return powerVos; } } diff --git a/service/src/main/java/cn/bunny/services/service/impl/RouterPowerServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/RouterPowerServiceImpl.java deleted file mode 100644 index 4469a66..0000000 --- a/service/src/main/java/cn/bunny/services/service/impl/RouterPowerServiceImpl.java +++ /dev/null @@ -1,20 +0,0 @@ -package cn.bunny.services.service.impl; - -import cn.bunny.dao.entity.system.RouterPower; -import cn.bunny.services.mapper.RouterPowerMapper; -import cn.bunny.services.service.RouterPowerService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; -import org.springframework.stereotype.Service; - -/** - *

- * 路由和权限关系表 服务实现类 - *

- * - * @author Bunny - * @since 2024-09-26 - */ -@Service -public class RouterPowerServiceImpl extends ServiceImpl implements RouterPowerService { - -} diff --git a/service/src/main/java/cn/bunny/services/service/impl/UserServiceImpl.java b/service/src/main/java/cn/bunny/services/service/impl/UserServiceImpl.java index c85fd15..ae55081 100644 --- a/service/src/main/java/cn/bunny/services/service/impl/UserServiceImpl.java +++ b/service/src/main/java/cn/bunny/services/service/impl/UserServiceImpl.java @@ -42,6 +42,7 @@ import org.springframework.util.DigestUtils; import org.springframework.util.StringUtils; import org.springframework.web.multipart.MultipartFile; +import java.util.ArrayList; import java.util.List; @@ -225,6 +226,24 @@ public class UserServiceImpl extends ServiceImpl implemen redisTemplate.delete(adminLoginInfoPrefix); } + /** + * * 查询用户 + * + * @param keyword 查询用户信息关键字 + * @return 用户信息列表 + */ + @Override + public List queryUser(String keyword) { + if (!StringUtils.hasText(keyword)) return new ArrayList<>(); + + List list = baseMapper.queryUser(keyword); + return list.stream().map(adminUser -> { + AdminUserVo adminUserVo = new AdminUserVo(); + BeanUtils.copyProperties(adminUser, adminUserVo); + return adminUserVo; + }).toList(); + } + /** * * 用户信息 服务实现类 * diff --git a/service/src/main/resources/mapper/DeptMapper.xml b/service/src/main/resources/mapper/DeptMapper.xml index 8c9eba2..7cc3f43 100644 --- a/service/src/main/resources/mapper/DeptMapper.xml +++ b/service/src/main/resources/mapper/DeptMapper.xml @@ -11,14 +11,14 @@ - + - id, create_time, update_time, create_user, update_user, is_deleted, parent_id, manager_id, dept_name, summary + id, create_time, update_time, create_user, update_user, is_deleted, parent_id, manager, dept_name, summary @@ -30,9 +30,6 @@ parent_id like CONCAT('%',#{dto.parentId},'%') - - manager_id like CONCAT('%',#{dto.managerId},'%') - dept_name like CONCAT('%',#{dto.deptName},'%') diff --git a/service/src/main/resources/mapper/RouterPowerMapper.xml b/service/src/main/resources/mapper/RouterPowerMapper.xml deleted file mode 100644 index 650d6ac..0000000 --- a/service/src/main/resources/mapper/RouterPowerMapper.xml +++ /dev/null @@ -1,22 +0,0 @@ - - - - - - - - - - - - - - - - - - - id, router_id, power_id, create_user, update_time, update_user, create_time, is_deleted - - - diff --git a/service/src/main/resources/mapper/UserMapper.xml b/service/src/main/resources/mapper/UserMapper.xml index 283eca2..739415e 100644 --- a/service/src/main/resources/mapper/UserMapper.xml +++ b/service/src/main/resources/mapper/UserMapper.xml @@ -58,6 +58,20 @@ + + + delete