From c921c56e46d7da6dadf9c8a8be5ae61df5f4d6a2 Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Wed, 15 Nov 2023 18:06:51 +0800 Subject: [PATCH] Optimize RoleController --- .../fatweb/api/controller/permission/RoleController.kt | 10 +++++++++- .../top/fatweb/api/mapper/permission/RoleMapper.kt | 2 -- .../api/param/authentication/RoleChangeStatusParam.kt | 1 - .../top/fatweb/api/service/permission/IRoleService.kt | 2 ++ .../api/service/permission/impl/RoleServiceImpl.kt | 10 +++++++++- src/main/resources/mapper/permission/RoleMapper.xml | 7 ------- 6 files changed, 20 insertions(+), 12 deletions(-) diff --git a/src/main/kotlin/top/fatweb/api/controller/permission/RoleController.kt b/src/main/kotlin/top/fatweb/api/controller/permission/RoleController.kt index ead0ea6..e0400e3 100644 --- a/src/main/kotlin/top/fatweb/api/controller/permission/RoleController.kt +++ b/src/main/kotlin/top/fatweb/api/controller/permission/RoleController.kt @@ -24,7 +24,7 @@ import top.fatweb.api.vo.permission.RoleWithPowerVo class RoleController( private val roleService: IRoleService ) { - @Operation(summary = "获取角色列表") + @Operation(summary = "获取角色") @GetMapping fun get(roleGetParam: RoleGetParam?): ResponseResult> { return ResponseResult.databaseSuccess( @@ -40,6 +40,14 @@ class RoleController( ) } + @Operation(summary = "获取角色列表") + @GetMapping("/list") + fun list(): ResponseResult> { + return ResponseResult.databaseSuccess( + data = roleService.listAll() + ) + } + @Operation(summary = "添加角色") @PostMapping fun add(@Valid @RequestBody roleAddParam: RoleAddParam): ResponseResult { diff --git a/src/main/kotlin/top/fatweb/api/mapper/permission/RoleMapper.kt b/src/main/kotlin/top/fatweb/api/mapper/permission/RoleMapper.kt index d4af4bf..578fc96 100644 --- a/src/main/kotlin/top/fatweb/api/mapper/permission/RoleMapper.kt +++ b/src/main/kotlin/top/fatweb/api/mapper/permission/RoleMapper.kt @@ -20,6 +20,4 @@ interface RoleMapper : BaseMapper { fun getWithPowerByList(roleIds: List): List? fun selectOne(id: Long): Role? - - fun getPowerList(id: Long): List } diff --git a/src/main/kotlin/top/fatweb/api/param/authentication/RoleChangeStatusParam.kt b/src/main/kotlin/top/fatweb/api/param/authentication/RoleChangeStatusParam.kt index 1f8ba38..e04e7c7 100644 --- a/src/main/kotlin/top/fatweb/api/param/authentication/RoleChangeStatusParam.kt +++ b/src/main/kotlin/top/fatweb/api/param/authentication/RoleChangeStatusParam.kt @@ -10,7 +10,6 @@ import jakarta.validation.constraints.NotNull data class RoleChangeStatusParam( @Schema(description = "角色 ID") @field:Min(0) - @JsonSerialize(using = ToStringSerializer::class) val id: Long, @Schema(description = "启用", allowableValues = ["true", "false"]) diff --git a/src/main/kotlin/top/fatweb/api/service/permission/IRoleService.kt b/src/main/kotlin/top/fatweb/api/service/permission/IRoleService.kt index fe2c042..eba95c3 100644 --- a/src/main/kotlin/top/fatweb/api/service/permission/IRoleService.kt +++ b/src/main/kotlin/top/fatweb/api/service/permission/IRoleService.kt @@ -20,6 +20,8 @@ interface IRoleService : IService { fun getOne(id: Long): RoleWithPowerVo? + fun listAll(): List + fun add(roleAddParam: RoleAddParam): RoleVo? fun update(roleUpdateParam: RoleUpdateParam): RoleVo? diff --git a/src/main/kotlin/top/fatweb/api/service/permission/impl/RoleServiceImpl.kt b/src/main/kotlin/top/fatweb/api/service/permission/impl/RoleServiceImpl.kt index 697433c..0b464a0 100644 --- a/src/main/kotlin/top/fatweb/api/service/permission/impl/RoleServiceImpl.kt +++ b/src/main/kotlin/top/fatweb/api/service/permission/impl/RoleServiceImpl.kt @@ -54,6 +54,12 @@ class RoleServiceImpl( return baseMapper.selectOne(id)?.let { RoleConverter.roleToRoleWithPowerVo(it) } ?: let { null } } + override fun listAll(): List { + val roles = this.list() + + return roles.map { RoleConverter.roleToRoleVo(it) } + } + @Transactional override fun add(roleAddParam: RoleAddParam): RoleVo? { @@ -83,7 +89,9 @@ class RoleServiceImpl( val fullPowerIds = roleUpdateParam.powerIds?.let { getFullPowerIds(it) } val role = RoleConverter.roleUpdateParamToRole(roleUpdateParam) - val oldPowerList = baseMapper.getPowerList(roleUpdateParam.id) + val oldPowerList = powerRoleService.list( + KtQueryWrapper(PowerRole()).select(PowerRole::powerId).eq(PowerRole::roleId, roleUpdateParam.id) + ).map { it.powerId } val addPowerIds = HashSet() val removePowerIds = HashSet() fullPowerIds?.forEach { addPowerIds.add(it) } diff --git a/src/main/resources/mapper/permission/RoleMapper.xml b/src/main/resources/mapper/permission/RoleMapper.xml index 18f82bb..4df4773 100644 --- a/src/main/resources/mapper/permission/RoleMapper.xml +++ b/src/main/resources/mapper/permission/RoleMapper.xml @@ -90,13 +90,6 @@ where t_role.id = #{id} - -