提交 9526d950 authored 作者: hzh's avatar hzh

获取租户列表增加手机号过滤

上级 2a77d5e0
...@@ -140,4 +140,12 @@ public interface RemoteUserService { ...@@ -140,4 +140,12 @@ public interface RemoteUserService {
* @return 用户ids * @return 用户ids
*/ */
List<Long> selectUserIdsByRoleIds(List<Long> roleIds); List<Long> selectUserIdsByRoleIds(List<Long> roleIds);
/**
* 根据手机号查询租户id集合
*
* @param phone 手机号
* @return 租户id集合
*/
List<String> selectTenantIdsByPhone(String phone);
} }
...@@ -31,10 +31,7 @@ import org.dromara.common.social.config.properties.SocialProperties; ...@@ -31,10 +31,7 @@ import org.dromara.common.social.config.properties.SocialProperties;
import org.dromara.common.social.utils.SocialUtils; import org.dromara.common.social.utils.SocialUtils;
import org.dromara.common.tenant.helper.TenantHelper; import org.dromara.common.tenant.helper.TenantHelper;
import org.dromara.resource.api.RemoteMessageService; import org.dromara.resource.api.RemoteMessageService;
import org.dromara.system.api.RemoteClientService; import org.dromara.system.api.*;
import org.dromara.system.api.RemoteConfigService;
import org.dromara.system.api.RemoteSocialService;
import org.dromara.system.api.RemoteTenantService;
import org.dromara.system.api.domain.vo.RemoteClientVo; import org.dromara.system.api.domain.vo.RemoteClientVo;
import org.dromara.system.api.domain.vo.RemoteTenantVo; import org.dromara.system.api.domain.vo.RemoteTenantVo;
import org.springframework.web.bind.annotation.*; import org.springframework.web.bind.annotation.*;
...@@ -71,6 +68,9 @@ public class TokenController { ...@@ -71,6 +68,9 @@ public class TokenController {
private final RemoteSocialService remoteSocialService; private final RemoteSocialService remoteSocialService;
@DubboReference(stub = "true") @DubboReference(stub = "true")
private final RemoteMessageService remoteMessageService; private final RemoteMessageService remoteMessageService;
@DubboReference
private final RemoteUserService remoteUserService;
/** /**
* 登录方法 * 登录方法
...@@ -194,7 +194,7 @@ public class TokenController { ...@@ -194,7 +194,7 @@ public class TokenController {
* @return 租户列表 * @return 租户列表
*/ */
@GetMapping("/tenant/list") @GetMapping("/tenant/list")
public R<LoginTenantVo> tenantList(HttpServletRequest request) throws Exception { public R<LoginTenantVo> tenantList(HttpServletRequest request, @RequestParam(value = "phone", required = false) String phone) throws Exception {
// 返回对象 // 返回对象
LoginTenantVo result = new LoginTenantVo(); LoginTenantVo result = new LoginTenantVo();
boolean enable = TenantHelper.isEnable(); boolean enable = TenantHelper.isEnable();
...@@ -204,7 +204,14 @@ public class TokenController { ...@@ -204,7 +204,14 @@ public class TokenController {
return R.ok(result); return R.ok(result);
} }
List<RemoteTenantVo> tenantList = remoteTenantService.queryList(); List<RemoteTenantVo> tenantList = StreamUtils.filter(remoteTenantService.queryList(), vo -> Boolean.TRUE.equals(vo.getShow()));
//通过手机号过滤
if (StringUtils.isNotEmpty(phone)){
List<String> tenantIds = remoteUserService.selectTenantIdsByPhone(phone);
tenantList = StreamUtils.filter(tenantList, vo -> tenantIds.contains(vo.getTenantId()));
}
List<TenantListVo> voList = MapstructUtils.convert(tenantList, TenantListVo.class); List<TenantListVo> voList = MapstructUtils.convert(tenantList, TenantListVo.class);
try { try {
// 如果只超管返回所有租户 // 如果只超管返回所有租户
......
...@@ -34,6 +34,7 @@ import org.dromara.system.service.*; ...@@ -34,6 +34,7 @@ import org.dromara.system.service.*;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 用户服务 * 用户服务
...@@ -333,4 +334,15 @@ public class RemoteUserServiceImpl implements RemoteUserService { ...@@ -333,4 +334,15 @@ public class RemoteUserServiceImpl implements RemoteUserService {
return userService.selectUserIdsByRoleIds(roleIds); return userService.selectUserIdsByRoleIds(roleIds);
} }
/**
* 通过手机号查询租户id集合
*
* @param phone 手机号
* @return 租户id集合
*/
@Override
public List<String> selectTenantIdsByPhone(String phone) {
return userMapper.selectList(new LambdaQueryWrapper<SysUser>().eq(SysUser::getPhonenumber, phone))
.stream().map(SysUser::getTenantId).collect(Collectors.toList());
}
} }
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论