diff --git a/spring-security/step-2/src/main/java/com/spring/step2/controller/PermissionController.java b/spring-security/step-2/src/main/java/com/spring/step2/controller/PermissionController.java
new file mode 100644
index 0000000..05e6d75
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/controller/PermissionController.java
@@ -0,0 +1,69 @@
+package com.spring.step2.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.PermissionDto;
+import com.spring.step2.domain.entity.PermissionEntity;
+import com.spring.step2.domain.vo.PermissionVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.domain.vo.result.Result;
+import com.spring.step2.domain.vo.result.ResultCodeEnum;
+import com.spring.step2.service.PermissionService;
+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 lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ * 系统权限表 前端控制器
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Tag(name = "系统权限表", description = "系统权限表相关接口")
+@RestController
+@RequestMapping("/api/coupon/permission")
+@RequiredArgsConstructor
+public class PermissionController {
+
+ private final PermissionService permissionService;
+
+ @Operation(summary = "分页查询系统权限表", description = "分页系统权限表")
+ @GetMapping("{page}/{limit}")
+ public Result> getPermissionPage(
+ @Parameter(name = "page", description = "当前页", required = true)
+ @PathVariable("page") Integer page,
+ @Parameter(name = "limit", description = "每页记录数", required = true)
+ @PathVariable("limit") Integer limit,
+ PermissionDto dto) {
+ Page pageParams = new Page<>(page, limit);
+ PageResult pageResult = permissionService.getPermissionPage(pageParams, dto);
+ return Result.success(pageResult);
+ }
+
+ @Operation(summary = "添加系统权限表", description = "添加系统权限表")
+ @PostMapping()
+ public Result addPermission(@Valid @RequestBody PermissionDto dto) {
+ permissionService.addPermission(dto);
+ return Result.success(ResultCodeEnum.ADD_SUCCESS);
+ }
+
+ @Operation(summary = "更新系统权限表", description = "更新系统权限表")
+ @PutMapping()
+ public Result updatePermission(@Valid @RequestBody PermissionDto dto) {
+ permissionService.updatePermission(dto);
+ return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
+ }
+
+ @Operation(summary = "删除系统权限表", description = "删除系统权限表")
+ @DeleteMapping()
+ public Result deletePermission(@RequestBody List ids) {
+ permissionService.deletePermission(ids);
+ return Result.success(ResultCodeEnum.DELETE_SUCCESS);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/controller/RoleController.java b/spring-security/step-2/src/main/java/com/spring/step2/controller/RoleController.java
new file mode 100644
index 0000000..ac8648b
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/controller/RoleController.java
@@ -0,0 +1,69 @@
+package com.spring.step2.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.RoleDto;
+import com.spring.step2.domain.entity.RoleEntity;
+import com.spring.step2.domain.vo.RoleVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.domain.vo.result.Result;
+import com.spring.step2.domain.vo.result.ResultCodeEnum;
+import com.spring.step2.service.RoleService;
+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 lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ * 系统角色表 前端控制器
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Tag(name = "系统角色表", description = "系统角色表相关接口")
+@RestController
+@RequestMapping("/api/coupon/role")
+@RequiredArgsConstructor
+public class RoleController {
+
+ private final RoleService roleService;
+
+ @Operation(summary = "分页查询系统角色表", description = "分页系统角色表")
+ @GetMapping("{page}/{limit}")
+ public Result> getRolePage(
+ @Parameter(name = "page", description = "当前页", required = true)
+ @PathVariable("page") Integer page,
+ @Parameter(name = "limit", description = "每页记录数", required = true)
+ @PathVariable("limit") Integer limit,
+ RoleDto dto) {
+ Page pageParams = new Page<>(page, limit);
+ PageResult pageResult = roleService.getRolePage(pageParams, dto);
+ return Result.success(pageResult);
+ }
+
+ @Operation(summary = "添加系统角色表", description = "添加系统角色表")
+ @PostMapping()
+ public Result addRole(@Valid @RequestBody RoleDto dto) {
+ roleService.addRole(dto);
+ return Result.success(ResultCodeEnum.ADD_SUCCESS);
+ }
+
+ @Operation(summary = "更新系统角色表", description = "更新系统角色表")
+ @PutMapping()
+ public Result updateRole(@Valid @RequestBody RoleDto dto) {
+ roleService.updateRole(dto);
+ return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
+ }
+
+ @Operation(summary = "删除系统角色表", description = "删除系统角色表")
+ @DeleteMapping()
+ public Result deleteRole(@RequestBody List ids) {
+ roleService.deleteRole(ids);
+ return Result.success(ResultCodeEnum.DELETE_SUCCESS);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/controller/RolePermissionController.java b/spring-security/step-2/src/main/java/com/spring/step2/controller/RolePermissionController.java
new file mode 100644
index 0000000..d996a33
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/controller/RolePermissionController.java
@@ -0,0 +1,69 @@
+package com.spring.step2.controller;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.RolePermissionDto;
+import com.spring.step2.domain.entity.RolePermissionEntity;
+import com.spring.step2.domain.vo.RolePermissionVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.domain.vo.result.Result;
+import com.spring.step2.domain.vo.result.ResultCodeEnum;
+import com.spring.step2.service.RolePermissionService;
+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 lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ * 角色权限关联表 前端控制器
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Tag(name = "角色权限关联表", description = "角色权限关联表相关接口")
+@RestController
+@RequestMapping("/api/coupon/role-permission")
+@RequiredArgsConstructor
+public class RolePermissionController {
+
+ private final RolePermissionService rolePermissionService;
+
+ @Operation(summary = "分页查询角色权限关联表", description = "分页角色权限关联表")
+ @GetMapping("{page}/{limit}")
+ public Result> getRolePermissionPage(
+ @Parameter(name = "page", description = "当前页", required = true)
+ @PathVariable("page") Integer page,
+ @Parameter(name = "limit", description = "每页记录数", required = true)
+ @PathVariable("limit") Integer limit,
+ RolePermissionDto dto) {
+ Page pageParams = new Page<>(page, limit);
+ PageResult pageResult = rolePermissionService.getRolePermissionPage(pageParams, dto);
+ return Result.success(pageResult);
+ }
+
+ @Operation(summary = "添加角色权限关联表", description = "添加角色权限关联表")
+ @PostMapping()
+ public Result addRolePermission(@Valid @RequestBody RolePermissionDto dto) {
+ rolePermissionService.addRolePermission(dto);
+ return Result.success(ResultCodeEnum.ADD_SUCCESS);
+ }
+
+ @Operation(summary = "更新角色权限关联表", description = "更新角色权限关联表")
+ @PutMapping()
+ public Result updateRolePermission(@Valid @RequestBody RolePermissionDto dto) {
+ rolePermissionService.updateRolePermission(dto);
+ return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
+ }
+
+ @Operation(summary = "删除角色权限关联表", description = "删除角色权限关联表")
+ @DeleteMapping()
+ public Result deleteRolePermission(@RequestBody List ids) {
+ rolePermissionService.deleteRolePermission(ids);
+ return Result.success(ResultCodeEnum.DELETE_SUCCESS);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/controller/UserController.java b/spring-security/step-2/src/main/java/com/spring/step2/controller/UserController.java
index 2bb921c..9035aee 100644
--- a/spring-security/step-2/src/main/java/com/spring/step2/controller/UserController.java
+++ b/spring-security/step-2/src/main/java/com/spring/step2/controller/UserController.java
@@ -1,5 +1,6 @@
package com.spring.step2.controller;
+
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.step2.domain.dto.UserDto;
import com.spring.step2.domain.entity.UserEntity;
@@ -19,21 +20,21 @@ import java.util.List;
/**
*
- * 用户 前端控制器
+ * 用户基本信息表 前端控制器
*
*
* @author Bunny
- * @since 2025-07-11 14:49:46
+ * @since 2025-07-11 22:36:53
*/
-@Tag(name = "用户", description = "用户相关接口")
+@Tag(name = "用户基本信息表", description = "用户基本信息表相关接口")
@RestController
-@RequestMapping("/api/user/user")
+@RequestMapping("/api/coupon/user")
@RequiredArgsConstructor
public class UserController {
private final UserService userService;
- @Operation(summary = "分页查询用户", description = "分页用户")
+ @Operation(summary = "分页查询用户基本信息表", description = "分页用户基本信息表")
@GetMapping("{page}/{limit}")
public Result> getUserPage(
@Parameter(name = "page", description = "当前页", required = true)
@@ -46,21 +47,21 @@ public class UserController {
return Result.success(pageResult);
}
- @Operation(summary = "添加用户", description = "添加用户")
+ @Operation(summary = "添加用户基本信息表", description = "添加用户基本信息表")
@PostMapping()
public Result addUser(@Valid @RequestBody UserDto dto) {
userService.addUser(dto);
return Result.success(ResultCodeEnum.ADD_SUCCESS);
}
- @Operation(summary = "更新用户", description = "更新用户")
+ @Operation(summary = "更新用户基本信息表", description = "更新用户基本信息表")
@PutMapping()
public Result updateUser(@Valid @RequestBody UserDto dto) {
userService.updateUser(dto);
return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
}
- @Operation(summary = "删除用户", description = "删除用户")
+ @Operation(summary = "删除用户基本信息表", description = "删除用户基本信息表")
@DeleteMapping()
public Result deleteUser(@RequestBody List ids) {
userService.deleteUser(ids);
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/controller/UserRoleController.java b/spring-security/step-2/src/main/java/com/spring/step2/controller/UserRoleController.java
new file mode 100644
index 0000000..2f97896
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/controller/UserRoleController.java
@@ -0,0 +1,70 @@
+package com.spring.step2.controller;
+
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.UserRoleDto;
+import com.spring.step2.domain.entity.UserRoleEntity;
+import com.spring.step2.domain.vo.UserRoleVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.domain.vo.result.Result;
+import com.spring.step2.domain.vo.result.ResultCodeEnum;
+import com.spring.step2.service.UserRoleService;
+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 lombok.RequiredArgsConstructor;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ *
+ * 用户角色关联表 前端控制器
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Tag(name = "用户角色关联表", description = "用户角色关联表相关接口")
+@RestController
+@RequestMapping("/api/coupon/user-role")
+@RequiredArgsConstructor
+public class UserRoleController {
+
+ private final UserRoleService userRoleService;
+
+ @Operation(summary = "分页查询用户角色关联表", description = "分页用户角色关联表")
+ @GetMapping("{page}/{limit}")
+ public Result> getUserRolePage(
+ @Parameter(name = "page", description = "当前页", required = true)
+ @PathVariable("page") Integer page,
+ @Parameter(name = "limit", description = "每页记录数", required = true)
+ @PathVariable("limit") Integer limit,
+ UserRoleDto dto) {
+ Page pageParams = new Page<>(page, limit);
+ PageResult pageResult = userRoleService.getUserRolePage(pageParams, dto);
+ return Result.success(pageResult);
+ }
+
+ @Operation(summary = "添加用户角色关联表", description = "添加用户角色关联表")
+ @PostMapping()
+ public Result addUserRole(@Valid @RequestBody UserRoleDto dto) {
+ userRoleService.addUserRole(dto);
+ return Result.success(ResultCodeEnum.ADD_SUCCESS);
+ }
+
+ @Operation(summary = "更新用户角色关联表", description = "更新用户角色关联表")
+ @PutMapping()
+ public Result updateUserRole(@Valid @RequestBody UserRoleDto dto) {
+ userRoleService.updateUserRole(dto);
+ return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
+ }
+
+ @Operation(summary = "删除用户角色关联表", description = "删除用户角色关联表")
+ @DeleteMapping()
+ public Result deleteUserRole(@RequestBody List ids) {
+ userRoleService.deleteUserRole(ids);
+ return Result.success(ResultCodeEnum.DELETE_SUCCESS);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/controller/UsersController.java b/spring-security/step-2/src/main/java/com/spring/step2/controller/UsersController.java
deleted file mode 100644
index 49445c2..0000000
--- a/spring-security/step-2/src/main/java/com/spring/step2/controller/UsersController.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.spring.step2.controller;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.spring.step2.domain.dto.UsersDto;
-import com.spring.step2.domain.entity.UsersEntity;
-import com.spring.step2.domain.vo.UsersVo;
-import com.spring.step2.domain.vo.result.PageResult;
-import com.spring.step2.domain.vo.result.Result;
-import com.spring.step2.domain.vo.result.ResultCodeEnum;
-import com.spring.step2.service.UsersService;
-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 lombok.RequiredArgsConstructor;
-import org.springframework.web.bind.annotation.*;
-
-import java.util.List;
-
-/**
- *
- * 前端控制器
- *
- *
- * @author Bunny
- * @since 2025-07-11 14:49:46
- */
-@Tag(name = "Csharp用户接口查询", description = "用户接口查询相关接口")
-@RestController
-@RequestMapping("/api/user/users")
-@RequiredArgsConstructor
-public class UsersController {
-
- private final UsersService usersService;
-
- @Operation(summary = "分页查询", description = "分页")
- @GetMapping("{page}/{limit}")
- public Result> getUsersPage(
- @Parameter(name = "page", description = "当前页", required = true)
- @PathVariable("page") Integer page,
- @Parameter(name = "limit", description = "每页记录数", required = true)
- @PathVariable("limit") Integer limit,
- UsersDto dto) {
- Page pageParams = new Page<>(page, limit);
- PageResult pageResult = usersService.getUsersPage(pageParams, dto);
- return Result.success(pageResult);
- }
-
- @Operation(summary = "添加", description = "添加")
- @PostMapping()
- public Result addUsers(@Valid @RequestBody UsersDto dto) {
- usersService.addUsers(dto);
- return Result.success(ResultCodeEnum.ADD_SUCCESS);
- }
-
- @Operation(summary = "更新", description = "更新")
- @PutMapping()
- public Result updateUsers(@Valid @RequestBody UsersDto dto) {
- usersService.updateUsers(dto);
- return Result.success(ResultCodeEnum.UPDATE_SUCCESS);
- }
-
- @Operation(summary = "删除", description = "删除")
- @DeleteMapping()
- public Result deleteUsers(@RequestBody List ids) {
- usersService.deleteUsers(ids);
- return Result.success(ResultCodeEnum.DELETE_SUCCESS);
- }
-}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/PermissionDto.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/PermissionDto.java
new file mode 100644
index 0000000..8654805
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/PermissionDto.java
@@ -0,0 +1,45 @@
+package com.spring.step2.domain.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Schema(name = "PermissionDTO对象", title = "系统权限表", description = "系统权限表的DTO对象")
+public class PermissionDto {
+
+ @Schema(name = "id", title = "主键ID")
+ private Long id;
+
+ @Schema(name = "permissionCode", title = "权限编码")
+ private String permissionCode;
+
+ @Schema(name = "description", title = "权限描述")
+ private String description;
+
+ @Schema(name = "remark", title = "备注信息")
+ private String remark;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RoleDto.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RoleDto.java
new file mode 100644
index 0000000..c286322
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RoleDto.java
@@ -0,0 +1,45 @@
+package com.spring.step2.domain.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Schema(name = "RoleDTO对象", title = "系统角色表", description = "系统角色表的DTO对象")
+public class RoleDto {
+
+ @Schema(name = "id", title = "主键ID")
+ private Long id;
+
+ @Schema(name = "roleName", title = "角色名称")
+ private String roleName;
+
+ @Schema(name = "description", title = "角色描述")
+ private String description;
+
+ @Schema(name = "remark", title = "备注信息")
+ private String remark;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RolePermissionDto.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RolePermissionDto.java
new file mode 100644
index 0000000..b6ac9fc
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RolePermissionDto.java
@@ -0,0 +1,42 @@
+package com.spring.step2.domain.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Schema(name = "RolePermissionDTO对象", title = "角色权限关联表", description = "角色权限关联表的DTO对象")
+public class RolePermissionDto {
+
+ @Schema(name = "id", title = "主键ID")
+ private Long id;
+
+ @Schema(name = "roleId", title = "角色ID")
+ private Long roleId;
+
+ @Schema(name = "permissionId", title = "权限ID")
+ private Long permissionId;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UserRoleDto.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UserRoleDto.java
new file mode 100644
index 0000000..d72f2de
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UserRoleDto.java
@@ -0,0 +1,42 @@
+package com.spring.step2.domain.dto;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@Schema(name = "UserRoleDTO对象", title = "用户角色关联表", description = "用户角色关联表的DTO对象")
+public class UserRoleDto {
+
+ @Schema(name = "id", title = "主键")
+ private Long id;
+
+ @Schema(name = "roleId", title = "角色ID")
+ private Long roleId;
+
+ @Schema(name = "userId", title = "用户ID")
+ private Long userId;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UsersDto.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UsersDto.java
deleted file mode 100644
index cb22ec9..0000000
--- a/spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UsersDto.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.spring.step2.domain.dto;
-
-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 = "UsersDTO对象", title = "", description = "的DTO对象")
-public class UsersDto {
-
- @Schema(name = "username", title = "username")
- private String username;
-
- @Schema(name = "password", title = "password")
- private String password;
-
- @Schema(name = "enabled", title = "enabled")
- private Boolean enabled;
-
- @Schema(name = "id", title = "主键")
- private String id;
-
- @Schema(name = "email", title = "邮箱")
- private String email;
-
-}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/PermissionEntity.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/PermissionEntity.java
new file mode 100644
index 0000000..a008245
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/PermissionEntity.java
@@ -0,0 +1,28 @@
+package com.spring.step2.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_permission")
+@Schema(name = "Permission对象", title = "系统权限表", description = "系统权限表的实体类对象")
+public class PermissionEntity extends BaseEntity {
+
+ @Schema(name = "permissionCode", title = "权限编码")
+ private String permissionCode;
+
+ @Schema(name = "description", title = "权限描述")
+ private String description;
+
+ @Schema(name = "remark", title = "备注信息")
+ private String remark;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RoleEntity.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RoleEntity.java
new file mode 100644
index 0000000..c877dca
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RoleEntity.java
@@ -0,0 +1,28 @@
+package com.spring.step2.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_role")
+@Schema(name = "Role对象", title = "系统角色表", description = "系统角色表的实体类对象")
+public class RoleEntity extends BaseEntity {
+
+ @Schema(name = "roleName", title = "角色名称")
+ private String roleName;
+
+ @Schema(name = "description", title = "角色描述")
+ private String description;
+
+ @Schema(name = "remark", title = "备注信息")
+ private String remark;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RolePermissionEntity.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RolePermissionEntity.java
new file mode 100644
index 0000000..583dcef
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RolePermissionEntity.java
@@ -0,0 +1,25 @@
+package com.spring.step2.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_role_permission")
+@Schema(name = "RolePermission对象", title = "角色权限关联表", description = "角色权限关联表的实体类对象")
+public class RolePermissionEntity extends BaseEntity {
+
+ @Schema(name = "roleId", title = "角色ID")
+ private Long roleId;
+
+ @Schema(name = "permissionId", title = "权限ID")
+ private Long permissionId;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UserRoleEntity.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UserRoleEntity.java
new file mode 100644
index 0000000..3c9acd4
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UserRoleEntity.java
@@ -0,0 +1,25 @@
+package com.spring.step2.domain.entity;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Getter;
+import lombok.Setter;
+import lombok.experimental.Accessors;
+
+@Getter
+@Setter
+@Accessors(chain = true)
+@TableName("t_user_role")
+@Schema(name = "UserRole对象", title = "用户角色关联表", description = "用户角色关联表的实体类对象")
+public class UserRoleEntity extends BaseEntity {
+
+ @Schema(name = "roleId", title = "角色ID")
+ private Long roleId;
+
+ @Schema(name = "userId", title = "用户ID")
+ private Long userId;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UsersEntity.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UsersEntity.java
deleted file mode 100644
index 4c5b17b..0000000
--- a/spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UsersEntity.java
+++ /dev/null
@@ -1,31 +0,0 @@
-package com.spring.step2.domain.entity;
-
-import com.baomidou.mybatisplus.annotation.IdType;
-import com.baomidou.mybatisplus.annotation.TableId;
-import com.baomidou.mybatisplus.annotation.TableName;
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.Getter;
-import lombok.Setter;
-import lombok.experimental.Accessors;
-
-@Getter
-@Setter
-@Accessors(chain = true)
-@TableName("users")
-@Schema(name = "Users对象", title = "", description = "的实体类对象")
-public class UsersEntity {
-
- @Schema(name = "username", title = "username")
- @TableId(type = IdType.ASSIGN_ID)
- private String username;
-
- @Schema(name = "password", title = "password")
- private String password;
-
- @Schema(name = "id", title = "主键")
- private String id;
-
- @Schema(name = "email", title = "邮箱")
- private String email;
-
-}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/PermissionVo.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/PermissionVo.java
new file mode 100644
index 0000000..77311b5
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/PermissionVo.java
@@ -0,0 +1,44 @@
+package com.spring.step2.domain.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(name = "PermissionVO对象", title = "系统权限表", description = "系统权限表的VO对象")
+public class PermissionVo {
+
+ @Schema(name = "id", title = "主键ID")
+ private Long id;
+
+ @Schema(name = "permissionCode", title = "权限编码")
+ private String permissionCode;
+
+ @Schema(name = "description", title = "权限描述")
+ private String description;
+
+ @Schema(name = "remark", title = "备注信息")
+ private String remark;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
+
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RolePermissionVo.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RolePermissionVo.java
new file mode 100644
index 0000000..610e42c
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RolePermissionVo.java
@@ -0,0 +1,41 @@
+package com.spring.step2.domain.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(name = "RolePermissionVO对象", title = "角色权限关联表", description = "角色权限关联表的VO对象")
+public class RolePermissionVo {
+
+ @Schema(name = "id", title = "主键ID")
+ private Long id;
+
+ @Schema(name = "roleId", title = "角色ID")
+ private Long roleId;
+
+ @Schema(name = "permissionId", title = "权限ID")
+ private Long permissionId;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
+
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RoleVo.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RoleVo.java
new file mode 100644
index 0000000..dc982de
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RoleVo.java
@@ -0,0 +1,44 @@
+package com.spring.step2.domain.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(name = "RoleVO对象", title = "系统角色表", description = "系统角色表的VO对象")
+public class RoleVo {
+
+ @Schema(name = "id", title = "主键ID")
+ private Long id;
+
+ @Schema(name = "roleName", title = "角色名称")
+ private String roleName;
+
+ @Schema(name = "description", title = "角色描述")
+ private String description;
+
+ @Schema(name = "remark", title = "备注信息")
+ private String remark;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
+
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserRoleVo.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserRoleVo.java
new file mode 100644
index 0000000..d76136c
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserRoleVo.java
@@ -0,0 +1,41 @@
+package com.spring.step2.domain.vo;
+
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.AllArgsConstructor;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.time.LocalDateTime;
+
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Schema(name = "UserRoleVO对象", title = "用户角色关联表", description = "用户角色关联表的VO对象")
+public class UserRoleVo {
+
+ @Schema(name = "id", title = "主键")
+ private Long id;
+
+ @Schema(name = "roleId", title = "角色ID")
+ private Long roleId;
+
+ @Schema(name = "userId", title = "用户ID")
+ private Long userId;
+
+ @Schema(name = "createTime", title = "创建时间")
+ private LocalDateTime createTime;
+
+ @Schema(name = "updateTime", title = "更新时间")
+ private LocalDateTime updateTime;
+
+ @Schema(name = "createUser", title = "创建用户ID")
+ private Long createUser;
+
+ @Schema(name = "updateUser", title = "更新用户ID")
+ private Long updateUser;
+
+ @Schema(name = "isDeleted", title = "是否删除:0-未删除,1-已删除")
+ private Boolean isDeleted;
+
+}
+
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserVo.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserVo.java
index de35f48..8aac1bc 100644
--- a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserVo.java
+++ b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserVo.java
@@ -10,11 +10,11 @@ import java.time.LocalDateTime;
@Data
@AllArgsConstructor
@NoArgsConstructor
-@Schema(name = "UserVO对象", title = "用户", description = "用户的VO对象")
+@Schema(name = "UserVO对象", title = "用户基本信息表", description = "用户基本信息表的VO对象")
public class UserVo {
@Schema(name = "id", title = "主键")
- private String id;
+ private Long id;
@Schema(name = "username", title = "用户名")
private String username;
@@ -31,10 +31,10 @@ public class UserVo {
@Schema(name = "updateTime", title = "更新时间")
private LocalDateTime updateTime;
- @Schema(name = "createUser", title = "创建用户")
+ @Schema(name = "createUser", title = "创建用户ID")
private Long createUser;
- @Schema(name = "updateUser", title = "更新用户")
+ @Schema(name = "updateUser", title = "更新用户ID")
private Long updateUser;
@Schema(name = "isDeleted", title = "是否被删除")
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UsersVo.java b/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UsersVo.java
deleted file mode 100644
index 59a1004..0000000
--- a/spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UsersVo.java
+++ /dev/null
@@ -1,30 +0,0 @@
-package com.spring.step2.domain.vo;
-
-import io.swagger.v3.oas.annotations.media.Schema;
-import lombok.AllArgsConstructor;
-import lombok.Data;
-import lombok.NoArgsConstructor;
-
-@Data
-@AllArgsConstructor
-@NoArgsConstructor
-@Schema(name = "UsersVO对象", title = "", description = "的VO对象")
-public class UsersVo {
-
- @Schema(name = "username", title = "username")
- private String username;
-
- @Schema(name = "password", title = "password")
- private String password;
-
- @Schema(name = "enabled", title = "enabled")
- private Boolean enabled;
-
- @Schema(name = "id", title = "主键")
- private String id;
-
- @Schema(name = "email", title = "邮箱")
- private String email;
-
-}
-
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/mapper/PermissionMapper.java b/spring-security/step-2/src/main/java/com/spring/step2/mapper/PermissionMapper.java
new file mode 100644
index 0000000..ffd793c
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/mapper/PermissionMapper.java
@@ -0,0 +1,33 @@
+package com.spring.step2.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.PermissionDto;
+import com.spring.step2.domain.entity.PermissionEntity;
+import com.spring.step2.domain.vo.PermissionVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ *
+ * 系统权限表 Mapper 接口
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Mapper
+public interface PermissionMapper extends BaseMapper {
+
+ /**
+ * * 分页查询系统权限表内容
+ *
+ * @param pageParams 系统权限表分页参数
+ * @param dto 系统权限表查询表单
+ * @return 系统权限表分页结果
+ */
+ IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") PermissionDto dto);
+
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/mapper/RoleMapper.java b/spring-security/step-2/src/main/java/com/spring/step2/mapper/RoleMapper.java
new file mode 100644
index 0000000..22aff0e
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/mapper/RoleMapper.java
@@ -0,0 +1,33 @@
+package com.spring.step2.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.RoleDto;
+import com.spring.step2.domain.entity.RoleEntity;
+import com.spring.step2.domain.vo.RoleVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ *
+ * 系统角色表 Mapper 接口
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Mapper
+public interface RoleMapper extends BaseMapper {
+
+ /**
+ * * 分页查询系统角色表内容
+ *
+ * @param pageParams 系统角色表分页参数
+ * @param dto 系统角色表查询表单
+ * @return 系统角色表分页结果
+ */
+ IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") RoleDto dto);
+
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/mapper/RolePermissionMapper.java b/spring-security/step-2/src/main/java/com/spring/step2/mapper/RolePermissionMapper.java
new file mode 100644
index 0000000..2af6cfe
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/mapper/RolePermissionMapper.java
@@ -0,0 +1,33 @@
+package com.spring.step2.mapper;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.RolePermissionDto;
+import com.spring.step2.domain.entity.RolePermissionEntity;
+import com.spring.step2.domain.vo.RolePermissionVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ *
+ * 角色权限关联表 Mapper 接口
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Mapper
+public interface RolePermissionMapper extends BaseMapper {
+
+ /**
+ * * 分页查询角色权限关联表内容
+ *
+ * @param pageParams 角色权限关联表分页参数
+ * @param dto 角色权限关联表查询表单
+ * @return 角色权限关联表分页结果
+ */
+ IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") RolePermissionDto dto);
+
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/mapper/UserMapper.java b/spring-security/step-2/src/main/java/com/spring/step2/mapper/UserMapper.java
index 783a31e..fd66cf4 100644
--- a/spring-security/step-2/src/main/java/com/spring/step2/mapper/UserMapper.java
+++ b/spring-security/step-2/src/main/java/com/spring/step2/mapper/UserMapper.java
@@ -1,34 +1,50 @@
package com.spring.step2.mapper;
-import com.baomidou.dynamic.datasource.annotation.DS;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.spring.step2.domain.dto.UserDto;
+import com.spring.step2.domain.entity.PermissionEntity;
import com.spring.step2.domain.entity.UserEntity;
import com.spring.step2.domain.vo.UserVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
/**
*
- * 用户 Mapper 接口
+ * 用户基本信息表 Mapper 接口
*
*
* @author Bunny
- * @since 2025-07-11 14:49:46
+ * @since 2025-07-11 22:36:53
*/
-@DS("testJwt")
@Mapper
public interface UserMapper extends BaseMapper {
/**
- * * 分页查询用户内容
+ * * 分页查询用户基本信息表内容
*
- * @param pageParams 用户分页参数
- * @param dto 用户查询表单
- * @return 用户分页结果
+ * @param pageParams 用户基本信息表分页参数
+ * @param dto 用户基本信息表查询表单
+ * @return 用户基本信息表分页结果
*/
IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") UserDto dto);
+ /**
+ * 根据用户id查找当前用户的权限
+ *
+ * @param userId 用户id
+ * @return 权限列表
+ */
+ List selectPermissionByUserId(Long userId);
+
+ /**
+ * 根据用户名查询当前用户
+ *
+ * @param username 用户名
+ * @return 用户 {@link UserEntity}
+ */
+ UserEntity selectByUsername(String username);
}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/mapper/UserRoleMapper.java b/spring-security/step-2/src/main/java/com/spring/step2/mapper/UserRoleMapper.java
new file mode 100644
index 0000000..b5c004d
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/mapper/UserRoleMapper.java
@@ -0,0 +1,32 @@
+package com.spring.step2.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.spring.step2.domain.dto.UserRoleDto;
+import com.spring.step2.domain.entity.UserRoleEntity;
+import com.spring.step2.domain.vo.UserRoleVo;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ *
+ * 用户角色关联表 Mapper 接口
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@Mapper
+public interface UserRoleMapper extends BaseMapper {
+
+ /**
+ * * 分页查询用户角色关联表内容
+ *
+ * @param pageParams 用户角色关联表分页参数
+ * @param dto 用户角色关联表查询表单
+ * @return 用户角色关联表分页结果
+ */
+ IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") UserRoleDto dto);
+
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/mapper/UsersMapper.java b/spring-security/step-2/src/main/java/com/spring/step2/mapper/UsersMapper.java
deleted file mode 100644
index b9b4b41..0000000
--- a/spring-security/step-2/src/main/java/com/spring/step2/mapper/UsersMapper.java
+++ /dev/null
@@ -1,34 +0,0 @@
-package com.spring.step2.mapper;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.spring.step2.domain.dto.UsersDto;
-import com.spring.step2.domain.entity.UsersEntity;
-import com.spring.step2.domain.vo.UsersVo;
-import org.apache.ibatis.annotations.Mapper;
-import org.apache.ibatis.annotations.Param;
-
-/**
- *
- * Mapper 接口
- *
- *
- * @author Bunny
- * @since 2025-07-11 14:49:46
- */
-@DS("testJwt")
-@Mapper
-public interface UsersMapper extends BaseMapper {
-
- /**
- * * 分页查询内容
- *
- * @param pageParams 分页参数
- * @param dto 查询表单
- * @return 分页结果
- */
- IPage selectListByPage(@Param("page") Page pageParams, @Param("dto") UsersDto dto);
-
-}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/security/service/DbUserDetailService.java b/spring-security/step-2/src/main/java/com/spring/step2/security/service/DbUserDetailService.java
index 969e620..5446adf 100644
--- a/spring-security/step-2/src/main/java/com/spring/step2/security/service/DbUserDetailService.java
+++ b/spring-security/step-2/src/main/java/com/spring/step2/security/service/DbUserDetailService.java
@@ -1,15 +1,18 @@
package com.spring.step2.security.service;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.spring.step2.domain.entity.PermissionEntity;
import com.spring.step2.domain.entity.UserEntity;
import com.spring.step2.mapper.UserMapper;
import lombok.RequiredArgsConstructor;
+import org.springframework.security.core.authority.SimpleGrantedAuthority;
import org.springframework.security.core.userdetails.User;
import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.core.userdetails.UserDetailsService;
import org.springframework.security.core.userdetails.UsernameNotFoundException;
import org.springframework.stereotype.Service;
+import java.util.List;
+
@Service
@RequiredArgsConstructor
public class DbUserDetailService implements UserDetailsService {
@@ -19,17 +22,27 @@ public class DbUserDetailService implements UserDetailsService {
@Override
public UserDetails loadUserByUsername(String username) throws UsernameNotFoundException {
// 查询当前用户
- QueryWrapper wrapper = new QueryWrapper<>();
- wrapper.lambda().eq(UserEntity::getUsername, username);
- UserEntity userEntity = userMapper.selectOne(wrapper);
+ UserEntity userEntity = userMapper.selectByUsername(username);
// 判断当前用户是否存在
if (userEntity == null) {
throw new UsernameNotFoundException("用户不存在");
}
- return User.builder().username(userEntity.getUsername())
+ // 设置用户权限
+ List authorities = findPermissionByUserId(userEntity.getId()).stream()
+ .map(SimpleGrantedAuthority::new)
+ .toList();
+
+ return User.builder()
+ .username(userEntity.getUsername())
.password(userEntity.getPassword())
+ .authorities(authorities)
.build();
}
+
+ public List findPermissionByUserId(Long userId) {
+ List permissionList = userMapper.selectPermissionByUserId(userId);
+ return permissionList.stream().map(PermissionEntity::getPermissionCode).toList();
+ }
}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/PermissionService.java b/spring-security/step-2/src/main/java/com/spring/step2/service/PermissionService.java
new file mode 100644
index 0000000..cb54173
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/PermissionService.java
@@ -0,0 +1,49 @@
+package com.spring.step2.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.spring.step2.domain.dto.PermissionDto;
+import com.spring.step2.domain.entity.PermissionEntity;
+import com.spring.step2.domain.vo.PermissionVo;
+import com.spring.step2.domain.vo.result.PageResult;
+
+import java.util.List;
+
+/**
+ *
+ * 系统权限表 服务类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+public interface PermissionService extends IService {
+
+ /**
+ * 分页查询系统权限表
+ *
+ * @return {@link PermissionVo}
+ */
+ PageResult getPermissionPage(Page pageParams, PermissionDto dto);
+
+ /**
+ * 添加系统权限表
+ *
+ * @param dto {@link PermissionDto} 添加表单
+ */
+ void addPermission(PermissionDto dto);
+
+ /**
+ * 更新系统权限表
+ *
+ * @param dto {@link PermissionDto} 更新表单
+ */
+ void updatePermission(PermissionDto dto);
+
+ /**
+ * 删除|批量删除系统权限表类型
+ *
+ * @param ids 删除id列表
+ */
+ void deletePermission(List ids);
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/RolePermissionService.java b/spring-security/step-2/src/main/java/com/spring/step2/service/RolePermissionService.java
new file mode 100644
index 0000000..d740379
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/RolePermissionService.java
@@ -0,0 +1,49 @@
+package com.spring.step2.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.spring.step2.domain.dto.RolePermissionDto;
+import com.spring.step2.domain.entity.RolePermissionEntity;
+import com.spring.step2.domain.vo.RolePermissionVo;
+import com.spring.step2.domain.vo.result.PageResult;
+
+import java.util.List;
+
+/**
+ *
+ * 角色权限关联表 服务类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+public interface RolePermissionService extends IService {
+
+ /**
+ * 分页查询角色权限关联表
+ *
+ * @return {@link RolePermissionVo}
+ */
+ PageResult getRolePermissionPage(Page pageParams, RolePermissionDto dto);
+
+ /**
+ * 添加角色权限关联表
+ *
+ * @param dto {@link RolePermissionDto} 添加表单
+ */
+ void addRolePermission(RolePermissionDto dto);
+
+ /**
+ * 更新角色权限关联表
+ *
+ * @param dto {@link RolePermissionDto} 更新表单
+ */
+ void updateRolePermission(RolePermissionDto dto);
+
+ /**
+ * 删除|批量删除角色权限关联表类型
+ *
+ * @param ids 删除id列表
+ */
+ void deleteRolePermission(List ids);
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/RoleService.java b/spring-security/step-2/src/main/java/com/spring/step2/service/RoleService.java
new file mode 100644
index 0000000..de11f89
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/RoleService.java
@@ -0,0 +1,50 @@
+package com.spring.step2.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.spring.step2.domain.dto.RoleDto;
+import com.spring.step2.domain.entity.RoleEntity;
+import com.spring.step2.domain.vo.RoleVo;
+import com.spring.step2.domain.vo.result.PageResult;
+
+import java.util.List;
+
+
+/**
+ *
+ * 系统角色表 服务类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+public interface RoleService extends IService {
+
+ /**
+ * 分页查询系统角色表
+ *
+ * @return {@link RoleVo}
+ */
+ PageResult getRolePage(Page pageParams, RoleDto dto);
+
+ /**
+ * 添加系统角色表
+ *
+ * @param dto {@link RoleDto} 添加表单
+ */
+ void addRole(RoleDto dto);
+
+ /**
+ * 更新系统角色表
+ *
+ * @param dto {@link RoleDto} 更新表单
+ */
+ void updateRole(RoleDto dto);
+
+ /**
+ * 删除|批量删除系统角色表类型
+ *
+ * @param ids 删除id列表
+ */
+ void deleteRole(List ids);
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/UserRoleService.java b/spring-security/step-2/src/main/java/com/spring/step2/service/UserRoleService.java
new file mode 100644
index 0000000..4ec70f3
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/UserRoleService.java
@@ -0,0 +1,49 @@
+package com.spring.step2.service;
+
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.spring.step2.domain.dto.UserRoleDto;
+import com.spring.step2.domain.entity.UserRoleEntity;
+import com.spring.step2.domain.vo.UserRoleVo;
+import com.spring.step2.domain.vo.result.PageResult;
+
+import java.util.List;
+
+/**
+ *
+ * 用户角色关联表 服务类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+public interface UserRoleService extends IService {
+
+ /**
+ * 分页查询用户角色关联表
+ *
+ * @return {@link UserRoleVo}
+ */
+ PageResult getUserRolePage(Page pageParams, UserRoleDto dto);
+
+ /**
+ * 添加用户角色关联表
+ *
+ * @param dto {@link UserRoleDto} 添加表单
+ */
+ void addUserRole(UserRoleDto dto);
+
+ /**
+ * 更新用户角色关联表
+ *
+ * @param dto {@link UserRoleDto} 更新表单
+ */
+ void updateUserRole(UserRoleDto dto);
+
+ /**
+ * 删除|批量删除用户角色关联表类型
+ *
+ * @param ids 删除id列表
+ */
+ void deleteUserRole(List ids);
+}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/UserService.java b/spring-security/step-2/src/main/java/com/spring/step2/service/UserService.java
index a591b26..12cda6c 100644
--- a/spring-security/step-2/src/main/java/com/spring/step2/service/UserService.java
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/UserService.java
@@ -11,37 +11,37 @@ import java.util.List;
/**
*
- * 用户 服务类
+ * 用户基本信息表 服务类
*
*
* @author Bunny
- * @since 2025-07-11 14:49:46
+ * @since 2025-07-11 22:36:53
*/
public interface UserService extends IService {
/**
- * 分页查询用户
+ * 分页查询用户基本信息表
*
* @return {@link UserVo}
*/
PageResult getUserPage(Page pageParams, UserDto dto);
/**
- * 添加用户
+ * 添加用户基本信息表
*
* @param dto {@link UserDto} 添加表单
*/
void addUser(UserDto dto);
/**
- * 更新用户
+ * 更新用户基本信息表
*
* @param dto {@link UserDto} 更新表单
*/
void updateUser(UserDto dto);
/**
- * 删除|批量删除用户类型
+ * 删除|批量删除用户基本信息表类型
*
* @param ids 删除id列表
*/
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/UsersService.java b/spring-security/step-2/src/main/java/com/spring/step2/service/UsersService.java
deleted file mode 100644
index af12077..0000000
--- a/spring-security/step-2/src/main/java/com/spring/step2/service/UsersService.java
+++ /dev/null
@@ -1,49 +0,0 @@
-package com.spring.step2.service;
-
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.IService;
-import com.spring.step2.domain.dto.UsersDto;
-import com.spring.step2.domain.entity.UsersEntity;
-import com.spring.step2.domain.vo.UsersVo;
-import com.spring.step2.domain.vo.result.PageResult;
-
-import java.util.List;
-
-/**
- *
- * 服务类
- *
- *
- * @author Bunny
- * @since 2025-07-11 14:49:46
- */
-public interface UsersService extends IService {
-
- /**
- * 分页查询
- *
- * @return {@link UsersVo}
- */
- PageResult getUsersPage(Page pageParams, UsersDto dto);
-
- /**
- * 添加
- *
- * @param dto {@link UsersDto} 添加表单
- */
- void addUsers(UsersDto dto);
-
- /**
- * 更新
- *
- * @param dto {@link UsersDto} 更新表单
- */
- void updateUsers(UsersDto dto);
-
- /**
- * 删除|批量删除类型
- *
- * @param ids 删除id列表
- */
- void deleteUsers(List ids);
-}
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/PermissionServiceImpl.java b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/PermissionServiceImpl.java
new file mode 100644
index 0000000..acf93b7
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/PermissionServiceImpl.java
@@ -0,0 +1,86 @@
+package com.spring.step2.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.spring.step2.domain.dto.PermissionDto;
+import com.spring.step2.domain.entity.PermissionEntity;
+import com.spring.step2.domain.vo.PermissionVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.mapper.PermissionMapper;
+import com.spring.step2.service.PermissionService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ *
+ * 系统权限表 服务实现类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@DS("testJwt")
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class PermissionServiceImpl extends ServiceImpl implements PermissionService {
+
+ /**
+ * * 系统权限表 服务实现类
+ *
+ * @param pageParams 系统权限表分页查询page对象
+ * @param dto 系统权限表分页查询对象
+ * @return 查询分页系统权限表返回对象
+ */
+ @Override
+ public PageResult getPermissionPage(Page pageParams, PermissionDto dto) {
+ IPage page = baseMapper.selectListByPage(pageParams, dto);
+
+ return PageResult.builder()
+ .list(page.getRecords())
+ .pageNo(page.getCurrent())
+ .pageSize(page.getSize())
+ .total(page.getTotal())
+ .build();
+ }
+
+ /**
+ * 添加系统权限表
+ *
+ * @param dto 系统权限表添加
+ */
+ @Override
+ public void addPermission(PermissionDto dto) {
+ PermissionEntity permission = new PermissionEntity();
+ BeanUtils.copyProperties(dto, permission);
+ save(permission);
+ }
+
+ /**
+ * 更新系统权限表
+ *
+ * @param dto 系统权限表更新
+ */
+ @Override
+ public void updatePermission(PermissionDto dto) {
+ PermissionEntity permission = new PermissionEntity();
+ BeanUtils.copyProperties(dto, permission);
+ updateById(permission);
+ }
+
+ /**
+ * 删除|批量删除系统权限表
+ *
+ * @param ids 删除id列表
+ */
+ @Override
+ public void deletePermission(List ids) {
+ removeByIds(ids);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/RolePermissionServiceImpl.java b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/RolePermissionServiceImpl.java
new file mode 100644
index 0000000..a60a17d
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/RolePermissionServiceImpl.java
@@ -0,0 +1,86 @@
+package com.spring.step2.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.spring.step2.domain.dto.RolePermissionDto;
+import com.spring.step2.domain.entity.RolePermissionEntity;
+import com.spring.step2.domain.vo.RolePermissionVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.mapper.RolePermissionMapper;
+import com.spring.step2.service.RolePermissionService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ *
+ * 角色权限关联表 服务实现类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@DS("testJwt")
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class RolePermissionServiceImpl extends ServiceImpl implements RolePermissionService {
+
+ /**
+ * * 角色权限关联表 服务实现类
+ *
+ * @param pageParams 角色权限关联表分页查询page对象
+ * @param dto 角色权限关联表分页查询对象
+ * @return 查询分页角色权限关联表返回对象
+ */
+ @Override
+ public PageResult getRolePermissionPage(Page pageParams, RolePermissionDto dto) {
+ IPage page = baseMapper.selectListByPage(pageParams, dto);
+
+ return PageResult.builder()
+ .list(page.getRecords())
+ .pageNo(page.getCurrent())
+ .pageSize(page.getSize())
+ .total(page.getTotal())
+ .build();
+ }
+
+ /**
+ * 添加角色权限关联表
+ *
+ * @param dto 角色权限关联表添加
+ */
+ @Override
+ public void addRolePermission(RolePermissionDto dto) {
+ RolePermissionEntity rolePermission = new RolePermissionEntity();
+ BeanUtils.copyProperties(dto, rolePermission);
+ save(rolePermission);
+ }
+
+ /**
+ * 更新角色权限关联表
+ *
+ * @param dto 角色权限关联表更新
+ */
+ @Override
+ public void updateRolePermission(RolePermissionDto dto) {
+ RolePermissionEntity rolePermission = new RolePermissionEntity();
+ BeanUtils.copyProperties(dto, rolePermission);
+ updateById(rolePermission);
+ }
+
+ /**
+ * 删除|批量删除角色权限关联表
+ *
+ * @param ids 删除id列表
+ */
+ @Override
+ public void deleteRolePermission(List ids) {
+ removeByIds(ids);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/RoleServiceImpl.java b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/RoleServiceImpl.java
new file mode 100644
index 0000000..b7427b2
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/RoleServiceImpl.java
@@ -0,0 +1,86 @@
+package com.spring.step2.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.spring.step2.domain.dto.RoleDto;
+import com.spring.step2.domain.entity.RoleEntity;
+import com.spring.step2.domain.vo.RoleVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.mapper.RoleMapper;
+import com.spring.step2.service.RoleService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ *
+ * 系统角色表 服务实现类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@DS("testJwt")
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class RoleServiceImpl extends ServiceImpl implements RoleService {
+
+ /**
+ * * 系统角色表 服务实现类
+ *
+ * @param pageParams 系统角色表分页查询page对象
+ * @param dto 系统角色表分页查询对象
+ * @return 查询分页系统角色表返回对象
+ */
+ @Override
+ public PageResult getRolePage(Page pageParams, RoleDto dto) {
+ IPage page = baseMapper.selectListByPage(pageParams, dto);
+
+ return PageResult.builder()
+ .list(page.getRecords())
+ .pageNo(page.getCurrent())
+ .pageSize(page.getSize())
+ .total(page.getTotal())
+ .build();
+ }
+
+ /**
+ * 添加系统角色表
+ *
+ * @param dto 系统角色表添加
+ */
+ @Override
+ public void addRole(RoleDto dto) {
+ RoleEntity role = new RoleEntity();
+ BeanUtils.copyProperties(dto, role);
+ save(role);
+ }
+
+ /**
+ * 更新系统角色表
+ *
+ * @param dto 系统角色表更新
+ */
+ @Override
+ public void updateRole(RoleDto dto) {
+ RoleEntity role = new RoleEntity();
+ BeanUtils.copyProperties(dto, role);
+ updateById(role);
+ }
+
+ /**
+ * 删除|批量删除系统角色表
+ *
+ * @param ids 删除id列表
+ */
+ @Override
+ public void deleteRole(List ids) {
+ removeByIds(ids);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserRoleServiceImpl.java b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserRoleServiceImpl.java
new file mode 100644
index 0000000..b971570
--- /dev/null
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserRoleServiceImpl.java
@@ -0,0 +1,86 @@
+package com.spring.step2.service.impl;
+
+import com.baomidou.dynamic.datasource.annotation.DS;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.spring.step2.domain.dto.UserRoleDto;
+import com.spring.step2.domain.entity.UserRoleEntity;
+import com.spring.step2.domain.vo.UserRoleVo;
+import com.spring.step2.domain.vo.result.PageResult;
+import com.spring.step2.mapper.UserRoleMapper;
+import com.spring.step2.service.UserRoleService;
+import lombok.RequiredArgsConstructor;
+import org.springframework.beans.BeanUtils;
+import org.springframework.stereotype.Service;
+import org.springframework.transaction.annotation.Transactional;
+
+import java.util.List;
+
+/**
+ *
+ * 用户角色关联表 服务实现类
+ *
+ *
+ * @author Bunny
+ * @since 2025-07-11 22:36:53
+ */
+@DS("testJwt")
+@Service
+@Transactional
+@RequiredArgsConstructor
+public class UserRoleServiceImpl extends ServiceImpl implements UserRoleService {
+
+ /**
+ * * 用户角色关联表 服务实现类
+ *
+ * @param pageParams 用户角色关联表分页查询page对象
+ * @param dto 用户角色关联表分页查询对象
+ * @return 查询分页用户角色关联表返回对象
+ */
+ @Override
+ public PageResult getUserRolePage(Page pageParams, UserRoleDto dto) {
+ IPage page = baseMapper.selectListByPage(pageParams, dto);
+
+ return PageResult.builder()
+ .list(page.getRecords())
+ .pageNo(page.getCurrent())
+ .pageSize(page.getSize())
+ .total(page.getTotal())
+ .build();
+ }
+
+ /**
+ * 添加用户角色关联表
+ *
+ * @param dto 用户角色关联表添加
+ */
+ @Override
+ public void addUserRole(UserRoleDto dto) {
+ UserRoleEntity userRole = new UserRoleEntity();
+ BeanUtils.copyProperties(dto, userRole);
+ save(userRole);
+ }
+
+ /**
+ * 更新用户角色关联表
+ *
+ * @param dto 用户角色关联表更新
+ */
+ @Override
+ public void updateUserRole(UserRoleDto dto) {
+ UserRoleEntity userRole = new UserRoleEntity();
+ BeanUtils.copyProperties(dto, userRole);
+ updateById(userRole);
+ }
+
+ /**
+ * 删除|批量删除用户角色关联表
+ *
+ * @param ids 删除id列表
+ */
+ @Override
+ public void deleteUserRole(List ids) {
+ removeByIds(ids);
+ }
+}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserServiceImpl.java b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserServiceImpl.java
index 56e3558..5e4e7f7 100644
--- a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserServiceImpl.java
+++ b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserServiceImpl.java
@@ -20,11 +20,11 @@ import java.util.List;
/**
*
- * 用户 服务实现类
+ * 用户基本信息表 服务实现类
*
*
* @author Bunny
- * @since 2025-07-11 14:49:46
+ * @since 2025-07-11 22:36:53
*/
@DS("testJwt")
@Service
@@ -35,11 +35,11 @@ public class UserServiceImpl extends ServiceImpl impleme
private final PasswordEncoder passwordEncoder;
/**
- * * 用户 服务实现类
+ * * 用户基本信息表 服务实现类
*
- * @param pageParams 用户分页查询page对象
- * @param dto 用户分页查询对象
- * @return 查询分页用户返回对象
+ * @param pageParams 用户基本信息表分页查询page对象
+ * @param dto 用户基本信息表分页查询对象
+ * @return 查询分页用户基本信息表返回对象
*/
@Override
public PageResult getUserPage(Page pageParams, UserDto dto) {
@@ -54,9 +54,9 @@ public class UserServiceImpl extends ServiceImpl impleme
}
/**
- * 添加用户
+ * 添加用户基本信息表
*
- * @param dto 用户添加
+ * @param dto 用户基本信息表添加
*/
@Override
public void addUser(UserDto dto) {
@@ -72,9 +72,9 @@ public class UserServiceImpl extends ServiceImpl impleme
}
/**
- * 更新用户
+ * 更新用户基本信息表
*
- * @param dto 用户更新
+ * @param dto 用户基本信息表更新
*/
@Override
public void updateUser(UserDto dto) {
@@ -84,7 +84,7 @@ public class UserServiceImpl extends ServiceImpl impleme
}
/**
- * 删除|批量删除用户
+ * 删除|批量删除用户基本信息表
*
* @param ids 删除id列表
*/
diff --git a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UsersServiceImpl.java b/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UsersServiceImpl.java
deleted file mode 100644
index 1224a1b..0000000
--- a/spring-security/step-2/src/main/java/com/spring/step2/service/impl/UsersServiceImpl.java
+++ /dev/null
@@ -1,95 +0,0 @@
-package com.spring.step2.service.impl;
-
-import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
-import com.spring.step2.domain.dto.UsersDto;
-import com.spring.step2.domain.entity.UsersEntity;
-import com.spring.step2.domain.vo.UsersVo;
-import com.spring.step2.domain.vo.result.PageResult;
-import com.spring.step2.mapper.UsersMapper;
-import com.spring.step2.service.UsersService;
-import lombok.RequiredArgsConstructor;
-import org.springframework.beans.BeanUtils;
-import org.springframework.security.crypto.password.PasswordEncoder;
-import org.springframework.stereotype.Service;
-import org.springframework.transaction.annotation.Transactional;
-
-import java.util.List;
-
-/**
- *
- * 服务实现类
- *
- *
- * @author Bunny
- * @since 2025-07-11 14:49:46
- */
-@DS("testJwt")
-@Service
-@Transactional
-@RequiredArgsConstructor
-public class UsersServiceImpl extends ServiceImpl implements UsersService {
-
- private final PasswordEncoder passwordEncoder;
-
- /**
- * * 服务实现类
- *
- * @param pageParams 分页查询page对象
- * @param dto 分页查询对象
- * @return 查询分页返回对象
- */
- @Override
- public PageResult getUsersPage(Page pageParams, UsersDto dto) {
- IPage page = baseMapper.selectListByPage(pageParams, dto);
-
- return PageResult.builder()
- .list(page.getRecords())
- .pageNo(page.getCurrent())
- .pageSize(page.getSize())
- .total(page.getTotal())
- .build();
- }
-
- /**
- * 添加
- *
- * @param dto 添加
- */
- @Override
- public void addUsers(UsersDto dto) {
- UsersEntity user = new UsersEntity();
- BeanUtils.copyProperties(dto, user);
-
- // 设置用户密码
- String password = user.getPassword();
- String encodePassword = passwordEncoder.encode(password);
- user.setPassword(encodePassword);
-
- save(user);
- }
-
- /**
- * 更新
- *
- * @param dto 更新
- */
- @Override
- public void updateUsers(UsersDto dto) {
- UsersEntity users = new UsersEntity();
- BeanUtils.copyProperties(dto, users);
- updateById(users);
- }
-
- /**
- * 删除|批量删除
- *
- * @param ids 删除id列表
- */
- @Override
- public void deleteUsers(List ids) {
- removeByIds(ids);
- }
-}
\ No newline at end of file
diff --git a/spring-security/step-2/src/main/resources/mapper/PermissionMapper.xml b/spring-security/step-2/src/main/resources/mapper/PermissionMapper.xml
new file mode 100644
index 0000000..599e9d4
--- /dev/null
+++ b/spring-security/step-2/src/main/resources/mapper/PermissionMapper.xml
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,permission_code,description,remark,create_time,update_time,create_user,update_user,is_deleted
+
+
+
+
+
+
diff --git a/spring-security/step-2/src/main/resources/mapper/RoleMapper.xml b/spring-security/step-2/src/main/resources/mapper/RoleMapper.xml
new file mode 100644
index 0000000..146b056
--- /dev/null
+++ b/spring-security/step-2/src/main/resources/mapper/RoleMapper.xml
@@ -0,0 +1,46 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,role_name,description,remark,create_time,update_time,create_user,update_user,is_deleted
+
+
+
+
+
+
diff --git a/spring-security/step-2/src/main/resources/mapper/RolePermissionMapper.xml b/spring-security/step-2/src/main/resources/mapper/RolePermissionMapper.xml
new file mode 100644
index 0000000..b3e0259
--- /dev/null
+++ b/spring-security/step-2/src/main/resources/mapper/RolePermissionMapper.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,role_id,permission_id,create_time,update_time,create_user,update_user,is_deleted
+
+
+
+
+
+
diff --git a/spring-security/step-2/src/main/resources/mapper/UserMapper.xml b/spring-security/step-2/src/main/resources/mapper/UserMapper.xml
index 18449e7..9e5c788 100644
--- a/spring-security/step-2/src/main/resources/mapper/UserMapper.xml
+++ b/spring-security/step-2/src/main/resources/mapper/UserMapper.xml
@@ -36,4 +36,25 @@
+
+
+
+
+
+
diff --git a/spring-security/step-2/src/main/resources/mapper/UserRoleMapper.xml b/spring-security/step-2/src/main/resources/mapper/UserRoleMapper.xml
new file mode 100644
index 0000000..5609e22
--- /dev/null
+++ b/spring-security/step-2/src/main/resources/mapper/UserRoleMapper.xml
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ id,role_id,user_id,create_time,update_time,create_user,update_user,is_deleted
+
+
+
+
+
+
diff --git a/spring-security/step-2/src/main/resources/mapper/UsersMapper.xml b/spring-security/step-2/src/main/resources/mapper/UsersMapper.xml
deleted file mode 100644
index 3705a92..0000000
--- a/spring-security/step-2/src/main/resources/mapper/UsersMapper.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- username,password,Id,email
-
-
-
-
-
-