1. 补全后端的其余模块

2. 新增用户管理多部门的逻辑
This commit is contained in:
chenbowen
2025-06-30 15:44:40 +08:00
parent fbd175cba0
commit 625ad8f46f
524 changed files with 1762 additions and 1323 deletions

View File

@@ -13,9 +13,6 @@ import org.springframework.web.context.request.RequestAttributes;
import org.springframework.web.context.request.RequestContextHolder;
import org.springframework.web.context.request.ServletRequestAttributes;
import java.util.HashSet;
import java.util.Set;
/**
* 专属于 web 包的工具类
*
@@ -30,7 +27,8 @@ public class WebFrameworkUtils {
public static final String HEADER_TENANT_ID = "tenant-id";
public static final String HEADER_VISIT_TENANT_ID = "visit-tenant-id";
public static final String HEADER_VISIT_DEPT_IDS = "visit-dept-ids";
public static final String HEADER_VISIT_COMPANY_ID = "visit-company-id";
public static final String HEADER_VISIT_COMPANY_NAME = "visit-company-name";
/**
* 终端的 Header
@@ -182,26 +180,60 @@ public class WebFrameworkUtils {
}
/**
* 获得访问的部门编号列表,从 header 中
* 获得访问的公司编号,从 header 中
* @param request 请求
* @return 部门编号列表,解析失败或无效时返回 null
* @return 公司部门编号,解析失败或无效时返回 0
*/
public static Set<Long> getVisitDeptIds(HttpServletRequest request) {
String deptIdsHeader = request.getHeader(HEADER_VISIT_DEPT_IDS);
if (StrUtil.isBlank(deptIdsHeader)) {
return new HashSet<>();
public static Long getCompanyId(HttpServletRequest request) {
String companyIdHeader = request.getHeader(HEADER_VISIT_COMPANY_ID);
if (StrUtil.isBlank(companyIdHeader)) {
return 0L;
}
try {
Set<Long> deptIds = java.util.Arrays.stream(deptIdsHeader.split(","))
.map(String::trim)
.filter(cn.hutool.core.util.StrUtil::isNotBlank)
.map(Long::valueOf)
.collect(java.util.stream.Collectors.toSet());
return deptIds.isEmpty() ? new HashSet<>() : deptIds;
// 解析部门编号列表
return Long.parseLong(companyIdHeader);
} catch (Exception e) {
// 解析失败
return new HashSet<>();
return 0L;
}
}
/**
* 获得访问的公司名称,从 header 中
* @param request 请求
* @return 公司名称,解析失败或无效时返回空字符串
*/
public static String getCompanyName(HttpServletRequest request) {
String companyName = request.getHeader(HEADER_VISIT_COMPANY_NAME);
return StrUtil.isBlank(companyName) ? StrUtil.EMPTY : companyName;
}
/**
* 获得访问的部门编号,从 header 中
* @param request 请求
* @return 部门编号,解析失败或无效时返回 0
*/
public static Long getDeptId(HttpServletRequest request) {
String deptIdHeader = request.getHeader(WebFrameworkUtils.HEADER_VISIT_TENANT_ID);
if (StrUtil.isBlank(deptIdHeader)) {
return 0L;
}
try {
// 解析部门编号
return Long.parseLong(deptIdHeader);
} catch (Exception e) {
// 解析失败
return 0L;
}
}
/**
* 获得访问的部门名称,从 header 中
* @param request 请求
* @return 部门名称,解析失败或无效时返回空字符串
*/
public static String getDeptName(HttpServletRequest request) {
String deptName = request.getHeader(WebFrameworkUtils.HEADER_VISIT_COMPANY_NAME);
return StrUtil.isBlank(deptName) ? StrUtil.EMPTY : deptName;
}
}