diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/api/PermissionApi.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/api/PermissionApi.java index 3c4327f..9c8e248 100644 --- a/xs-api/src/main/java/com/xiang/xservice/auth/api/api/PermissionApi.java +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/api/PermissionApi.java @@ -2,13 +2,17 @@ package com.xiang.xservice.auth.api.api; import com.xiang.xservice.auth.api.dto.req.permission.PermissionRegisterRequest; import com.xiang.xservice.basic.common.resp.Result; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import javax.validation.Valid; import javax.validation.constraints.NotEmpty; import java.util.List; +@FeignClient(name = "xservice-auth-center", contextId = "PermissionApi", fallback = PermissionApiFallback.class) public interface PermissionApi { + @PostMapping("/private/permission/register") Result register(@RequestBody @NotEmpty(message = "请求参数不能为空") @Valid List requests); } diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/api/PermissionApiFallback.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/api/PermissionApiFallback.java new file mode 100644 index 0000000..4b30c87 --- /dev/null +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/api/PermissionApiFallback.java @@ -0,0 +1,17 @@ +package com.xiang.xservice.auth.api.api; + +import com.xiang.xservice.auth.api.dto.req.permission.PermissionRegisterRequest; +import com.xiang.xservice.basic.common.resp.Result; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Component; + +import java.util.List; + +@Component +@Slf4j +public class PermissionApiFallback implements PermissionApi { + @Override + public Result register(List requests) { + return null; + } +} diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/api/TokenApi.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/api/TokenApi.java deleted file mode 100644 index 08da7b3..0000000 --- a/xs-api/src/main/java/com/xiang/xservice/auth/api/api/TokenApi.java +++ /dev/null @@ -1,24 +0,0 @@ -package com.xiang.xservice.auth.api.api; - - -import com.xiang.xservice.auth.api.dto.req.LoginRequest; -import com.xiang.xservice.auth.api.dto.req.RegisterRequest; -import com.xiang.xservice.auth.api.dto.resp.LoginResp; -import com.xiang.xservice.auth.api.dto.resp.RegisterResp; -import com.xiang.xservice.basic.common.resp.Result; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; - -import javax.validation.Valid; -import javax.validation.constraints.NotNull; - -public interface TokenApi { - - Result login(@RequestBody @NotNull(message = "请求参数不能为空") @Valid LoginRequest request); - - Result register(@RequestBody @Valid @NotNull(message = "请求参数不能为空") RegisterRequest request); - - Result getUserId(@RequestParam(value = "token", required = true) String token); - - Result getTenantId(@RequestParam(value = "token", required = true)String token); -} diff --git a/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/user/UserResetPwdRequest.java b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/user/UserResetPwdRequest.java new file mode 100644 index 0000000..78f22ad --- /dev/null +++ b/xs-api/src/main/java/com/xiang/xservice/auth/api/dto/req/user/UserResetPwdRequest.java @@ -0,0 +1,16 @@ +package com.xiang.xservice.auth.api.dto.req.user; + +import lombok.Data; + +import javax.validation.constraints.NotBlank; +import javax.validation.constraints.NotNull; + +@Data +public class UserResetPwdRequest { + + @NotNull(message = "userId不能为空") + private Long userId; + + @NotBlank(message = "密码不能为空") + private String password; +} diff --git a/xs-server/src/main/java/com/xiang/AuthApplication.java b/xs-server/src/main/java/com/xiang/AuthApplication.java index 8863390..9122e4d 100644 --- a/xs-server/src/main/java/com/xiang/AuthApplication.java +++ b/xs-server/src/main/java/com/xiang/AuthApplication.java @@ -5,6 +5,7 @@ import org.slf4j.LoggerFactory; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.context.properties.ConfigurationPropertiesScan; +import org.springframework.cloud.openfeign.EnableFeignClients; import org.springframework.security.config.annotation.method.configuration.EnableMethodSecurity; @SpringBootApplication @@ -12,6 +13,7 @@ import org.springframework.security.config.annotation.method.configuration.Enabl }) @EnableMethodSecurity(prePostEnabled = true) +@EnableFeignClients(basePackages = {"com.xiang.xservice.auth.api.api"}) public class AuthApplication { private static final Logger log = LoggerFactory.getLogger(AuthApplication.class); diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/DeptController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/DeptController.java deleted file mode 100644 index 4fb44af..0000000 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/DeptController.java +++ /dev/null @@ -1,105 +0,0 @@ -package com.xiang.xservice.auth.server.controller; - -import com.alibaba.fastjson.JSON; -import com.xiang.xservice.auth.api.dto.req.dept.DeptAddRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptUserUpdateRequest; -import com.xiang.xservice.auth.api.dto.resp.DeptDTO; -import com.xiang.xservice.auth.service.service.XDeptService; -import com.xiang.xservice.basic.common.resp.Result; -import com.xiang.xservice.basic.exception.BusinessException; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.validation.Valid; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.List; - -/** - * 部门控制器 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -public class DeptController { - - private final XDeptService deptService; - - @PostMapping("/private/dept/list") - public Result> getDeptList(@RequestBody @Valid @NotNull(message = "请求参数不能为空") DeptQueryRequest request) { - return Result.data(deptService.getDeptList(request)); - } - - @GetMapping("/private/dept/info/{id}") - public Result getDeptInfo(@PathVariable Long id) { - return Result.data(deptService.getDeptInfo(id)); - } - - @PostMapping("/private/dept/add") - public Result addDept(@RequestBody @Valid @NotNull(message = "请求参数不能为空") DeptAddRequest request) { - try { - if (deptService.addDept(request)) { - return Result.success(); - } - } catch (BusinessException e) { - log.error("添加部门异常, 请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("添加部门异常, 请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); - } - - @PostMapping("/private/dept/update") - public Result updateDept(@RequestBody @Valid @NotNull(message = "请求参数不能为空") DeptUpdateRequest request) { - try { - if (deptService.updateDept(request)) { - return Result.success(); - } - } catch (BusinessException e) { - log.error("更新部门异常, 请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("更新部门异常, 请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); - } - - @PostMapping("/private/dept/del") - public Result delDept(@RequestParam @Valid @NotEmpty(message = "请求参数不能为空") List ids) { - try { - if (deptService.delDept(ids)) { - return Result.success(); - } - } catch (BusinessException e) { - log.error("删除部门异常, 请求:{}", JSON.toJSONString(ids), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("删除部门异常, 请求:{}", JSON.toJSONString(ids), e); - } - return Result.error(); - } - - @PostMapping("/private/dept/setUser") - public Result setUserDept(@RequestBody @Valid @NotNull(message = "请求参数不能为空") DeptUserUpdateRequest request) { - try { - if (deptService.setUserDept(request)) { - return Result.success(); - } - } catch (BusinessException e) { - log.error("部门添加用户失败, 请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("部门添加用户失败, 请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); - } -} diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/MenuController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/MenuController.java deleted file mode 100644 index 9bc7c1d..0000000 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/MenuController.java +++ /dev/null @@ -1,29 +0,0 @@ -package com.xiang.xservice.auth.server.controller; - -import com.xiang.xservice.auth.api.dto.resp.RouterVo; -import com.xiang.xservice.auth.service.service.XMenuService; -import com.xiang.xservice.basic.common.resp.Result; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2026-03-20 15:19 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -public class MenuController { - - private final XMenuService menuService; - - @GetMapping("/private/menu/getRouter") - public Result> getRouter(@RequestParam("userId") Long userId) { - return Result.data(menuService.getRouter(userId)); - } -} diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/PermissionController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/PermissionController.java index bb2e1d1..639cea2 100644 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/PermissionController.java +++ b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/PermissionController.java @@ -8,7 +8,6 @@ import com.xiang.xservice.basic.common.resp.Result; import com.xiang.xservice.basic.exception.BusinessException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RestController; @@ -23,7 +22,7 @@ public class PermissionController implements PermissionApi { private final XPermissionService permissionService; - @PostMapping("/private/permission/register") + public Result register(@RequestBody @NotEmpty(message = "请求参数不能为空") @Valid List requests) { try { if (permissionService.registerAllApiPermissions(requests)) { diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/RoleController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/RoleController.java deleted file mode 100644 index 5be905e..0000000 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/RoleController.java +++ /dev/null @@ -1,98 +0,0 @@ -package com.xiang.xservice.auth.server.controller; - -import com.alibaba.fastjson.JSON; -import com.xiang.xservice.auth.api.dto.req.role.RoleAddRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleQueryRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleUpdateRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleUserUpdateRequest; -import com.xiang.xservice.auth.api.dto.resp.RoleDTO; -import com.xiang.xservice.auth.service.service.XRoleService; -import com.xiang.xservice.basic.common.resp.Result; -import com.xiang.xservice.basic.exception.BusinessException; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestBody; -import org.springframework.web.bind.annotation.RequestParam; -import org.springframework.web.bind.annotation.RestController; - -import javax.validation.Valid; -import javax.validation.constraints.NotEmpty; -import javax.validation.constraints.NotNull; -import java.util.List; - -/** - * 角色控制器 - */ -@Slf4j -@RestController -@RequiredArgsConstructor -public class RoleController { - - private final XRoleService roleService; - - @PostMapping("/private/role/list") - public Result> getRoleList(@RequestBody @Valid @NotNull(message = "请求参数不能为空") RoleQueryRequest request) { - return Result.data(roleService.getRoleList(request)); - } - - @GetMapping("/private/role/info/{id}") - public Result getRoleInfo(@PathVariable Long id) { - return Result.data(roleService.getRoleInfo(id)); - } - - @PostMapping("/private/role/add") - public Result addRole(@RequestBody @Valid @NotNull(message = "请求参数不能为空") RoleAddRequest request) { - try { - return Result.data(roleService.addRole(request)); - } catch (BusinessException e) { - log.error("角色新增异常,请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("角色新增异常,请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); - } - - @PostMapping("/private/role/update") - public Result updateRole(@RequestBody @Valid @NotNull(message = "请求参数不能为空") RoleUpdateRequest request) { - try { - return Result.data(roleService.updateRole(request)); - } catch (BusinessException e) { - log.error("角色编辑异常,请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("角色编辑异常,请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); - } - - @PostMapping("/private/role/del") - public Result delRole(@RequestParam @Valid @NotEmpty(message = "请求参数不能为空") List ids) { - try { - return Result.data(roleService.delRole(ids)); - } catch (BusinessException e) { - log.error("角色删除异常,请求:{}", ids, e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("角色删除异常,请求:{}", ids, e); - } - return Result.error(); - } - - @PostMapping("/private/role/setUser") - public Result setUserRole(@RequestBody @Valid @NotNull(message = "请求参数不能为空") RoleUserUpdateRequest request) { - try { - return Result.data(roleService.setUserRole(request)); - } catch (BusinessException e) { - log.error("角色用户关联异常,请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("角色用户关联异常,请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); - } - -} diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/TokenController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/TokenController.java index e752fe0..40300e4 100644 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/TokenController.java +++ b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/TokenController.java @@ -7,7 +7,9 @@ import com.xiang.xservice.auth.api.dto.req.RegisterRequest; import com.xiang.xservice.auth.api.dto.req.user.UserQueryRequest; import com.xiang.xservice.auth.api.dto.resp.LoginResp; import com.xiang.xservice.auth.api.dto.resp.RegisterResp; +import com.xiang.xservice.auth.api.dto.resp.RouterVo; import com.xiang.xservice.auth.api.dto.resp.UserDTO; +import com.xiang.xservice.auth.service.service.XMenuService; import com.xiang.xservice.auth.service.service.XUserService; import com.xiang.xservice.basic.common.resp.Result; import com.xiang.xservice.basic.exception.BusinessException; @@ -21,6 +23,7 @@ import org.springframework.web.bind.annotation.RestController; import javax.validation.Valid; import javax.validation.constraints.NotNull; +import java.util.List; import java.util.Objects; @Slf4j @@ -29,6 +32,7 @@ import java.util.Objects; public class TokenController implements TokenApi { private final XUserService userService; + private final XMenuService menuService; @PostMapping("/public/auth/login") public Result login(@RequestBody @NotNull(message = "请求参数不能为空") @Valid LoginRequest request) { @@ -44,6 +48,11 @@ public class TokenController implements TokenApi { } } + @PostMapping("/private/auth/getInfo") + public Result getUserInfo(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserQueryRequest request) { + return Result.data(userService.getUserDetail(request.getUsername())); + } + @PostMapping("/publish/auth/refresh") public Result refresh(@RequestBody @NotNull(message = "请求参数不能为空") @Valid RefreshRequest request) { try { @@ -60,7 +69,6 @@ public class TokenController implements TokenApi { @PostMapping("/public/user/userRegister") public Result register(@RequestBody @Valid @NotNull(message = "请求参数不能为空") RegisterRequest request) { - try { RegisterResp registerResp = userService.userRegister(request); if (Objects.nonNull(registerResp)) { @@ -95,8 +103,10 @@ public class TokenController implements TokenApi { } } - @PostMapping("/private/auth/getInfo") - public Result getUserInfo(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserQueryRequest request) { - return Result.data(userService.getUserDetail(request.getUsername())); + + + @GetMapping("/private/menu/getRouter") + public Result> getRouter(@RequestParam("userId") Long userId) { + return Result.data(menuService.getRouter(userId)); } } diff --git a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/UserController.java b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/UserController.java index e8111a3..a22a1e0 100644 --- a/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/UserController.java +++ b/xs-server/src/main/java/com/xiang/xservice/auth/server/controller/UserController.java @@ -3,9 +3,8 @@ package com.xiang.xservice.auth.server.controller; import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xiang.xservice.auth.api.dto.req.user.UserAddRequest; -import com.xiang.xservice.auth.api.dto.req.user.UserDeptUpdateRequest; import com.xiang.xservice.auth.api.dto.req.user.UserQueryRequest; -import com.xiang.xservice.auth.api.dto.req.user.UserRoleUpdateRequest; +import com.xiang.xservice.auth.api.dto.req.user.UserResetPwdRequest; import com.xiang.xservice.auth.api.dto.req.user.UserUpdateRequest; import com.xiang.xservice.auth.api.dto.req.user.UserUpdateStatusRequest; import com.xiang.xservice.auth.api.dto.resp.UserResp; @@ -85,60 +84,10 @@ public class UserController { return Result.error(); } - @PostMapping("/private/user/setDept") - public Result setUserDept(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserDeptUpdateRequest request) { - try { - return Result.data(userService.setUserDept(request)); - } catch (BusinessException e) { - log.error("用户设置部门异常,请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("用户设置部门异常,请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); - } - - @PostMapping("/private/user/setRole") - public Result setUserRole(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserRoleUpdateRequest request) { - try { - return Result.data(userService.setUserRole(request)); - } catch (BusinessException e) { - log.error("用户设置角色异常,请求:{}", JSON.toJSONString(request), e); - return Result.error(e.getMessage()); - } catch (Exception e) { - log.error("用户设置角色异常,请求:{}", JSON.toJSONString(request), e); - } - return Result.error(); + @PostMapping("/private/user/resetUserPwd") + public Result resetPwd(@RequestBody @Valid @NotNull(message = "请求参数不能为空") UserResetPwdRequest request) { + return Result.data(userService.resetPwd(request.getUserId(), request.getPassword())); } -// @PostMapping("/public/user/useraddBatch") -// public Result add() { -// List futures = Lists.newArrayList(); -// List list = Lists.newCopyOnWriteArrayList(); -// for (int i = 0; i < 100; i++) { -// int finalI = i; -// log.info("第{}批数据生成!", finalI); -// CompletableFuture future = CompletableFuture.runAsync(() -> { -// for (int j = 0; j < 1000; j++) { -// log.info("第{}批的第{}条数据生成!", finalI, j); -// XUser user = new XUser(); -// user.setName("nameTest2" + finalI + j); -// user.setUsername("usernameTest2" + finalI + j); -// user.setPassword(passwordEncoder.encode("123456")); -// user.setEmail("emailTest2" + finalI + j + "@test.com"); -// user.setPhone("13800000000"); -// user.setStatus(UserStatusEnum.USING.getCode()); -// list.add(user); -// } -// }); -// futures.add(future); -// } -// CompletableFuture.allOf(futures.toArray(new CompletableFuture[0])).join(); -// List> partition = Lists.partition(list, 3000); -// CompletableFuture.runAsync(() -> { -// partition.stream().parallel().forEach(userMapper::insertBatch); -// }); -// return Result.success(); -// } } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/convert/XDeptConvert.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/convert/XDeptConvert.java index 178315c..739057d 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/convert/XDeptConvert.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/convert/XDeptConvert.java @@ -1,15 +1,8 @@ package com.xiang.xservice.auth.service.convert; -import com.xiang.xservice.auth.api.dto.req.dept.DeptAddRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; -import com.xiang.xservice.auth.api.dto.resp.DeptDTO; -import com.xiang.xservice.auth.service.entity.XDept; import org.mapstruct.Mapper; import org.mapstruct.factory.Mappers; -import java.util.List; - /** * @Author: xiang * @Date: 2025-08-29 16:54 @@ -17,11 +10,4 @@ import java.util.List; @Mapper(componentModel = "spring") public interface XDeptConvert { XDeptConvert INSTANCE = Mappers.getMapper(XDeptConvert.class); - - XDept toDO(DeptQueryRequest request); - XDept toDO(DeptAddRequest request); - XDept toDO(DeptUpdateRequest request); - - DeptDTO toDTO(XDept dept); - List toDTOList(List dept); } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XDept.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XDept.java deleted file mode 100644 index 3a6517d..0000000 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XDept.java +++ /dev/null @@ -1,67 +0,0 @@ -package com.xiang.xservice.auth.service.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -import java.io.Serial; -import java.io.Serializable; -import java.time.LocalDateTime; - -/** - * @Author: xiang - * @Date: 2025-08-29 16:42 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class XDept implements Serializable { - @Serial - private static final long serialVersionUID = 1L; - private Long id; - - /** - * 名称 - */ - private String name; - - /** - * 父类id - */ - private Long parentId; - - /** - * 路径 - */ - private String treePath; - - /** - * 排序 - */ - private Integer sortNo; - - /** - * 创建时间 - */ - private LocalDateTime createdTime; - - /** - * 创建人 - */ - private String createBy; - - /** - * 修改时间 - */ - private LocalDateTime updatedTime; - - /** - * 修改人 - */ - private String updateBy; - - /** - * 删除标识(0:未删除 1:已删除) - */ - private Integer delFlag; -} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XMenuDO.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XMenuDO.java index 8502c9c..e9f6d22 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XMenuDO.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XMenuDO.java @@ -14,7 +14,7 @@ import java.time.LocalDateTime; @Data @AllArgsConstructor @NoArgsConstructor -@TableName("x_menu") +@TableName("sys_menu") public class XMenuDO { private static final long serialVersionUID = 1L; diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XRole.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XRole.java index 86235e2..61f32a0 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XRole.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XRole.java @@ -1,67 +1,87 @@ package com.xiang.xservice.auth.service.entity; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import java.io.Serial; import java.io.Serializable; import java.time.LocalDateTime; @Data @AllArgsConstructor @NoArgsConstructor +@TableName("sys_role") public class XRole implements Serializable { - @Serial private static final long serialVersionUID = 1L; /** - * id + * 角色id */ - private Long id; + private Long roleId; /** - * 名称 + * 角色名称 */ - private String name; + private String roleName; /** - * 编码 + * 角色权限字符串 */ - private String code; + private String roleKey; /** - * 状态(0:禁用 1:启用) + * 显示顺序 */ - private Integer status; + private Integer roleSort; /** - * data_scope + * 数据范围(1:全部数据权限 2:自定数据权限 3:本部门数据权限 4:本部门及以下数据权限) */ - private Integer dataScope; + private String dataScope; /** - * 创建时间 + * 菜单树选择项是否关联显示 */ - private LocalDateTime createdTime; + private Integer menuCheckStrictly; /** - * 创建人 + * 部门树选择项是否关联显示 + */ + private Integer deptCheckStrictly; + + /** + * 角色状态(0正常 1停用) + */ + private String status; + + /** + * 删除标志(0代表存在 2代表删除) + */ + private String delFlag; + + /** + * 创建者 */ private String createBy; /** - * 修改时间 + * 创建时间 */ - private LocalDateTime updatedTime; + private LocalDateTime createTime; /** - * 修改人 + * 更新者 */ private String updateBy; /** - * 删除标识(0:未删除 1:已删除) + * 更新时间 */ - private Integer delFlag; + private LocalDateTime updateTime; + + /** + * 备注 + */ + private String remark; } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserDept.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserDept.java deleted file mode 100644 index e59ffe7..0000000 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserDept.java +++ /dev/null @@ -1,18 +0,0 @@ -package com.xiang.xservice.auth.service.entity; - -import lombok.AllArgsConstructor; -import lombok.Data; -import lombok.NoArgsConstructor; - -/** - * @Author: xiang - * @Date: 2025-08-29 16:44 - */ -@Data -@AllArgsConstructor -@NoArgsConstructor -public class XUserDept { - private Long userId; - - private Long deptId; -} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserRole.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserRole.java index ce3ac45..16660a2 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserRole.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/entity/XUserRole.java @@ -1,5 +1,6 @@ package com.xiang.xservice.auth.service.entity; +import com.baomidou.mybatisplus.annotation.TableName; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @@ -7,6 +8,7 @@ import lombok.NoArgsConstructor; @Data @AllArgsConstructor @NoArgsConstructor +@TableName("sys_user_role") public class XUserRole { /** diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XDeptMapper.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XDeptMapper.java index 9d043aa..9244438 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XDeptMapper.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XDeptMapper.java @@ -1,13 +1,8 @@ package com.xiang.xservice.auth.service.repository.mapper; -import com.xiang.xservice.auth.service.entity.XDept; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; -import java.time.LocalDateTime; -import java.util.List; - /** * @Author: xiang * @Date: 2025-08-29 16:40 @@ -15,14 +10,4 @@ import java.util.List; @Mapper @Repository public interface XDeptMapper { - - int insert(XDept record); - int update(XDept record); - int delBatch(@Param("ids") List ids, @Param("time") LocalDateTime time, @Param("operator") String operator); - List getDeptList(XDept record); - XDept getDeptById(Long id); - List getDeptByIds(@Param("ids") List ids); - List getDeptByparentId(@Param("parentId") Long parentId); - - } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserDeptMapper.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserDeptMapper.java index 6d1992e..9964605 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserDeptMapper.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/repository/mapper/XUserDeptMapper.java @@ -1,12 +1,8 @@ package com.xiang.xservice.auth.service.repository.mapper; -import com.xiang.xservice.auth.service.entity.XUserDept; import org.apache.ibatis.annotations.Mapper; -import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; -import java.util.List; - /** * @Author: xiang * @Date: 2025-08-29 17:04 @@ -14,9 +10,5 @@ import java.util.List; @Mapper @Repository public interface XUserDeptMapper { - int addBatch(List list); - int delByDeptId(Long deptId); - - XUserDept getByUserId(@Param("id") Long userId); } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/CustomUserDetailsService.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/CustomUserDetailsService.java index 942792e..40f679f 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/CustomUserDetailsService.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/CustomUserDetailsService.java @@ -37,7 +37,7 @@ public class CustomUserDetailsService implements UserDetailsService { List grantedAuthorities = Lists.newArrayList(); if (CollectionUtils.isNotEmpty(roleIds)) { List roles = roleMapper.getRoleByIds(roleIds); - grantedAuthorities.addAll(roles.stream().map(role -> new SimpleGrantedAuthority("ROLE_" + role.getCode())).toList()); + grantedAuthorities.addAll(roles.stream().map(role -> new SimpleGrantedAuthority("ROLE_" + role.getRoleKey())).toList()); } return org.springframework.security.core.userdetails.User .withUsername(user.getUsername()) diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XDeptService.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XDeptService.java deleted file mode 100644 index f88178d..0000000 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XDeptService.java +++ /dev/null @@ -1,27 +0,0 @@ -package com.xiang.xservice.auth.service.service; - -import com.xiang.xservice.auth.api.dto.req.dept.DeptAddRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptUserUpdateRequest; -import com.xiang.xservice.auth.api.dto.resp.DeptDTO; - -import java.util.List; - -/** - * @Author: xiang - * @Date: 2025-08-29 16:36 - */ -public interface XDeptService { - List getDeptList(DeptQueryRequest request); - - DeptDTO getDeptInfo(Long id); - - Boolean addDept(DeptAddRequest request); - - Boolean updateDept(DeptUpdateRequest request); - - Boolean delDept(List ids); - - Boolean setUserDept(DeptUserUpdateRequest request); -} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XRoleService.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XRoleService.java deleted file mode 100644 index 80b274a..0000000 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XRoleService.java +++ /dev/null @@ -1,25 +0,0 @@ -package com.xiang.xservice.auth.service.service; - - -import com.xiang.xservice.auth.api.dto.req.role.RoleAddRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleQueryRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleUpdateRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleUserUpdateRequest; -import com.xiang.xservice.auth.api.dto.resp.RoleDTO; - -import java.util.List; - -public interface XRoleService { - List getRoleList(RoleQueryRequest request); - - RoleDTO getRoleInfo(Long id); - - Boolean addRole(RoleAddRequest request); - - Boolean updateRole(RoleUpdateRequest request); - - Boolean delRole(List ids); - - Boolean setUserRole(RoleUserUpdateRequest request); - -} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XUserService.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XUserService.java index 3cbbf87..b6c40d5 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XUserService.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/XUserService.java @@ -5,9 +5,7 @@ import com.xiang.xservice.auth.api.dto.req.LoginRequest; import com.xiang.xservice.auth.api.dto.req.RefreshRequest; import com.xiang.xservice.auth.api.dto.req.RegisterRequest; import com.xiang.xservice.auth.api.dto.req.user.UserAddRequest; -import com.xiang.xservice.auth.api.dto.req.user.UserDeptUpdateRequest; import com.xiang.xservice.auth.api.dto.req.user.UserQueryRequest; -import com.xiang.xservice.auth.api.dto.req.user.UserRoleUpdateRequest; import com.xiang.xservice.auth.api.dto.req.user.UserUpdateRequest; import com.xiang.xservice.auth.api.dto.resp.LoginResp; import com.xiang.xservice.auth.api.dto.resp.RegisterResp; @@ -19,31 +17,16 @@ import java.util.List; public interface XUserService { LoginResp login(LoginRequest request); - - UserResp getUserByUsername(String username); - RegisterResp userRegister(RegisterRequest request); - Page getUserList(UserQueryRequest request); - UserResp getUserInfo(Long id); - Boolean addUser(UserAddRequest request); - Boolean updateUser(UserUpdateRequest request); - Boolean delUser(List ids); - - Boolean setUserDept(UserDeptUpdateRequest request); - - Boolean setUserRole(UserRoleUpdateRequest request); - UserDTO getUserDetail(String username); - LoginResp refresh(RefreshRequest request); - Boolean updateStatus(Long id, Integer status); - Long getUserId(String token); Long getTenantId(String token); + Boolean resetPwd(Long userId, String password); } diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XDeptServiceImpl.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XDeptServiceImpl.java deleted file mode 100644 index 10b20ca..0000000 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XDeptServiceImpl.java +++ /dev/null @@ -1,102 +0,0 @@ -package com.xiang.xservice.auth.service.service.impl; - -import com.google.common.collect.Lists; -import com.xiang.xservice.auth.api.code.Code03DeptErrorCode; -import com.xiang.xservice.auth.api.dto.req.dept.DeptAddRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptQueryRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptUpdateRequest; -import com.xiang.xservice.auth.api.dto.req.dept.DeptUserUpdateRequest; -import com.xiang.xservice.auth.api.dto.resp.DeptDTO; -import com.xiang.xservice.auth.service.convert.XDeptConvert; -import com.xiang.xservice.auth.service.entity.XDept; -import com.xiang.xservice.auth.service.entity.XUserDept; -import com.xiang.xservice.auth.service.repository.mapper.XDeptMapper; -import com.xiang.xservice.auth.service.repository.mapper.XUserDeptMapper; -import com.xiang.xservice.auth.service.service.XDeptService; -import com.xiang.xservice.basic.exception.BusinessException; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.List; -import java.util.Objects; - -/** - * @Author: xiang - * @Date: 2025-08-29 16:39 - */ -@Slf4j -@Service -@RequiredArgsConstructor -public class XDeptServiceImpl implements XDeptService { - - private final static int BATCH_SIZE = 500; - private final XDeptMapper deptMapper; - private final XDeptConvert deptConvert; - private final XUserDeptMapper userDeptMapper; - @Override - public List getDeptList(DeptQueryRequest request) { - return deptConvert.toDTOList(deptMapper.getDeptList(deptConvert.toDO(request))); - } - - @Override - public DeptDTO getDeptInfo(Long id) { - return deptConvert.toDTO(deptMapper.getDeptById(id)); - } - - @Override - public Boolean addDept(DeptAddRequest request) { - XDept dept = deptConvert.toDO(request); - return deptMapper.insert(dept) > 0; - } - - @Override - public Boolean updateDept(DeptUpdateRequest request) { - XDept dept = deptConvert.toDO(request); - dept.setCreateBy(request.getOperator()); - dept.setUpdateBy(request.getOperator()); - return deptMapper.update(dept) > 0; - } - - @Override - public Boolean delDept(List ids) { - return deptMapper.delBatch(ids, LocalDateTime.now(), "admin") > 0; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean setUserDept(DeptUserUpdateRequest request) { - XDept dept = deptMapper.getDeptById(request.getDeptId()); - if (Objects.isNull(dept)) { - log.error("查询部门信息不存在!部门id:{}", request.getDeptId()); - throw new BusinessException(Code03DeptErrorCode.DEPT_NOT_EXISTS); - } - List result = Lists.newArrayList(); - for (Long userId : request.getUserIds()) { - XUserDept userDept = new XUserDept(); - userDept.setDeptId(request.getDeptId()); - userDept.setUserId(userId); - result.add(userDept); - } - boolean flag = true; - if (userDeptMapper.delByDeptId(request.getDeptId()) <= 0) { - return Boolean.FALSE; - } - if (CollectionUtils.isNotEmpty(result)) { - if (result.size() > BATCH_SIZE) { - List> partition = Lists.partition(result, BATCH_SIZE); - for (List list : partition) { - if (userDeptMapper.addBatch(list) <= 0) { - flag = false; - } - } - } else { - return userDeptMapper.addBatch(result) > 0; - } - } - return flag; - } -} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XRoleServiceImpl.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XRoleServiceImpl.java deleted file mode 100644 index 35f88e9..0000000 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XRoleServiceImpl.java +++ /dev/null @@ -1,106 +0,0 @@ -package com.xiang.xservice.auth.service.service.impl; - -import com.google.common.collect.Lists; -import com.xiang.xservice.auth.api.code.Code02RoleErrorCode; -import com.xiang.xservice.auth.api.dto.req.role.RoleAddRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleQueryRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleUpdateRequest; -import com.xiang.xservice.auth.api.dto.req.role.RoleUserUpdateRequest; -import com.xiang.xservice.auth.api.dto.resp.RoleDTO; -import com.xiang.xservice.auth.service.convert.XRoleConvert; -import com.xiang.xservice.auth.service.entity.XRole; -import com.xiang.xservice.auth.service.entity.XUserRole; -import com.xiang.xservice.auth.service.repository.mapper.XRoleMapper; -import com.xiang.xservice.auth.service.repository.mapper.XUserRoleMapper; -import com.xiang.xservice.auth.service.service.XRoleService; -import com.xiang.xservice.basic.exception.BusinessException; -import lombok.RequiredArgsConstructor; -import lombok.extern.slf4j.Slf4j; -import org.apache.commons.collections4.CollectionUtils; -import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; - -import java.time.LocalDateTime; -import java.util.Collections; -import java.util.List; -import java.util.Objects; - -@Slf4j -@Service -@RequiredArgsConstructor -public class XRoleServiceImpl implements XRoleService { - private final static int BATCH_SIZE = 500; - private final XRoleMapper roleMapper; - private final XUserRoleMapper userRoleMapper; - private final XRoleConvert roleConvert; - - @Override - public List getRoleList(RoleQueryRequest request) { - List roleList = roleMapper.getRoleList(roleConvert.toDO(request)); - if (CollectionUtils.isEmpty(roleList)) { - return Lists.newArrayList(); - } - return roleConvert.toDTOList(roleList); - } - - @Override - public RoleDTO getRoleInfo(Long id) { - XRole role = roleMapper.getRoleById(id); - return roleConvert.toDTO(role); - } - - @Override - public Boolean addRole(RoleAddRequest request) { - XRole role = roleConvert.toDO(request); - role.setCreateBy(request.getOperator()); - role.setUpdateBy(request.getOperator()); - return roleMapper.insert(role) > 0; - } - - @Override - public Boolean updateRole(RoleUpdateRequest request) { - XRole role = roleConvert.toDO(request); - role.setCreateBy(request.getOperator()); - role.setUpdateBy(request.getOperator()); - return roleMapper.update(role) > 0; - } - - @Override - public Boolean delRole(List ids) { - return roleMapper.delBatch(ids, LocalDateTime.now(), "System") > 0; - } - - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean setUserRole(RoleUserUpdateRequest request) { - XRole role = roleMapper.getRoleById(request.getRoleId()); - if (Objects.isNull(role)) { - log.error("查询角色信息不存在!角色id:{}", request.getRoleId()); - throw new BusinessException(Code02RoleErrorCode.ROLE_NOT_EXISTS); - } - List params = Lists.newArrayList(); - for (Long userId : request.getUserIds()) { - XUserRole xUserRole = new XUserRole(); - xUserRole.setRoleId(request.getRoleId()); - xUserRole.setUserId(userId); - params.add(xUserRole); - } - boolean flag = Boolean.TRUE; - if (userRoleMapper.delByRoleIds(Collections.singletonList(request.getRoleId())) <= 0) { - return Boolean.FALSE; - } - if (CollectionUtils.isNotEmpty(params)) { - if (params.size() > BATCH_SIZE) { - List> partition = Lists.partition(params, BATCH_SIZE); - for (List list : partition) { - if (userRoleMapper.addBatch(list) <= 0) { - flag = false; - } - } - } else { - return userRoleMapper.addBatch(params) > 0; - } - } - return flag; - } -} diff --git a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XUserServiceImpl.java b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XUserServiceImpl.java index 7b18e11..4d1ce6e 100644 --- a/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XUserServiceImpl.java +++ b/xs-service/src/main/java/com/xiang/xservice/auth/service/service/impl/XUserServiceImpl.java @@ -8,14 +8,11 @@ import com.google.common.collect.Sets; import com.xiang.xmc.service.cache.service.IRedisService; import com.xiang.xservice.auth.api.code.Code01UserErrorCode; import com.xiang.xservice.auth.api.code.Code02RoleErrorCode; -import com.xiang.xservice.auth.api.code.Code03DeptErrorCode; import com.xiang.xservice.auth.api.dto.req.LoginRequest; import com.xiang.xservice.auth.api.dto.req.RefreshRequest; import com.xiang.xservice.auth.api.dto.req.RegisterRequest; import com.xiang.xservice.auth.api.dto.req.user.UserAddRequest; -import com.xiang.xservice.auth.api.dto.req.user.UserDeptUpdateRequest; import com.xiang.xservice.auth.api.dto.req.user.UserQueryRequest; -import com.xiang.xservice.auth.api.dto.req.user.UserRoleUpdateRequest; import com.xiang.xservice.auth.api.dto.req.user.UserUpdateRequest; import com.xiang.xservice.auth.api.dto.resp.LoginResp; import com.xiang.xservice.auth.api.dto.resp.RegisterResp; @@ -26,12 +23,10 @@ import com.xiang.xservice.auth.service.convert.XDeptConvert; import com.xiang.xservice.auth.service.convert.XPermissionConvert; import com.xiang.xservice.auth.service.convert.XRoleConvert; import com.xiang.xservice.auth.service.convert.XUserConvert; -import com.xiang.xservice.auth.service.entity.XDept; import com.xiang.xservice.auth.service.entity.XPermission; import com.xiang.xservice.auth.service.entity.XRole; import com.xiang.xservice.auth.service.entity.XRolePermission; import com.xiang.xservice.auth.service.entity.XUser; -import com.xiang.xservice.auth.service.entity.XUserDept; import com.xiang.xservice.auth.service.entity.XUserRole; import com.xiang.xservice.auth.service.enums.UserStatusEnum; import com.xiang.xservice.auth.service.repository.mapper.XDeptMapper; @@ -63,7 +58,6 @@ import org.springframework.security.oauth2.jwt.JwtDecoder; import org.springframework.security.oauth2.jwt.JwtEncoder; import org.springframework.security.oauth2.jwt.JwtEncoderParameters; import org.springframework.stereotype.Service; -import org.springframework.transaction.annotation.Transactional; import java.time.Instant; import java.time.LocalDateTime; @@ -118,7 +112,7 @@ public class XUserServiceImpl implements XUserService { if (CollectionUtils.isEmpty(roles)) { throw new BusinessException(Code02RoleErrorCode.ROLE_NOT_EXISTS); } - roleCodes.addAll(roles.stream().map(XRole::getCode).toList()); + roleCodes.addAll(roles.stream().map(XRole::getRoleKey).toList()); } if (StringUtils.isNotBlank(user.getToken())) { try { @@ -175,26 +169,6 @@ public class XUserServiceImpl implements XUserService { return loginResp; } - @Override - public UserResp getUserByUsername(String username) { - XUser user = userMapper.selectByUsername(username); - if (Objects.isNull(user)) { - throw new BusinessException(Code01UserErrorCode.USER_NOT_EXISTS); - } - - UserResp userResp = new UserResp(); - userResp.setName(user.getName()); - userResp.setUsername(user.getUsername()); - userResp.setEmail(user.getEmail()); - userResp.setPhone(user.getPhone()); - userResp.setAvatar(user.getAvatar()); - userResp.setLoginIp(user.getLoginIp()); - userResp.setLoginDate(user.getLoginDate()); - userResp.setStatus(user.getStatus()); - userResp.setUpdateTime(user.getUpdateTime()); - return userResp; - } - @Override public RegisterResp userRegister(RegisterRequest request) { // todo 手机号验证码校验 @@ -291,33 +265,6 @@ public class XUserServiceImpl implements XUserService { return userMapper.deleteBatch(ids, LocalDateTime.now(), "System") > 0; } - @Override - @Transactional(rollbackFor = Exception.class) - public Boolean setUserDept(UserDeptUpdateRequest request) { - return null; - } - - @Override - public Boolean setUserRole(UserRoleUpdateRequest request) { - XUser user = userMapper.getUserById(request.getUserId()); - if (Objects.isNull(user)) { - log.error("查询用户信息不存在!用户id:{}", request.getUserId()); - throw new BusinessException(Code01UserErrorCode.USER_NOT_EXISTS); - } - List params = Lists.newArrayList(); - for (Long roleId : request.getRoleIds()) { - XUserRole userRole = new XUserRole(); - userRole.setRoleId(roleId); - userRole.setUserId(request.getUserId()); - params.add(userRole); - } - if (CollectionUtils.isNotEmpty(params)) { - return userRoleMapper.insertUserRole(params) > 0; - - } - return Boolean.FALSE; - } - @Override public UserDTO getUserDetail(String username) { UserDTO dto = new UserDTO(); @@ -333,15 +280,15 @@ public class XUserServiceImpl implements XUserService { throw new BusinessException(Code02RoleErrorCode.ROLE_NOT_EXISTS); } dto.setRoles(roleConvert.toDTOList(roles)); - XUserDept userDept = userDeptMapper.getByUserId(user.getId()); - if (Objects.nonNull(userDept)) { - Long deptId = userDept.getDeptId(); - XDept dept = deptMapper.getDeptById(deptId); - if (Objects.isNull(dept)) { - throw new BusinessException(Code03DeptErrorCode.DEPT_NOT_EXISTS); - } - dto.setDept(deptConvert.toDTO(dept)); - } +// XUserDept userDept = userDeptMapper.getByUserId(user.getId()); +// if (Objects.nonNull(userDept)) { +// Long deptId = userDept.getDeptId(); +// XDept dept = deptMapper.getDeptById(deptId); +// if (Objects.isNull(dept)) { +// throw new BusinessException(Code03DeptErrorCode.DEPT_NOT_EXISTS); +// } +// dto.setDept(deptConvert.toDTO(dept)); +// } List permissionsByRoleIds = rolePermissionMapper.getRolePermissionsByRoleIds(roleIds); if (CollectionUtils.isNotEmpty(permissionsByRoleIds)) { List permissionIds = permissionsByRoleIds.stream().map(XRolePermission::getPermissionId).toList(); @@ -378,7 +325,7 @@ public class XUserServiceImpl implements XUserService { if (CollectionUtils.isNotEmpty(userRoles)) { List roles = roleMapper.getRoleByIds(userRoles.stream().map(XUserRole::getRoleId).collect(Collectors.toList())); if (CollectionUtils.isNotEmpty(roles)) { - roleCodes.addAll(roles.stream().map(XRole::getCode).toList()); + roleCodes.addAll(roles.stream().map(XRole::getRoleKey).toList()); } } // 生成新的 accessToken @@ -435,4 +382,15 @@ public class XUserServiceImpl implements XUserService { throw new BusinessException(Code01UserErrorCode.TOKEN_NOT_VALID); } } + + @Override + public Boolean resetPwd(Long userId, String password) { + XUser user = userMapper.getUserById(userId); + if (Objects.isNull(user)) { + throw new BusinessException(Code01UserErrorCode.USER_NOT_EXISTS); + } + String encodePwd = passwordEncoder.encode(password); + user.setPassword(encodePwd); + return userMapper.update(user) > 0; + } } diff --git a/xs-service/src/main/resources/mapper/user/XDeptMapper.xml b/xs-service/src/main/resources/mapper/user/XDeptMapper.xml index 3c81afa..07538b0 100644 --- a/xs-service/src/main/resources/mapper/user/XDeptMapper.xml +++ b/xs-service/src/main/resources/mapper/user/XDeptMapper.xml @@ -3,144 +3,4 @@ "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> - - - - - - - - - - - - - - name, - parent_id, - tree_path, - sort_no, - created_time, - create_by, - updated_time, - update_by, - del_flag - - - - INSERT INTO x_dept - - - name, - - - parent_id, - - - tree_path, - - - sort_no, - - - created_time, - - - create_by, - - - updated_time, - - - update_by, - - - del_flag - - - - - #{name}, - - - #{parentId}, - - - #{treePath}, - - - #{sortNo}, - - - #{createdTime}, - - - #{createBy}, - - - #{updatedTime}, - - - #{updateBy}, - - - #{delFlag} - - - - - - update x_dept - SET del_flag = 1, updated_time = now(), update_by = #{updateBy} - WHERE id IN - - #{item} - - - - - UPDATE x_dept - - name = #{name}, - parent_id = #{parentId}, - tree_path = #{treePath}, - sort_no = #{sortNo}, - created_time = #{createdTime}, - create_by = #{createBy}, - updated_time = #{updatedTime}, - update_by = #{updateBy}, - del_flag = #{delFlag} - - WHERE id = #{id} - - - - - - - \ No newline at end of file diff --git a/xs-service/src/main/resources/mapper/user/XMenuMapper.xml b/xs-service/src/main/resources/mapper/user/XMenuMapper.xml index fc5b6e7..5fa12dc 100644 --- a/xs-service/src/main/resources/mapper/user/XMenuMapper.xml +++ b/xs-service/src/main/resources/mapper/user/XMenuMapper.xml @@ -7,7 +7,6 @@ - @@ -22,12 +21,6 @@ - - - select menu_id, menu_name, parent_id, order_num, path, component, `query`, route_name, is_frame, is_cache, menu_type, visible, status, ifnull(perms,'') as perms, icon, create_time - from x_menu - - \ No newline at end of file diff --git a/xs-service/src/main/resources/mapper/user/XRoleMapper.xml b/xs-service/src/main/resources/mapper/user/XRoleMapper.xml index afe586c..ad13a2f 100644 --- a/xs-service/src/main/resources/mapper/user/XRoleMapper.xml +++ b/xs-service/src/main/resources/mapper/user/XRoleMapper.xml @@ -4,126 +4,56 @@ - - - - + + + + - - - - + + + + + + + + - id, - name, - code, - status, + role_id, + role_name, + role_key, + role_sort, data_scope, - created_time, + menu_check_strictly, + dept_check_strictly, + status, + del_flag, create_by, - updated_time, + create_time, update_by, - del_flag + update_time, + remark - - INSERT INTO x_role - - - name, - - - code, - - - status, - - - data_scope, - - - created_time, - - - create_by, - - - updated_time, - - - update_by, - - - del_flag - - - - - #{name}, - - - #{code}, - - - #{status}, - - - #{dataScope}, - - - #{createdTime}, - - - #{createBy}, - - - #{updatedTime}, - - - #{updateBy}, - - - #{delFlag} - - - - - update x_role set del_flag = 0, update_time = #{time}, update_by = #{operator} where id in + update sys_role set del_flag = 0, update_time = #{time}, update_by = #{operator} where id in #{id} - - UPDATE x_role - - name = #{name}, - code = #{code}, - status = #{status}, - data_scope = #{dataScope}, - created_time = #{createdTime}, - create_by = #{createBy}, - updated_time = #{updatedTime}, - update_by = #{updateBy}, - del_flag = #{delFlag} - - WHERE id = #{id} - - - select - from x_user_data_scope_dept where user_id = #{id} - - \ No newline at end of file diff --git a/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml b/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml index 10f4d94..b5826bb 100644 --- a/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml +++ b/xs-service/src/main/resources/mapper/user/XUserRoleMapper.xml @@ -13,7 +13,7 @@ role_id - insert into x_user_role(user_id, role_id) + insert into sys_user_role(user_id, role_id) values (#{item.userId}, #{item.roleId}) @@ -21,18 +21,18 @@ - delete from x_user_role where user_id = #{userId} + delete from sys_user_role where user_id = #{userId} - delete from x_user_role where role_id in + delete from sys_user_role where role_id in #{id} - insert into x_user_role(user_id, role_id) values + insert into sys_user_role(user_id, role_id) values (#{item.userId}, #{item.roleId}) @@ -40,7 +40,7 @@