fix: 修复开放接口鉴权与小程序联调配置

- 注册小程序租户过滤器并放宽 /api/open 路径匹配

- 移除全局异常吞没逻辑并修复律师列表筛选空值处理

- 统一小程序 develop、trial、release 环境接口域名
This commit is contained in:
2026-03-21 11:18:04 +08:00
parent 728847a8e3
commit ac7eb6d85d
5 changed files with 30 additions and 17 deletions

View File

@@ -343,18 +343,21 @@ public class CardProfileService {
Map<Long, List<String>> specialtyMap = loadSpecialtyMap(cards.stream().map(CardProfileDO::getId).toList());
return cards.stream()
.filter(card -> {
String deptName = deptMap.containsKey(card.getDeptId()) ? deptMap.get(card.getDeptId()).getDeptName() : "";
OrgDepartmentDO department = card.getDeptId() == null ? null : deptMap.get(card.getDeptId());
String deptName = department == null ? "" : department.getDeptName();
List<String> specialties = specialtyMap.getOrDefault(card.getId(), List.of());
boolean keywordMatched = !StringUtils.hasText(keyword)
|| card.getCardName().contains(keyword)
|| deptName.contains(keyword)
|| specialties.stream().anyMatch(item -> item.contains(keyword));
|| containsText(card.getCardName(), keyword)
|| containsText(deptName, keyword)
|| specialties.stream().anyMatch(item -> containsText(item, keyword));
boolean officeMatched = !StringUtils.hasText(office) || office.equals(deptName);
boolean areaMatched = !StringUtils.hasText(practiceArea) || specialties.stream().anyMatch(item -> item.equals(practiceArea));
boolean areaMatched = !StringUtils.hasText(practiceArea)
|| specialties.stream().anyMatch(item -> equalsText(item, practiceArea));
return keywordMatched && officeMatched && areaMatched;
})
.map(card -> {
String deptName = deptMap.containsKey(card.getDeptId()) ? deptMap.get(card.getDeptId()).getDeptName() : "";
OrgDepartmentDO department = card.getDeptId() == null ? null : deptMap.get(card.getDeptId());
String deptName = department == null ? "" : department.getDeptName();
return new OpenCardListItem(
card.getId(),
card.getCardName(),
@@ -496,6 +499,14 @@ public class CardProfileService {
return AUTO_MANAGED_ROLE_CODE.equals(roleCode);
}
private boolean containsText(String source, String keyword) {
return source != null && keyword != null && source.contains(keyword);
}
private boolean equalsText(String left, String right) {
return left != null && left.equals(right);
}
private SysUserDO createHiddenLawyerUser(LoginUser loginUser, UpsertCardRequest request) {
SysRoleDO role = getRequiredTenantRole(loginUser.tenantId(), AUTO_MANAGED_ROLE_CODE);
SysUserDO user = new SysUserDO();