Merge branch 'dev' into test
This commit is contained in:
@@ -11,7 +11,7 @@ public class CompanyDeptInfo {
|
|||||||
/**
|
/**
|
||||||
* 公司Id
|
* 公司Id
|
||||||
*/
|
*/
|
||||||
private Long companyId;
|
private String companyId;
|
||||||
/**
|
/**
|
||||||
* 公司名称
|
* 公司名称
|
||||||
*/
|
*/
|
||||||
@@ -19,7 +19,7 @@ public class CompanyDeptInfo {
|
|||||||
/**
|
/**
|
||||||
* 部门Id
|
* 部门Id
|
||||||
*/
|
*/
|
||||||
private Long deptId;
|
private String deptId;
|
||||||
/**
|
/**
|
||||||
* 部门名称
|
* 部门名称
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -15,14 +15,7 @@ import jakarta.servlet.http.HttpServletRequest;
|
|||||||
import jakarta.servlet.http.HttpServletResponse;
|
import jakarta.servlet.http.HttpServletResponse;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
||||||
import java.util.Collections;
|
import java.util.*;
|
||||||
import java.util.HashMap;
|
|
||||||
import java.util.HashSet;
|
|
||||||
import java.util.LinkedHashSet;
|
|
||||||
import java.util.Map;
|
|
||||||
import java.util.Objects;
|
|
||||||
import java.util.Optional;
|
|
||||||
import java.util.Set;
|
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import static com.zt.plat.framework.common.util.collection.CollectionUtils.singleton;
|
import static com.zt.plat.framework.common.util.collection.CollectionUtils.singleton;
|
||||||
@@ -54,13 +47,13 @@ public class BusinessDeptHandleUtil {
|
|||||||
if (companyIdHeader != null && !companyIdHeader.isBlank()) {
|
if (companyIdHeader != null && !companyIdHeader.isBlank()) {
|
||||||
// 根据请求头中的公司 ID 过滤出当前用户的公司部门信息
|
// 根据请求头中的公司 ID 过滤出当前用户的公司部门信息
|
||||||
Set<CompanyDeptInfo> companyDeptSetByCompanyId = companyDeptSet.stream()
|
Set<CompanyDeptInfo> companyDeptSetByCompanyId = companyDeptSet.stream()
|
||||||
.filter(companyDeptInfo -> companyDeptInfo.getCompanyId().toString().equals(companyIdHeader))
|
.filter(companyDeptInfo -> companyDeptInfo.getCompanyId().equals(companyIdHeader))
|
||||||
.collect(Collectors.toSet());
|
.collect(Collectors.toSet());
|
||||||
if (companyDeptSetByCompanyId.isEmpty()) {
|
if (companyDeptSetByCompanyId.isEmpty()) {
|
||||||
// 当前公司下没有部门
|
// 当前公司下没有部门
|
||||||
CompanyDeptInfo data = new CompanyDeptInfo();
|
CompanyDeptInfo data = new CompanyDeptInfo();
|
||||||
data.setCompanyId(Long.valueOf(companyIdHeader));
|
data.setCompanyId(companyIdHeader);
|
||||||
data.setDeptId(0L);
|
data.setDeptId("0");
|
||||||
return new HashSet<>(singleton(data));
|
return new HashSet<>(singleton(data));
|
||||||
}
|
}
|
||||||
// 如果有 deptId,校验其是否属于该 companyId
|
// 如果有 deptId,校验其是否属于该 companyId
|
||||||
@@ -157,11 +150,11 @@ public class BusinessDeptHandleUtil {
|
|||||||
if (extraInfo == null) {
|
if (extraInfo == null) {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
Set<Long> companyIds = infos.stream()
|
Set<String> companyIds = infos.stream()
|
||||||
.map(CompanyDeptInfo::getCompanyId)
|
.map(CompanyDeptInfo::getCompanyId)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedHashSet::new));
|
.collect(Collectors.toCollection(LinkedHashSet::new));
|
||||||
Set<Long> deptIds = infos.stream()
|
Set<String> deptIds = infos.stream()
|
||||||
.map(CompanyDeptInfo::getDeptId)
|
.map(CompanyDeptInfo::getDeptId)
|
||||||
.filter(Objects::nonNull)
|
.filter(Objects::nonNull)
|
||||||
.collect(Collectors.toCollection(LinkedHashSet::new));
|
.collect(Collectors.toCollection(LinkedHashSet::new));
|
||||||
@@ -172,24 +165,24 @@ public class BusinessDeptHandleUtil {
|
|||||||
|
|
||||||
private static CompanyDeptInfo convert(CompanyDeptInfoRespDTO dto) {
|
private static CompanyDeptInfo convert(CompanyDeptInfoRespDTO dto) {
|
||||||
CompanyDeptInfo info = new CompanyDeptInfo();
|
CompanyDeptInfo info = new CompanyDeptInfo();
|
||||||
info.setCompanyId(dto.getCompanyId());
|
info.setCompanyId(String.valueOf(dto.getCompanyId()));
|
||||||
info.setCompanyName(dto.getCompanyName());
|
info.setCompanyName(dto.getCompanyName());
|
||||||
info.setCompanyCode(dto.getCompanyCode());
|
info.setCompanyCode(dto.getCompanyCode());
|
||||||
info.setDeptId(dto.getDeptId());
|
info.setDeptId(String.valueOf(dto.getDeptId()));
|
||||||
info.setDeptName(dto.getDeptName());
|
info.setDeptName(dto.getDeptName());
|
||||||
info.setDeptCode(dto.getDeptCode());
|
info.setDeptCode(dto.getDeptCode());
|
||||||
return info;
|
return info;
|
||||||
}
|
}
|
||||||
|
|
||||||
private static boolean applyAutoSelection(LoginUser loginUser, HttpServletRequest request, CompanyDeptInfo info) {
|
private static boolean applyAutoSelection(LoginUser loginUser, HttpServletRequest request, CompanyDeptInfo info) {
|
||||||
if (info == null || info.getCompanyId() == null || info.getCompanyId() <= 0
|
if (info == null || info.getCompanyId() == null || "0".equals(info.getCompanyId())
|
||||||
|| info.getDeptId() == null || info.getDeptId() <= 0) {
|
|| info.getDeptId() == null || "0".equals(info.getDeptId())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
if (loginUser != null) {
|
if (loginUser != null) {
|
||||||
loginUser.setVisitCompanyId(info.getCompanyId());
|
loginUser.setVisitCompanyId(Long.valueOf(info.getCompanyId()));
|
||||||
loginUser.setVisitCompanyName(info.getCompanyName());
|
loginUser.setVisitCompanyName(info.getCompanyName());
|
||||||
loginUser.setVisitDeptId(info.getDeptId());
|
loginUser.setVisitDeptId(Long.valueOf(info.getDeptId()));
|
||||||
loginUser.setVisitDeptName(info.getDeptName());
|
loginUser.setVisitDeptName(info.getDeptName());
|
||||||
}
|
}
|
||||||
request.setAttribute(WebFrameworkUtils.HEADER_VISIT_COMPANY_ID, info.getCompanyId());
|
request.setAttribute(WebFrameworkUtils.HEADER_VISIT_COMPANY_ID, info.getCompanyId());
|
||||||
@@ -201,7 +194,7 @@ public class BusinessDeptHandleUtil {
|
|||||||
request.setAttribute(WebFrameworkUtils.HEADER_VISIT_DEPT_NAME, info.getDeptName());
|
request.setAttribute(WebFrameworkUtils.HEADER_VISIT_DEPT_NAME, info.getDeptName());
|
||||||
}
|
}
|
||||||
CompanyContextHolder.setIgnore(false);
|
CompanyContextHolder.setIgnore(false);
|
||||||
CompanyContextHolder.setCompanyId(info.getCompanyId());
|
CompanyContextHolder.setCompanyId(Long.valueOf(info.getCompanyId()));
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -107,11 +107,11 @@ class BusinessHeaderInterceptorTest {
|
|||||||
|
|
||||||
// 构造 loginUser,包含多个公司部门
|
// 构造 loginUser,包含多个公司部门
|
||||||
CompanyDeptInfo deptInfo1 = new CompanyDeptInfo();
|
CompanyDeptInfo deptInfo1 = new CompanyDeptInfo();
|
||||||
deptInfo1.setCompanyId(1L);
|
deptInfo1.setCompanyId(String.valueOf(1L));
|
||||||
deptInfo1.setDeptId(2L);
|
deptInfo1.setDeptId(String.valueOf(2L));
|
||||||
CompanyDeptInfo deptInfo2 = new CompanyDeptInfo();
|
CompanyDeptInfo deptInfo2 = new CompanyDeptInfo();
|
||||||
deptInfo2.setCompanyId(2L);
|
deptInfo2.setCompanyId(String.valueOf(2L));
|
||||||
deptInfo2.setDeptId(3L);
|
deptInfo2.setDeptId(String.valueOf(3L));
|
||||||
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
||||||
deptSet.add(deptInfo1);
|
deptSet.add(deptInfo1);
|
||||||
deptSet.add(deptInfo2);
|
deptSet.add(deptInfo2);
|
||||||
@@ -141,8 +141,8 @@ class BusinessHeaderInterceptorTest {
|
|||||||
|
|
||||||
// 构造 loginUser,只有一个公司且公司下只有一个部门
|
// 构造 loginUser,只有一个公司且公司下只有一个部门
|
||||||
CompanyDeptInfo deptInfo = new CompanyDeptInfo();
|
CompanyDeptInfo deptInfo = new CompanyDeptInfo();
|
||||||
deptInfo.setCompanyId(100L);
|
deptInfo.setCompanyId(String.valueOf(100L));
|
||||||
deptInfo.setDeptId(200L);
|
deptInfo.setDeptId(String.valueOf(200L));
|
||||||
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
||||||
deptSet.add(deptInfo);
|
deptSet.add(deptInfo);
|
||||||
LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
|
LoginUser loginUser = randomPojo(LoginUser.class, o -> o.setId(1L)
|
||||||
@@ -172,11 +172,11 @@ class BusinessHeaderInterceptorTest {
|
|||||||
|
|
||||||
// 构造 loginUser,多个公司部门
|
// 构造 loginUser,多个公司部门
|
||||||
CompanyDeptInfo deptInfo1 = new CompanyDeptInfo();
|
CompanyDeptInfo deptInfo1 = new CompanyDeptInfo();
|
||||||
deptInfo1.setCompanyId(1L);
|
deptInfo1.setCompanyId(String.valueOf(1L));
|
||||||
deptInfo1.setDeptId(2L);
|
deptInfo1.setDeptId(String.valueOf(2L));
|
||||||
CompanyDeptInfo deptInfo2 = new CompanyDeptInfo();
|
CompanyDeptInfo deptInfo2 = new CompanyDeptInfo();
|
||||||
deptInfo2.setCompanyId(2L);
|
deptInfo2.setCompanyId(String.valueOf(2L));
|
||||||
deptInfo2.setDeptId(3L);
|
deptInfo2.setDeptId(String.valueOf(3L));
|
||||||
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
||||||
deptSet.add(deptInfo1);
|
deptSet.add(deptInfo1);
|
||||||
deptSet.add(deptInfo2);
|
deptSet.add(deptInfo2);
|
||||||
@@ -207,11 +207,11 @@ class BusinessHeaderInterceptorTest {
|
|||||||
|
|
||||||
// 构造 loginUser,只有其他公司部门
|
// 构造 loginUser,只有其他公司部门
|
||||||
CompanyDeptInfo deptInfo1 = new CompanyDeptInfo();
|
CompanyDeptInfo deptInfo1 = new CompanyDeptInfo();
|
||||||
deptInfo1.setCompanyId(1L);
|
deptInfo1.setCompanyId(String.valueOf(1L));
|
||||||
deptInfo1.setDeptId(2L);
|
deptInfo1.setDeptId(String.valueOf(2L));
|
||||||
CompanyDeptInfo deptInfo2 = new CompanyDeptInfo();
|
CompanyDeptInfo deptInfo2 = new CompanyDeptInfo();
|
||||||
deptInfo2.setCompanyId(2L);
|
deptInfo2.setCompanyId(String.valueOf(2L));
|
||||||
deptInfo2.setDeptId(3L);
|
deptInfo2.setDeptId(String.valueOf(3L));
|
||||||
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
Set<CompanyDeptInfo> deptSet = new HashSet<>();
|
||||||
deptSet.add(deptInfo1);
|
deptSet.add(deptInfo1);
|
||||||
deptSet.add(deptInfo2);
|
deptSet.add(deptInfo2);
|
||||||
|
|||||||
@@ -504,10 +504,10 @@ public class DeptServiceImpl implements DeptService {
|
|||||||
DeptDO company = companyId != null ? loadDept(companyId, deptCache) : findTopLevelAncestor(dept);
|
DeptDO company = companyId != null ? loadDept(companyId, deptCache) : findTopLevelAncestor(dept);
|
||||||
if (company == null) continue;
|
if (company == null) continue;
|
||||||
CompanyDeptInfo info = new CompanyDeptInfo();
|
CompanyDeptInfo info = new CompanyDeptInfo();
|
||||||
info.setCompanyId(company.getId());
|
info.setCompanyId(String.valueOf(company.getId()));
|
||||||
info.setCompanyName(company.getName());
|
info.setCompanyName(company.getName());
|
||||||
info.setCompanyCode(company.getCode());
|
info.setCompanyCode(company.getCode());
|
||||||
info.setDeptId(dept.getId());
|
info.setDeptId(String.valueOf(dept.getId()));
|
||||||
info.setDeptName(dept.getName());
|
info.setDeptName(dept.getName());
|
||||||
info.setDeptCode(dept.getCode());
|
info.setDeptCode(dept.getCode());
|
||||||
result.add(info);
|
result.add(info);
|
||||||
|
|||||||
@@ -360,8 +360,8 @@ public class AdminUserServiceImpl implements AdminUserService {
|
|||||||
public AdminUserDO getUser(Long id) {
|
public AdminUserDO getUser(Long id) {
|
||||||
AdminUserDO adminUserDO = userMapper.selectListByIds(singleton(id)).stream().findFirst().orElseThrow(() -> exception(USER_NOT_EXISTS));
|
AdminUserDO adminUserDO = userMapper.selectListByIds(singleton(id)).stream().findFirst().orElseThrow(() -> exception(USER_NOT_EXISTS));
|
||||||
Set<CompanyDeptInfo> companyDeptInfoListByUserId = deptService.getCompanyDeptInfoListByUserId(id);
|
Set<CompanyDeptInfo> companyDeptInfoListByUserId = deptService.getCompanyDeptInfoListByUserId(id);
|
||||||
adminUserDO.setDeptIds(companyDeptInfoListByUserId.stream().map(CompanyDeptInfo::getDeptId).collect(Collectors.toSet()));
|
adminUserDO.setDeptIds(companyDeptInfoListByUserId.stream().map(CompanyDeptInfo::getDeptId).map(Long::valueOf).collect(Collectors.toSet()));
|
||||||
adminUserDO.setCompanyIds(companyDeptInfoListByUserId.stream().map(CompanyDeptInfo::getCompanyId).collect(Collectors.toSet()));
|
adminUserDO.setCompanyIds(companyDeptInfoListByUserId.stream().map(CompanyDeptInfo::getCompanyId).map(Long::valueOf).collect(Collectors.toSet()));
|
||||||
adminUserDO.setCompanyDeptInfos(companyDeptInfoListByUserId);
|
adminUserDO.setCompanyDeptInfos(companyDeptInfoListByUserId);
|
||||||
String deptNames = companyDeptInfoListByUserId.stream()
|
String deptNames = companyDeptInfoListByUserId.stream()
|
||||||
.map(CompanyDeptInfo::getDeptName)
|
.map(CompanyDeptInfo::getDeptName)
|
||||||
|
|||||||
Reference in New Issue
Block a user