系统支持切换单位来实时过滤业务数据的查询条件
This commit is contained in:
@@ -1,19 +1,20 @@
|
||||
package cn.iocoder.yudao.framework.web.core.util;
|
||||
|
||||
import cn.hutool.core.util.NumberUtil;
|
||||
import cn.hutool.extra.servlet.ServletUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.iocoder.yudao.framework.common.enums.RpcConstants;
|
||||
import cn.iocoder.yudao.framework.common.enums.TerminalEnum;
|
||||
import cn.iocoder.yudao.framework.common.enums.UserTypeEnum;
|
||||
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
|
||||
import cn.iocoder.yudao.framework.common.util.servlet.ServletUtils;
|
||||
import cn.iocoder.yudao.framework.web.config.WebProperties;
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import org.springframework.web.context.request.RequestAttributes;
|
||||
import org.springframework.web.context.request.RequestContextHolder;
|
||||
import org.springframework.web.context.request.ServletRequestAttributes;
|
||||
|
||||
import jakarta.servlet.ServletRequest;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import java.util.HashSet;
|
||||
import java.util.Set;
|
||||
|
||||
/**
|
||||
* 专属于 web 包的工具类
|
||||
@@ -29,6 +30,7 @@ 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";
|
||||
|
||||
/**
|
||||
* 终端的 Header
|
||||
@@ -179,4 +181,27 @@ public class WebFrameworkUtils {
|
||||
return className.endsWith("Api");
|
||||
}
|
||||
|
||||
/**
|
||||
* 获得访问的部门编号列表,从 header 中
|
||||
* @param request 请求
|
||||
* @return 部门编号列表,解析失败或无效时返回 null
|
||||
*/
|
||||
public static Set<Long> getVisitDeptIds(HttpServletRequest request) {
|
||||
String deptIdsHeader = request.getHeader(HEADER_VISIT_DEPT_IDS);
|
||||
if (StrUtil.isBlank(deptIdsHeader)) {
|
||||
return new HashSet<>();
|
||||
}
|
||||
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;
|
||||
} catch (Exception e) {
|
||||
// 解析失败
|
||||
return new HashSet<>();
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user