Optimize RoleController

This commit is contained in:
2023-11-15 18:06:51 +08:00
parent 3735ded9f2
commit c921c56e46
6 changed files with 20 additions and 12 deletions

View File

@@ -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<PageVo<RoleWithPowerVo>> {
return ResponseResult.databaseSuccess(
@@ -40,6 +40,14 @@ class RoleController(
)
}
@Operation(summary = "获取角色列表")
@GetMapping("/list")
fun list(): ResponseResult<List<RoleVo>> {
return ResponseResult.databaseSuccess(
data = roleService.listAll()
)
}
@Operation(summary = "添加角色")
@PostMapping
fun add(@Valid @RequestBody roleAddParam: RoleAddParam): ResponseResult<RoleVo> {

View File

@@ -20,6 +20,4 @@ interface RoleMapper : BaseMapper<Role> {
fun getWithPowerByList(roleIds: List<Long>): List<Role>?
fun selectOne(id: Long): Role?
fun getPowerList(id: Long): List<Long?>
}

View File

@@ -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"])

View File

@@ -20,6 +20,8 @@ interface IRoleService : IService<Role> {
fun getOne(id: Long): RoleWithPowerVo?
fun listAll(): List<RoleVo>
fun add(roleAddParam: RoleAddParam): RoleVo?
fun update(roleUpdateParam: RoleUpdateParam): RoleVo?

View File

@@ -54,6 +54,12 @@ class RoleServiceImpl(
return baseMapper.selectOne(id)?.let { RoleConverter.roleToRoleWithPowerVo(it) } ?: let { null }
}
override fun listAll(): List<RoleVo> {
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<Long>()
val removePowerIds = HashSet<Long>()
fullPowerIds?.forEach { addPowerIds.add(it) }

View File

@@ -90,13 +90,6 @@
where t_role.id = #{id}
</select>
<select id="getPowerList" resultType="long">
select tpr.power_id
from t_role
left join (select * from t_power_role where deleted = 0) as tpr on t_role.id = tpr.role_id
where t_role.id = #{id}
</select>
<resultMap id="roleMap" type="role">
<id property="id" column="role_id"/>
<result property="name" column="role_name"/>