This is an automated email from the ASF dual-hosted git repository.

dockerzhang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/inlong.git


The following commit(s) were added to refs/heads/master by this push:
     new 2a60839b7f [INLONG-8852][Manager]  Supports fuzzy matching of username 
based on keyword (#8853)
2a60839b7f is described below

commit 2a60839b7fceff51ee68a534f0cb79cc364727cd
Author: fuweng11 <[email protected]>
AuthorDate: Fri Sep 8 09:52:27 2023 +0800

    [INLONG-8852][Manager]  Supports fuzzy matching of username based on 
keyword (#8853)
---
 .../src/main/resources/mappers/TenantUserRoleEntityMapper.xml  |  1 +
 .../inlong/manager/service/tenant/InlongTenantServiceImpl.java |  2 +-
 .../inlong/manager/service/user/TenantRoleServiceImpl.java     | 10 ++++++++++
 3 files changed, 12 insertions(+), 1 deletion(-)

diff --git 
a/inlong-manager/manager-dao/src/main/resources/mappers/TenantUserRoleEntityMapper.xml
 
b/inlong-manager/manager-dao/src/main/resources/mappers/TenantUserRoleEntityMapper.xml
index e1cd559344..e502d31e6f 100644
--- 
a/inlong-manager/manager-dao/src/main/resources/mappers/TenantUserRoleEntityMapper.xml
+++ 
b/inlong-manager/manager-dao/src/main/resources/mappers/TenantUserRoleEntityMapper.xml
@@ -67,6 +67,7 @@
         <if test="keyword != null and keyword != ''">
             and (
             tenant like CONCAT('%', #{keyword}, '%')
+            or username like CONCAT('%', #{keyword}, '%')
             )
         </if>
         <if test="tenantList != null and tenantList.size() > 0">
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
index a3611a6d0b..40ceb3391c 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/tenant/InlongTenantServiceImpl.java
@@ -204,7 +204,7 @@ public class InlongTenantServiceImpl implements 
InlongTenantService {
         return true;
     }
 
-    private void setTargetTenantList(InlongTenantPageRequest request, UserInfo 
userInfo) {
+    public void setTargetTenantList(InlongTenantPageRequest request, UserInfo 
userInfo) {
         if (isInlongRoles(userInfo)) {
             // for inlong roles, they can get all tenant info.
             request.setTenantList(null);
diff --git 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
index d25d943113..f6fba9f411 100644
--- 
a/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
+++ 
b/inlong-manager/manager-service/src/main/java/org/apache/inlong/manager/service/user/TenantRoleServiceImpl.java
@@ -27,6 +27,7 @@ import 
org.apache.inlong.manager.dao.entity.TenantUserRoleEntity;
 import org.apache.inlong.manager.dao.mapper.InlongTenantEntityMapper;
 import org.apache.inlong.manager.dao.mapper.TenantUserRoleEntityMapper;
 import org.apache.inlong.manager.pojo.common.PageResult;
+import org.apache.inlong.manager.pojo.user.InlongRoleInfo;
 import org.apache.inlong.manager.pojo.user.LoginUserUtils;
 import org.apache.inlong.manager.pojo.user.TenantRoleInfo;
 import org.apache.inlong.manager.pojo.user.TenantRolePageRequest;
@@ -56,9 +57,18 @@ public class TenantRoleServiceImpl implements 
TenantRoleService {
 
     @Autowired
     private InlongTenantEntityMapper tenantMapper;
+    @Autowired
+    private InlongRoleService inlongRoleService;
 
     @Override
     public PageResult<TenantRoleInfo> listByCondition(TenantRolePageRequest 
request) {
+        String loginUser = LoginUserUtils.getLoginUser().getName();
+        InlongRoleInfo roleInfo = inlongRoleService.getByUsername(loginUser);
+        if (roleInfo == null) {
+            List<String> tenants = this.listTenantByUsername(loginUser);
+            request.setTenantList(tenants);
+        }
+
         PageHelper.startPage(request.getPageNum(), request.getPageSize());
         Page<TenantUserRoleEntity> entityPage = 
tenantUserRoleEntityMapper.listByCondition(request);
         List<TenantRoleInfo> tenantRoleInfos = 
CommonBeanUtils.copyListProperties(entityPage, TenantRoleInfo::new);

Reply via email to