From 4bd749ff37cd29c07440fcf92f59f413c5b0f57c Mon Sep 17 00:00:00 2001 From: FatttSnake Date: Thu, 30 Nov 2023 09:49:09 +0800 Subject: [PATCH] Optimize search in user management api --- .../api/mapper/permission/UserMapper.kt | 2 +- .../api/param/permission/user/UserGetParam.kt | 3 + .../permission/impl/UserServiceImpl.kt | 2 +- .../mapper/permission/UserMapper.xml | 64 +++++++++++++++++-- 4 files changed, 64 insertions(+), 7 deletions(-) diff --git a/src/main/kotlin/top/fatweb/api/mapper/permission/UserMapper.kt b/src/main/kotlin/top/fatweb/api/mapper/permission/UserMapper.kt index c8eca89..db9f519 100644 --- a/src/main/kotlin/top/fatweb/api/mapper/permission/UserMapper.kt +++ b/src/main/kotlin/top/fatweb/api/mapper/permission/UserMapper.kt @@ -16,7 +16,7 @@ import top.fatweb.api.entity.permission.User interface UserMapper : BaseMapper { fun selectOneWithPowerInfoByUsername(@Param("username")username: String): User? - fun selectPage(page: IPage, searchValue: String?, searchRegex: Boolean): IPage + fun selectPage(page: IPage, searchType: String, searchValue: String?, searchRegex: Boolean): IPage fun selectListWithRoleInfoByIds(userIds: List): List? diff --git a/src/main/kotlin/top/fatweb/api/param/permission/user/UserGetParam.kt b/src/main/kotlin/top/fatweb/api/param/permission/user/UserGetParam.kt index 2b67b0b..46d9e40 100644 --- a/src/main/kotlin/top/fatweb/api/param/permission/user/UserGetParam.kt +++ b/src/main/kotlin/top/fatweb/api/param/permission/user/UserGetParam.kt @@ -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, diff --git a/src/main/kotlin/top/fatweb/api/service/permission/impl/UserServiceImpl.kt b/src/main/kotlin/top/fatweb/api/service/permission/impl/UserServiceImpl.kt index 493df2c..27627e9 100644 --- a/src/main/kotlin/top/fatweb/api/service/permission/impl/UserServiceImpl.kt +++ b/src/main/kotlin/top/fatweb/api/service/permission/impl/UserServiceImpl.kt @@ -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(userIdsIPage.current, userIdsIPage.size, userIdsIPage.total) if (userIdsIPage.total > 0) { userPage.setRecords(baseMapper.selectListWithRoleInfoByIds(userIdsIPage.records)) diff --git a/src/main/resources/mapper/permission/UserMapper.xml b/src/main/resources/mapper/permission/UserMapper.xml index ab7442d..d9b6541 100644 --- a/src/main/resources/mapper/permission/UserMapper.xml +++ b/src/main/resources/mapper/permission/UserMapper.xml @@ -59,13 +59,67 @@