Add get power set

This commit is contained in:
2023-11-10 09:43:27 +08:00
parent d176cc684b
commit cb49a3d0a7
14 changed files with 209 additions and 126 deletions

View File

@@ -0,0 +1,14 @@
package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Element
import top.fatweb.api.vo.permission.ElementVo
object ElementConverter {
fun elementToElementVo(element: Element) = ElementVo(
id = element.id,
name = element.name,
powerId = element.powerId,
parentId = element.parentId,
menuId = element.menuId
)
}

View File

@@ -6,17 +6,19 @@ import top.fatweb.api.vo.PageVo
import top.fatweb.api.vo.permission.GroupVo
object GroupConverter {
fun groupToGroupVo(group: Group) = GroupVo(
id = group.id,
name = group.name,
enable = group.enable == 1
)
fun groupPageToGroupPageVo(groupPage: IPage<Group>): PageVo<GroupVo> = PageVo(
groupPage.total,
groupPage.pages,
groupPage.size,
groupPage.current,
groupPage.records.map {
GroupVo(
id = it.id,
name = it.name,
enable = it.enable == 1
)
total = groupPage.total,
pages = groupPage.pages,
size = groupPage.size,
current = groupPage.current,
records = groupPage.records.map {
groupToGroupVo(it)
}
)
}

View File

@@ -0,0 +1,15 @@
package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Menu
import top.fatweb.api.vo.permission.MenuVo
object MenuConverter {
fun menuToMenuVo(menu: Menu) = MenuVo(
id = menu.id,
name = menu.name,
url = menu.url,
powerId = menu.powerId,
parentId = menu.parentId,
moduleId = menu.moduleId
)
}

View File

@@ -0,0 +1,12 @@
package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Module
import top.fatweb.api.vo.permission.ModuleVo
object ModuleConverter {
fun moduleToModuleVo(module: Module) = ModuleVo(
id = module.id,
name = module.name,
powerId = module.powerId
)
}

View File

@@ -0,0 +1,14 @@
package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.Operation
import top.fatweb.api.vo.permission.OperationVo
object OperationConverter {
fun operationToOperationVo(operation: Operation) = OperationVo(
id = operation.id,
name = operation.name,
code = operation.code,
powerId = operation.powerId,
elementId = operation.elementId
)
}

View File

@@ -0,0 +1,13 @@
package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.PowerSet
import top.fatweb.api.vo.permission.PowerSetVo
object PowerConverter {
fun powerSetToPowerSetVo(powerSet: PowerSet) = PowerSetVo(
moduleList = powerSet.moduleList?.map { ModuleConverter.moduleToModuleVo(it) },
menuList = powerSet.menuList?.map { MenuConverter.menuToMenuVo(it) },
elementList = powerSet.elementList?.map { ElementConverter.elementToElementVo(it) },
operationList = powerSet.operationList?.map { OperationConverter.operationToOperationVo(it) }
)
}

View File

@@ -8,52 +8,29 @@ import top.fatweb.api.vo.PageVo
import top.fatweb.api.vo.permission.*
object RoleConverter {
fun roleToRoleVo(role: Role): RoleVo = RoleVo(
id = role.id,
name = role.name,
enable = role.enable == 1
)
fun roleToRoleWithPowerVo(role: Role) = RoleWithPowerVo(
id = role.id,
name = role.name,
enable = role.enable == 1,
modules = role.modules?.map { ModuleConverter.moduleToModuleVo(it) },
menus = role.menus?.map { MenuConverter.menuToMenuVo(it) },
elements = role.elements?.map { ElementConverter.elementToElementVo(it) },
operations = role.operations?.map { OperationConverter.operationToOperationVo(it) }
)
fun rolePageToRoleWithPowerPageVo(rolePage: IPage<Role>): PageVo<RoleWithPowerVo> = PageVo(
rolePage.total,
rolePage.pages,
rolePage.size,
rolePage.current,
rolePage.records.map {
RoleWithPowerVo(
id = it.id,
name = it.name,
enable = it.enable == 1,
modules = it.modules?.map { module ->
ModuleVo(
id = module.id,
name = module.name,
powerId = module.powerId
)
},
menus = it.menus?.map { menu ->
MenuVo(
id = menu.id,
name = menu.name,
url = menu.url,
powerId = menu.powerId,
parentId = menu.powerId,
moduleId = menu.moduleId
)
},
elements = it.elements?.map { element ->
ElementVo(
id = element.id,
name = element.name,
powerId = element.powerId,
parentId = element.parentId,
menuId = element.menuId
)
},
operations = it.operations?.map { operation ->
OperationVo(
id = operation.id,
name = operation.name,
code = operation.code,
powerId = operation.powerId,
elementId = operation.elementId
)
}
)
total = rolePage.total,
pages = rolePage.pages,
size = rolePage.size,
current = rolePage.current,
records = rolePage.records.map {
roleToRoleWithPowerVo(it)
}
)
@@ -62,10 +39,4 @@ object RoleConverter {
enable = if (roleAddParam.enable == true) 1 else 0
powers = roleAddParam.powerIds?.map { Power().apply { id = it } }
}
fun roleToRoleVo(role: Role): RoleVo = RoleVo(
id = role.id,
name = role.name,
enable = role.enable == 1
)
}

View File

@@ -5,13 +5,9 @@ import top.fatweb.api.param.authentication.LoginParam
import top.fatweb.api.vo.permission.*
object UserConverter {
fun loginParamToUser(loginParam: LoginParam): User {
val user = User().apply {
username = loginParam.username
password = loginParam.password
}
return user
fun loginParamToUser(loginParam: LoginParam) = User().apply {
username = loginParam.username
password = loginParam.password
}
fun userToUserWithPowerInfoVo(user: User) = UserWithPowerInfoVo(
@@ -27,49 +23,20 @@ object UserConverter {
lastLoginIp = user.lastLoginIp,
createTime = user.createTime,
updateTime = user.updateTime,
userInfo = user.userInfo?.let { UserInfoVo(
id = it.id,
userId = it.userId,
nickname = it.nickname,
avatar = it.avatar,
email = it.email,
createTime = it.createTime,
updateTime = it.updateTime
) },
userInfo = user.userInfo?.let {
UserInfoConverter.userInfoToUserInfoVo(it)
},
modules = user.modules?.map {
ModuleVo(
id = it.id,
name = it.name,
powerId = it.powerId
)
ModuleConverter.moduleToModuleVo(it)
},
menus = user.menus?.map {
MenuVo(
id = it.id,
name = it.name,
url = it.url,
powerId = it.powerId,
parentId = it.parentId,
moduleId = it.moduleId
)
MenuConverter.menuToMenuVo(it)
},
elements = user.elements?.map {
ElementVo(
id = it.id,
name = it.name,
powerId = it.powerId,
parentId = it.parentId,
menuId = it.menuId
)
ElementConverter.elementToElementVo(it)
},
operations = user.operations?.map {
OperationVo(
id = it.id,
name = it.name,
code = it.code,
powerId = it.powerId,
elementId = it.elementId
)
OperationConverter.operationToOperationVo(it)
}
)
@@ -86,28 +53,14 @@ object UserConverter {
lastLoginIp = user.lastLoginIp,
createTime = user.createTime,
updateTime = user.updateTime,
userInfo = user.userInfo?.let { UserInfoVo(
id = it.id,
userId = it.userId,
nickname = it.nickname,
avatar = it.avatar,
email = it.email,
createTime = it.createTime,
updateTime = it.updateTime
) },
userInfo = user.userInfo?.let {
UserInfoConverter.userInfoToUserInfoVo(it)
},
roles = user.roles?.map {
RoleVo(
id = it.id,
name = it.name,
enable = it.enable == 1
)
RoleConverter.roleToRoleVo(it)
},
groups = user.groups?.map {
GroupVo(
id = it.id,
name = it.name,
enable = it.enable == 1
)
GroupConverter.groupToGroupVo(it)
}
)
}

View File

@@ -0,0 +1,16 @@
package top.fatweb.api.converter.permission
import top.fatweb.api.entity.permission.UserInfo
import top.fatweb.api.vo.permission.UserInfoVo
object UserInfoConverter {
fun userInfoToUserInfoVo(userInfo: UserInfo) = UserInfoVo(
id = userInfo.id,
userId = userInfo.userId,
nickname = userInfo.nickname,
avatar = userInfo.avatar,
email = userInfo.email,
createTime = userInfo.createTime,
updateTime = userInfo.updateTime
)
}