Commit d0979227 authored by wujiang's avatar wujiang

修复权限树不正确

parent 5175a6c3
......@@ -6,4 +6,5 @@ import java.util.List;
public interface IPermissionService {
List<String> getCurrentUserPermissions();
List<String> getCurrentUserProjectOrgCodes();
List<String> getCurrentUserAmosOrgCodes();
}
......@@ -16,6 +16,7 @@ import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors;
......@@ -35,9 +36,12 @@ public class IPermissionServiceImpl implements IPermissionService {
@Override
public List<String> getCurrentUserPermissions() {
List<String> result = new ArrayList<>();
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
ReginParams reginParams = JSONObject.parseObject(redisUtils
.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(),
ReginParams.class);
String userId = reginParams.getUserModel().getUserId();
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
StdUserEmpower stdUserEmpower = userEmpowerMapper
.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
if (ObjectUtils.isEmpty(stdUserEmpower)) {
return null;
} else {
......@@ -45,17 +49,20 @@ public class IPermissionServiceImpl implements IPermissionService {
Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode);
String companyLevel = companyInfo.get("level");
if (companyLevel.equals("categroy_leve2")) {
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
List<StationBasic> stationBasics = stationBasicMapper
.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
return result;
}
if (companyLevel.equals("area")) {
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
List<StationBasic> stationBasics = stationBasicMapper
.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
return result;
}
if (companyLevel.equals("station")) {
StationBasic stationBasic = stationBasicMapper.selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode));
StationBasic stationBasic = stationBasicMapper
.selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode));
result.add(stationBasic.getFanGatewayId());
return result;
}
......@@ -66,9 +73,12 @@ public class IPermissionServiceImpl implements IPermissionService {
@Override
public List<String> getCurrentUserProjectOrgCodes() {
List<String> result = new ArrayList<>();
ReginParams reginParams = JSONObject.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
ReginParams reginParams = JSONObject.parseObject(redisUtils
.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(),
ReginParams.class);
String userId = reginParams.getUserModel().getUserId();
StdUserEmpower stdUserEmpower = userEmpowerMapper.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
StdUserEmpower stdUserEmpower = userEmpowerMapper
.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
if (ObjectUtils.isEmpty(stdUserEmpower)) {
return null;
} else {
......@@ -76,21 +86,41 @@ public class IPermissionServiceImpl implements IPermissionService {
Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode);
String companyLevel = companyInfo.get("level");
if (companyLevel.equals("categroy_leve2")) {
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
List<StationBasic> stationBasics = stationBasicMapper
.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList());
return result;
}
if (companyLevel.equals("area")) {
List<StationBasic> stationBasics = stationBasicMapper.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
List<StationBasic> stationBasics = stationBasicMapper
.selectList(new QueryWrapper<StationBasic>().like("project_org_code", permissionOrgCode));
result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList());
return result;
}
if (companyLevel.equals("station")) {
StationBasic stationBasic = stationBasicMapper.selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode));
StationBasic stationBasic = stationBasicMapper
.selectOne(new QueryWrapper<StationBasic>().eq("project_org_code", permissionOrgCode));
result.add(stationBasic.getProjectOrgCode());
return result;
}
}
return result;
}
@Override
public List<String> getCurrentUserAmosOrgCodes() {
List<String> result = new ArrayList<>();
ReginParams reginParams = JSONObject.parseObject(redisUtils
.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(),
ReginParams.class);
String userId = reginParams.getUserModel().getUserId();
StdUserEmpower stdUserEmpower = userEmpowerMapper
.selectOne(new QueryWrapper<StdUserEmpower>().eq("amos_user_id", userId).eq("permission_type", "YTH"));
if (ObjectUtils.isEmpty(stdUserEmpower)) {
return new ArrayList<>();
} else {
return stdUserEmpower.getAmosOrgCode() != null ? Arrays.asList(stdUserEmpower.getAmosOrgCode().get(0))
: new ArrayList<>();
}
}
}
......@@ -64,12 +64,15 @@ public class McbWarningServiceImpl implements IMcbWarningService {
* @return 预警信息列表
*/
@Override
public Page<Map<String, Object>> queryWarningPage(Page<Map<String, Object>> page, Integer processingStatus, String eventLevel, String createDate, String warningSourceType) {
public Page<Map<String, Object>> queryWarningPage(Page<Map<String, Object>> page, Integer processingStatus,
String eventLevel, String createDate, String warningSourceType) {
List<String> projectOrgCodes = this.getProjectOrgCodes();
long start = page.getCurrent() - 1;
long offset = page.getSize() * page.getCurrent();
List<Map<String, Object>> records = mcbWarningMapper.queryWarningList(start, offset, projectOrgCodes, processingStatus, eventLevel, createDate, warningSourceType);
Long total = mcbWarningMapper.queryWarningCount(projectOrgCodes, processingStatus, eventLevel, createDate, warningSourceType);
List<Map<String, Object>> records = mcbWarningMapper.queryWarningList(start, offset, projectOrgCodes,
processingStatus, eventLevel, createDate, warningSourceType);
Long total = mcbWarningMapper.queryWarningCount(projectOrgCodes, processingStatus, eventLevel, createDate,
warningSourceType);
page.setRecords(records);
page.setTotal(total);
return page;
......@@ -82,9 +85,11 @@ public class McbWarningServiceImpl implements IMcbWarningService {
* @return 预警信息总数
*/
@Override
public Long queryWarningCount(Integer processingStatus, String eventLevel, String createDate, String warningSourceType) {
public Long queryWarningCount(Integer processingStatus, String eventLevel, String createDate,
String warningSourceType) {
List<String> projectOrgCodes = this.getProjectOrgCodes();
return mcbWarningMapper.queryWarningCount(projectOrgCodes, processingStatus, eventLevel, createDate, warningSourceType);
return mcbWarningMapper.queryWarningCount(projectOrgCodes, processingStatus, eventLevel, createDate,
warningSourceType);
}
/**
......@@ -99,7 +104,8 @@ public class McbWarningServiceImpl implements IMcbWarningService {
List<String> projectOrgCodes = this.getProjectOrgCodes();
long start = page.getCurrent() - 1;
long offset = page.getSize() * page.getCurrent();
List<Map<String, Object>> records = mcbWarningMapper.queryQuestionList(start, offset, projectOrgCodes, completionStatus);
List<Map<String, Object>> records = mcbWarningMapper.queryQuestionList(start, offset, projectOrgCodes,
completionStatus);
Long total = mcbWarningMapper.queryQuestionCount(projectOrgCodes, completionStatus);
page.setRecords(records);
page.setTotal(total);
......@@ -151,21 +157,21 @@ public class McbWarningServiceImpl implements IMcbWarningService {
return page.getResult();
}
public List<RectificationUnitClassifyTreeDto> treeToList (List<RectificationUnitClassifyTreeDto> source, List<RectificationUnitClassifyTreeDto> object){
source.stream().forEach(v ->{
public List<RectificationUnitClassifyTreeDto> treeToList(List<RectificationUnitClassifyTreeDto> source,
List<RectificationUnitClassifyTreeDto> object) {
source.stream().forEach(v -> {
RectificationUnitClassifyTreeDto t = new RectificationUnitClassifyTreeDto();
BeanUtils.copyProperties(v, t);
t.setChildren(new ArrayList());
object.add(t);
//判断该对象的getChildren()是否为空
if(!CollectionUtils.isEmpty(v.getChildren())){
// 判断该对象的getChildren()是否为空
if (!CollectionUtils.isEmpty(v.getChildren())) {
treeToList(v.getChildren(), object);
}
});
return object;
}
/**
* 任务详情、问题记录左侧树
*
......@@ -179,11 +185,11 @@ public class McbWarningServiceImpl implements IMcbWarningService {
}
List<RectificationUnitClassifyTreeDto> targetList = new ArrayList<>();
List<RectificationUnitClassifyTreeDto> tempList = treeToList(res, targetList);
List<String> codes = getProjectOrgCodes();
List<String> codes = permissionService.getCurrentUserAmosOrgCodes();
targetList = tempList.stream().filter(x -> {
if (CollectionUtil.isNotEmpty(codes)) {
for (String str : codes) {
if (str.startsWith(x.getCode())){
if (x.getCode().startsWith(str)) {
return true;
}
}
......@@ -191,17 +197,25 @@ public class McbWarningServiceImpl implements IMcbWarningService {
return false;
}).collect(Collectors.toList());
List<RectificationUnitClassifyTreeDto> listDate = new ArrayList<>();
if(!targetList.isEmpty())
{
for (RectificationUnitClassifyTreeDto t : targetList) {
if (StringUtils.isBlank(t.getParentId()) || "0".equals(t.getParentId())) {
if (StringUtils.isBlank(t.getParentId()) || "0".equals(t.getParentId())
|| codes.get(0).equals(t.getCode())) {
t.setChildren(getChild(t, targetList));
}
listDate.add(t);
break;
}
}
}
return listDate;
}
private List<RectificationUnitClassifyTreeDto> getChild(RectificationUnitClassifyTreeDto dto, List<RectificationUnitClassifyTreeDto> listDto) {
return (List<RectificationUnitClassifyTreeDto>)listDto.stream().filter(t -> t.getParentId().equals(dto.getSequenceNbr().toString())).peek(m -> m.setChildren(getChild(m, listDto))).collect(Collectors.toList());
private List<RectificationUnitClassifyTreeDto> getChild(RectificationUnitClassifyTreeDto dto,
List<RectificationUnitClassifyTreeDto> listDto) {
return (List<RectificationUnitClassifyTreeDto>) listDto.stream()
.filter(t -> t.getParentId().equals(dto.getSequenceNbr().toString()))
.peek(m -> m.setChildren(getChild(m, listDto))).collect(Collectors.toList());
}
/**
......@@ -232,12 +246,14 @@ public class McbWarningServiceImpl implements IMcbWarningService {
*/
@Override
public Object getMapRouteInfoByCodes(String province, List<String> codes, String operator) {
FeignClientResult result = mcbWarningFeign.getMapRouteInfoByCodes(province, this.getProjectOrgCodes(), operator);
FeignClientResult result = mcbWarningFeign.getMapRouteInfoByCodes(province, this.getProjectOrgCodes(),
operator);
return result.getResult();
}
/**
* 获取用户权限(此处使用projectOrgCode)
*
* @return gatewayIds
*/
private List<String> getProjectOrgCodes() {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment