feat(auth):优化租户列表展示逻辑

This commit is contained in:
huk 2025-09-27 13:54:25 +08:00
parent bc2f5d4fce
commit ea7b64c9f6
2 changed files with 35 additions and 16 deletions

View File

@ -3,6 +3,7 @@ package org.dromara.web.controller;
import cn.dev33.satoken.annotation.SaIgnore;
import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.codec.Base64;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.ObjectUtil;
import jakarta.servlet.http.HttpServletRequest;
import lombok.RequiredArgsConstructor;
@ -17,7 +18,9 @@ import org.dromara.common.core.domain.model.LoginBody;
import org.dromara.common.core.domain.model.RegisterBody;
import org.dromara.common.core.domain.model.SocialLoginBody;
import org.dromara.common.core.enums.TenantType;
import org.dromara.common.core.utils.*;
import org.dromara.common.core.utils.MessageUtils;
import org.dromara.common.core.utils.StringUtils;
import org.dromara.common.core.utils.ValidatorUtils;
import org.dromara.common.encrypt.annotation.ApiEncrypt;
import org.dromara.common.json.utils.JsonUtils;
import org.dromara.common.satoken.utils.LoginHelper;
@ -40,6 +43,7 @@ import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.nio.charset.StandardCharsets;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@ -203,21 +207,35 @@ public class AuthController {
if (!enable) {
return R.ok(result);
}
SysTenantVo sysTenantVo = tenantService.queryByTenantId(LoginHelper.getTenantId());
List<SysTenantVo> sysTenantList = tenantService.getByParentId(sysTenantVo.getId());
List<TenantListVo> voList = MapstructUtils.convert(sysTenantList, TenantListVo.class);
if (voList != null) {
String companyName = sysTenantVo.getCompanyName();
if(sysTenantVo.getType().equals(TenantType.AGENT.getType())){
companyName = sysTenantVo.getAgencyName();
} else if (sysTenantVo.getType().equals(TenantType.MERCHANT.getType())) {
companyName = sysTenantVo.getShopName();
SysTenantVo currentTenant = tenantService.queryByTenantId(LoginHelper.getTenantId());
String companyName = currentTenant.getCompanyName();
if(currentTenant.getType().equals(TenantType.AGENT.getType())){
companyName = currentTenant.getAgencyName();
} else if (currentTenant.getType().equals(TenantType.MERCHANT.getType())) {
companyName = currentTenant.getStoreName();
} else if (currentTenant.getType().equals(TenantType.REFERENCE.getType())) {
companyName = "团长:" + companyName;
}
List<TenantListVo> voList = new ArrayList<>();
voList.add(TenantListVo.builder().tenantId(currentTenant.getTenantId()).companyName(companyName).domain(currentTenant.getDomain()).build());
List<SysTenantVo> sysTenantList = tenantService.getByParentId(currentTenant.getId());
List<TenantListVo> childList = sysTenantList.stream().map(vo -> {
String name = vo.getCompanyName();
if (vo.getType().equals(TenantType.AGENT.getType())) {
name = vo.getAgencyName();
} else if (vo.getType().equals(TenantType.MERCHANT.getType())) {
name = vo.getStoreName();
} else if (vo.getType().equals(TenantType.REFERENCE.getType())) {
name = "团长:" + name;
}
TenantListVo tenantListVo = TenantListVo.builder().tenantId(sysTenantVo.getTenantId())
.companyName(companyName)
.domain(sysTenantVo.getDomain())
return TenantListVo.builder().tenantId(vo.getTenantId())
.companyName(name)
.domain(vo.getDomain())
.build();
voList.add(tenantListVo);
}).toList();
if (CollUtil.isNotEmpty(childList)) {
voList.addAll(childList);
}
result.setVoList(voList);

View File

@ -65,14 +65,15 @@ public class CaptchaController {
// 验证码模板id 自行处理 (查数据库或写死均可)
String templateId = "2375314";
LinkedHashMap<String, String> map = new LinkedHashMap<>(1);
map.put("code", code);
// map.put("code", code);
SmsBlend smsBlend = SmsFactory.getSmsBlend("config2");
SmsResponse smsResponse = smsBlend.sendMessage(phonenumber, templateId, map);
if (!smsResponse.isSuccess()) {
log.error("验证码短信发送异常 => {}", smsResponse);
return R.fail(smsResponse.getData().toString());
}
return R.ok("ok",code);
log.info("{}:验证码发送成功,验证码为:{}", phonenumber, code);
return R.ok("ok", code);
}
/**