From 4765a7846889f256df565c26aff4b43d23a10187 Mon Sep 17 00:00:00 2001 From: bunny <1319900154@qq.com> Date: Fri, 11 Jul 2025 22:55:00 +0800 Subject: [PATCH] =?UTF-8?q?:sparkles:=20=E7=94=9F=E6=88=90=E6=9D=83?= =?UTF-8?q?=E9=99=90=E7=9B=B8=E5=85=B3CURD?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/PermissionController.java | 69 ++++++++++++++ .../step2/controller/RoleController.java | 69 ++++++++++++++ .../controller/RolePermissionController.java | 69 ++++++++++++++ .../step2/controller/UserController.java | 17 ++-- .../step2/controller/UserRoleController.java | 70 ++++++++++++++ .../step2/controller/UsersController.java | 69 -------------- .../step2/domain/dto/PermissionDto.java | 45 +++++++++ .../com/spring/step2/domain/dto/RoleDto.java | 45 +++++++++ .../step2/domain/dto/RolePermissionDto.java | 42 ++++++++ .../spring/step2/domain/dto/UserRoleDto.java | 42 ++++++++ .../com/spring/step2/domain/dto/UsersDto.java | 31 ------ .../step2/domain/entity/PermissionEntity.java | 28 ++++++ .../step2/domain/entity/RoleEntity.java | 28 ++++++ .../domain/entity/RolePermissionEntity.java | 25 +++++ .../step2/domain/entity/UserRoleEntity.java | 25 +++++ .../step2/domain/entity/UsersEntity.java | 31 ------ .../spring/step2/domain/vo/PermissionVo.java | 44 +++++++++ .../step2/domain/vo/RolePermissionVo.java | 41 ++++++++ .../com/spring/step2/domain/vo/RoleVo.java | 44 +++++++++ .../spring/step2/domain/vo/UserRoleVo.java | 41 ++++++++ .../com/spring/step2/domain/vo/UserVo.java | 8 +- .../com/spring/step2/domain/vo/UsersVo.java | 30 ------ .../spring/step2/mapper/PermissionMapper.java | 33 +++++++ .../com/spring/step2/mapper/RoleMapper.java | 33 +++++++ .../step2/mapper/RolePermissionMapper.java | 33 +++++++ .../com/spring/step2/mapper/UserMapper.java | 32 +++++-- .../spring/step2/mapper/UserRoleMapper.java | 32 +++++++ .../com/spring/step2/mapper/UsersMapper.java | 34 ------- .../security/service/DbUserDetailService.java | 23 ++++- .../step2/service/PermissionService.java | 49 ++++++++++ .../step2/service/RolePermissionService.java | 49 ++++++++++ .../com/spring/step2/service/RoleService.java | 50 ++++++++++ .../spring/step2/service/UserRoleService.java | 49 ++++++++++ .../com/spring/step2/service/UserService.java | 12 +-- .../spring/step2/service/UsersService.java | 49 ---------- .../service/impl/PermissionServiceImpl.java | 86 +++++++++++++++++ .../impl/RolePermissionServiceImpl.java | 86 +++++++++++++++++ .../step2/service/impl/RoleServiceImpl.java | 86 +++++++++++++++++ .../service/impl/UserRoleServiceImpl.java | 86 +++++++++++++++++ .../step2/service/impl/UserServiceImpl.java | 22 ++--- .../step2/service/impl/UsersServiceImpl.java | 95 ------------------- .../resources/mapper/PermissionMapper.xml | 42 ++++++++ .../src/main/resources/mapper/RoleMapper.xml | 46 +++++++++ .../resources/mapper/RolePermissionMapper.xml | 32 +++++++ .../src/main/resources/mapper/UserMapper.xml | 21 ++++ .../main/resources/mapper/UserRoleMapper.xml | 32 +++++++ .../src/main/resources/mapper/UsersMapper.xml | 33 ------- 47 files changed, 1644 insertions(+), 414 deletions(-) create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/controller/PermissionController.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/controller/RoleController.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/controller/RolePermissionController.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/controller/UserRoleController.java delete mode 100644 spring-security/step-2/src/main/java/com/spring/step2/controller/UsersController.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/dto/PermissionDto.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RoleDto.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/dto/RolePermissionDto.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UserRoleDto.java delete mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/dto/UsersDto.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/entity/PermissionEntity.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RoleEntity.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/entity/RolePermissionEntity.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UserRoleEntity.java delete mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/entity/UsersEntity.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/vo/PermissionVo.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RolePermissionVo.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/vo/RoleVo.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UserRoleVo.java delete mode 100644 spring-security/step-2/src/main/java/com/spring/step2/domain/vo/UsersVo.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/mapper/PermissionMapper.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/mapper/RoleMapper.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/mapper/RolePermissionMapper.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/mapper/UserRoleMapper.java delete mode 100644 spring-security/step-2/src/main/java/com/spring/step2/mapper/UsersMapper.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/PermissionService.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/RolePermissionService.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/RoleService.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/UserRoleService.java delete mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/UsersService.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/impl/PermissionServiceImpl.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/impl/RolePermissionServiceImpl.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/impl/RoleServiceImpl.java create mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/impl/UserRoleServiceImpl.java delete mode 100644 spring-security/step-2/src/main/java/com/spring/step2/service/impl/UsersServiceImpl.java create mode 100644 spring-security/step-2/src/main/resources/mapper/PermissionMapper.xml create mode 100644 spring-security/step-2/src/main/resources/mapper/RoleMapper.xml create mode 100644 spring-security/step-2/src/main/resources/mapper/RolePermissionMapper.xml create mode 100644 spring-security/step-2/src/main/resources/mapper/UserRoleMapper.xml delete mode 100644 spring-security/step-2/src/main/resources/mapper/UsersMapper.xml 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 - - - - - -