Optimize search in user management api
This commit is contained in:
@@ -16,7 +16,7 @@ import top.fatweb.api.entity.permission.User
|
||||
interface UserMapper : BaseMapper<User> {
|
||||
fun selectOneWithPowerInfoByUsername(@Param("username")username: String): User?
|
||||
|
||||
fun selectPage(page: IPage<Long>, searchValue: String?, searchRegex: Boolean): IPage<Long>
|
||||
fun selectPage(page: IPage<Long>, searchType: String, searchValue: String?, searchRegex: Boolean): IPage<Long>
|
||||
|
||||
fun selectListWithRoleInfoByIds(userIds: List<Long>): List<User>?
|
||||
|
||||
|
||||
@@ -11,6 +11,9 @@ import top.fatweb.api.param.PageSortParam
|
||||
*/
|
||||
@Schema(description = "用户查询请求参数")
|
||||
data class UserGetParam(
|
||||
@Schema(description = "搜索类型", allowableValues = ["ALL", "ID", "USERNAME", "NICKNAME", "EMAIL"], defaultValue = "ALL")
|
||||
val searchType: String = "ALL",
|
||||
|
||||
@Schema(description = "查询内容")
|
||||
val searchValue: String? = null,
|
||||
|
||||
|
||||
@@ -66,7 +66,7 @@ class UserServiceImpl(
|
||||
PageUtil.setPageSort(userGetParam, userIdsPage, OrderItem.asc("id"))
|
||||
|
||||
val userIdsIPage =
|
||||
baseMapper.selectPage(userIdsPage, userGetParam?.searchValue, userGetParam?.searchRegex ?: false)
|
||||
baseMapper.selectPage(userIdsPage,userGetParam?.searchType ?: "ALL", userGetParam?.searchValue, userGetParam?.searchRegex ?: false)
|
||||
val userPage = Page<User>(userIdsIPage.current, userIdsIPage.size, userIdsIPage.total)
|
||||
if (userIdsIPage.total > 0) {
|
||||
userPage.setRecords(baseMapper.selectListWithRoleInfoByIds(userIdsIPage.records))
|
||||
|
||||
Reference in New Issue
Block a user