From b423ea902ce020b549bd3b594c176b13993f0f9f Mon Sep 17 00:00:00 2001 From: clay Date: Sat, 8 Nov 2025 18:11:16 +0800 Subject: [PATCH] 1 --- .dockerignore | 4 +- .../java/cn/fateverse/admin/dto/UserDto.java | 6 +- .../admin/dubbo/DubboUserService.java | 15 +- .../cn/fateverse/admin/vo/UserChooseVo.java | 4 +- .../cn/fateverse/admin/vo/UserDetailVo.java | 5 +- .../admin/controller/RoleController.java | 55 +++--- .../admin/controller/UserController.java | 71 ++++---- .../fateverse/admin/convert/RoleConvert.java | 14 ++ .../fateverse/admin/convert/UserConvert.java | 22 +++ .../admin/dubbo/DubboUserServiceImpl.java | 33 ++-- .../cn/fateverse/admin/facade/RoleFacade.java | 70 ++++++++ .../cn/fateverse/admin/facade/UserFacade.java | 166 ++++++++++++++++++ .../cn/fateverse/admin/mapper/RoleMapper.java | 5 +- .../cn/fateverse/admin/mapper/UserMapper.java | 17 +- .../admin/mapper/UserPostMapper.java | 3 +- .../admin/mapper/UserRoleMapper.java | 11 +- .../fateverse/admin/service/DeptService.java | 8 + .../fateverse/admin/service/RoleService.java | 7 +- .../admin/service/UserPostService.java | 8 + .../admin/service/UserRoleService.java | 13 ++ .../fateverse/admin/service/UserService.java | 28 ++- .../admin/service/impl/ConfigServiceImpl.java | 8 +- .../admin/service/impl/DeptServiceImpl.java | 9 + .../admin/service/impl/MenuServiceImpl.java | 8 +- .../admin/service/impl/RoleServiceImpl.java | 45 +++-- .../service/impl/UserPostServiceImpl.java | 14 ++ .../service/impl/UserRoleServiceImpl.java | 23 +++ .../admin/service/impl/UserServiceImpl.java | 93 ++++++---- .../src/main/resources/mapper/UserMapper.xml | 32 ++-- .../main/resources/mapper/UserRoleMapper.xml | 18 ++ agent.config | 6 +- auth/pom.xml | 4 + .../auth/service/UserDetailsServiceImpl.java | 13 +- .../auth/service/impl/LoginServiceImpl.java | 14 +- .../auth/service/impl/PermissionService.java | 7 +- common/common-core/pom.xml | 6 + .../cn/fateverse/common/core/entity/Dept.java | 10 +- .../common/core/entity/LoginUser.java | 6 +- .../cn/fateverse/common/core/entity/Role.java | 17 +- .../cn/fateverse/common/core/entity/User.java | 105 +++++++++-- .../common/core/entity/UserBase.java | 109 ------------ .../common/core/entity/UserDetail.java | 38 ++++ common/common-mybatis-puls/pom.xml | 1 - .../mybatisplus/utils/PageConditionUtil.java | 15 +- .../common/mybatisplus/utils/PageUtils.java | 57 ------ notice/notice-biz/pom.xml | 4 + pom.xml | 1 + sql/admin.sql | 16 +- .../main/resources/i18n/message_en.properties | 2 +- .../resources/i18n/message_zh_CN.properties | 2 +- .../resources/i18n/message_zh_TC.properties | 2 +- .../fonts/fontawesome-webfont.svg | 2 +- .../templates/common/common.macro.ftl | 8 +- .../src/main/resources/templates/help.ftl | 2 +- .../resources/templates/user/user.index.ftl | 4 +- workflow/pom.xml | 4 + .../mapper/HistoricalOperationMapper.xml | 10 +- 57 files changed, 841 insertions(+), 439 deletions(-) create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/convert/RoleConvert.java create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/convert/UserConvert.java create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/facade/RoleFacade.java create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/facade/UserFacade.java create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/service/UserPostService.java create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/service/UserRoleService.java create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/UserPostServiceImpl.java create mode 100644 admin/admin-biz/src/main/java/cn/fateverse/admin/service/impl/UserRoleServiceImpl.java delete mode 100644 common/common-core/src/main/java/cn/fateverse/common/core/entity/UserBase.java create mode 100644 common/common-core/src/main/java/cn/fateverse/common/core/entity/UserDetail.java delete mode 100644 common/common-mybatis-puls/src/main/java/cn/fateverse/common/mybatisplus/utils/PageUtils.java diff --git a/.dockerignore b/.dockerignore index 0994585..cfd879f 100644 --- a/.dockerignore +++ b/.dockerignore @@ -36,8 +36,8 @@ buildNumber.properties # https://github.com/takari/maven-wrapper#usage-without-binary-jar .mvn/wrapper/maven-wrapper.jar -### Example user template template -### Example user template +### Example userDetail template template +### Example userDetail template # IntelliJ project files .idea diff --git a/admin/admin-api/src/main/java/cn/fateverse/admin/dto/UserDto.java b/admin/admin-api/src/main/java/cn/fateverse/admin/dto/UserDto.java index d007825..5b0175a 100644 --- a/admin/admin-api/src/main/java/cn/fateverse/admin/dto/UserDto.java +++ b/admin/admin-api/src/main/java/cn/fateverse/admin/dto/UserDto.java @@ -1,6 +1,6 @@ package cn.fateverse.admin.dto; -import cn.fateverse.common.core.entity.UserBase; +import cn.fateverse.common.core.entity.User; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -83,8 +83,8 @@ public class UserDto{ private List roleIds; - public UserBase toUser() { - return UserBase.builder() + public User toUser() { + return User.builder() .userId(userId) .deptId(deptId) .userName(userName) diff --git a/admin/admin-api/src/main/java/cn/fateverse/admin/dubbo/DubboUserService.java b/admin/admin-api/src/main/java/cn/fateverse/admin/dubbo/DubboUserService.java index 5a554f9..843d186 100644 --- a/admin/admin-api/src/main/java/cn/fateverse/admin/dubbo/DubboUserService.java +++ b/admin/admin-api/src/main/java/cn/fateverse/admin/dubbo/DubboUserService.java @@ -1,7 +1,8 @@ package cn.fateverse.admin.dubbo; -import cn.fateverse.common.core.entity.User; import cn.fateverse.admin.vo.UserVo; +import cn.fateverse.common.core.entity.UserDetail; +import org.springframework.security.core.userdetails.UserDetails; import java.util.List; @@ -17,7 +18,7 @@ public interface DubboUserService { * @param username 用户名称 * @return 用户信息 */ - User getUserByUsername(String username); + UserVo getUserByUsername(String username); /** * 根据用户id查询用户信息 @@ -25,7 +26,7 @@ public interface DubboUserService { * @param userId 用户id * @return 用户信息 */ - User getUserByUserId(Long userId); + UserVo getUserByUserId(Long userId); /** * 根据roleId查询用户列表 @@ -57,4 +58,12 @@ public interface DubboUserService { * @return 所有用户的id */ List searchAllUserIds(); + + /** + * 通过用户名获取用户详细信息 + * + * @param userName 用户名 + * @return {@link UserDetails } + */ + UserDetail getUserDetailsByUserName(String userName); } diff --git a/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserChooseVo.java b/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserChooseVo.java index 0b379b3..9da5353 100644 --- a/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserChooseVo.java +++ b/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserChooseVo.java @@ -1,7 +1,7 @@ package cn.fateverse.admin.vo; -import cn.fateverse.admin.entity.Role; -import cn.fateverse.admin.entity.Dept; +import cn.fateverse.common.core.entity.Dept; +import cn.fateverse.common.core.entity.Role; import lombok.Builder; import lombok.Data; diff --git a/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserDetailVo.java b/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserDetailVo.java index 7a7c9d3..db5002a 100644 --- a/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserDetailVo.java +++ b/admin/admin-api/src/main/java/cn/fateverse/admin/vo/UserDetailVo.java @@ -1,7 +1,7 @@ package cn.fateverse.admin.vo; -import cn.fateverse.admin.entity.User; import cn.fateverse.common.core.entity.Option; +import cn.fateverse.common.core.entity.UserDetail; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Builder; @@ -14,11 +14,10 @@ import java.util.List; * @date 2022/11/4 */ @Data -@Builder @ApiModel("用户详细信息") public class UserDetailVo { @ApiModelProperty("用户基本细腻系") - private User user; + private UserDetail user; @ApiModelProperty("用户所在的岗位") private List postIds; diff --git a/admin/admin-biz/src/main/java/cn/fateverse/admin/controller/RoleController.java b/admin/admin-biz/src/main/java/cn/fateverse/admin/controller/RoleController.java index fd1f4d0..72d228e 100644 --- a/admin/admin-biz/src/main/java/cn/fateverse/admin/controller/RoleController.java +++ b/admin/admin-biz/src/main/java/cn/fateverse/admin/controller/RoleController.java @@ -3,6 +3,7 @@ package cn.fateverse.admin.controller; import cn.fateverse.admin.dto.RoleDto; import cn.fateverse.admin.entity.Role; import cn.fateverse.admin.entity.User; +import cn.fateverse.admin.facade.RoleFacade; import cn.fateverse.admin.query.RoleQuery; import cn.fateverse.admin.vo.RoleVo; import cn.fateverse.common.core.entity.IdWrapper; @@ -23,6 +24,7 @@ import cn.fateverse.common.log.annotation.Log; import cn.fateverse.common.log.enums.BusinessType; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; +import lombok.RequiredArgsConstructor; import org.jetbrains.annotations.NotNull; import org.springframework.security.access.prepost.PreAuthorize; import org.springframework.validation.annotation.Validated; @@ -38,30 +40,21 @@ import java.util.Set; @Api(tags = "角色管理") @RestController @RequestMapping("/role") +@RequiredArgsConstructor public class RoleController { - private final RoleService roleService; - + private final RoleFacade roleFacade; private final UserService userService; - private final MenuService menuService; - private final TokenService tokenService; - public RoleController(RoleService roleService, UserService userService, MenuService menuService, TokenService tokenService) { - this.roleService = roleService; - this.userService = userService; - this.menuService = menuService; - this.tokenService = tokenService; - } - @ApiOperation("获取角色列表") @GetMapping @PreAuthorize("@ss.hasPermission('admin:role:list')") public Result> list(RoleQuery query) { - TableDataInfo dataInfo = roleService.searchList(query); + TableDataInfo dataInfo = roleFacade.searchList(query); return Result.ok(dataInfo); } @@ -70,30 +63,30 @@ public class RoleController { @GetMapping("/{roleId}") @PreAuthorize("@ss.hasPermission('admin:role:info')") public Result info(@PathVariable Long roleId) { - checkRoleId(roleId); - RoleVo vo = roleService.searchById(roleId); + RoleVo vo = roleFacade.searchById(roleId); return Result.ok(vo); } @ApiOperation("根据菜单id获取角色列表") @GetMapping("/menu/list") - public Result> roleExcludeMenuId(Long menuId, String roleName, String roleKey) { - if (ObjectUtils.isEmpty(menuId)) { - return Result.error("菜单id不能为空!"); - } - TableDataInfo dataInfo = roleService.searchListExcludeMenuId(menuId, roleName, roleKey); + public Result> roleExcludeMenuId(@RequestParam Long menuId, + @RequestParam String roleName, + @RequestParam String roleKey) { + TableDataInfo dataInfo = roleFacade.searchListExcludeMenuId(menuId, roleName, roleKey); return Result.ok(dataInfo); } @ApiOperation("根据菜单id获取分配的角色信息") @GetMapping("/menu") - public Result> menuRole(Long menuId, String roleName, String roleKey) { + public Result> menuRole(@RequestParam Long menuId, + @RequestParam String roleName, + @RequestParam String roleKey) { if (ObjectUtils.isEmpty(menuId)) { return Result.error("菜单id不能为空!"); } - TableDataInfo dataInfo = roleService.searchListByMenuId(menuId, roleName, roleKey); + TableDataInfo dataInfo = roleFacade.searchListByMenuId(menuId, roleName, roleKey); return Result.ok(dataInfo); } @@ -105,7 +98,7 @@ public class RoleController { public Result bindRole(@RequestBody IdWrapper wrapper) { checkRoleIds(wrapper.getIds()); LongUtils.checkId(wrapper.getId(), "菜单id不能为空"); - roleService.bindMenu(wrapper.getId(), wrapper.getIds()); + roleFacade.bindMenu(wrapper.getId(), wrapper.getIds()); return Result.ok(); } @@ -117,7 +110,7 @@ public class RoleController { public Result unBindMenu(@RequestBody IdWrapper wrapper) { checkRoleIds(wrapper.getIds()); LongUtils.checkId(wrapper.getId(), "菜单id不能为空"); - roleService.unBindMenu(wrapper.getId(), wrapper.getIds()); + roleFacade.unBindMenu(wrapper.getId(), wrapper.getIds()); return Result.ok(); } @@ -127,7 +120,7 @@ public class RoleController { @Log(title = "解除当前角色对应的所有用户的绑定关系", businessType = BusinessType.UPDATE) public Result unBindAllMenu(@RequestBody IdWrapper wrapper) { LongUtils.checkId(wrapper.getId(), "菜单id不能为空"); - roleService.unBindAllMenu(wrapper.getId()); + roleFacade.unBindAllMenu(wrapper.getId()); return Result.ok(); } @@ -135,7 +128,7 @@ public class RoleController { @ApiOperation("查询角色信息") @GetMapping("/option") public Result> option() { - List