Commit d0979227 authored by wujiang's avatar wujiang

修复权限树不正确

parent 5175a6c3
...@@ -6,4 +6,5 @@ import java.util.List; ...@@ -6,4 +6,5 @@ import java.util.List;
public interface IPermissionService { public interface IPermissionService {
List<String> getCurrentUserPermissions(); List<String> getCurrentUserPermissions();
List<String> getCurrentUserProjectOrgCodes(); List<String> getCurrentUserProjectOrgCodes();
List<String> getCurrentUserAmosOrgCodes();
} }
...@@ -16,6 +16,7 @@ import org.springframework.util.ObjectUtils; ...@@ -16,6 +16,7 @@ import org.springframework.util.ObjectUtils;
import org.typroject.tyboot.core.foundation.context.RequestContext; import org.typroject.tyboot.core.foundation.context.RequestContext;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -35,9 +36,12 @@ public class IPermissionServiceImpl implements IPermissionService { ...@@ -35,9 +36,12 @@ public class IPermissionServiceImpl implements IPermissionService {
@Override @Override
public List<String> getCurrentUserPermissions() { public List<String> getCurrentUserPermissions() {
List<String> result = new ArrayList<>(); 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(); 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)) { if (ObjectUtils.isEmpty(stdUserEmpower)) {
return null; return null;
} else { } else {
...@@ -45,17 +49,20 @@ public class IPermissionServiceImpl implements IPermissionService { ...@@ -45,17 +49,20 @@ public class IPermissionServiceImpl implements IPermissionService {
Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode); Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode);
String companyLevel = companyInfo.get("level"); String companyLevel = companyInfo.get("level");
if (companyLevel.equals("categroy_leve2")) { 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()); result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
return result; return result;
} }
if (companyLevel.equals("area")) { 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()); result = stationBasics.stream().map(StationBasic::getFanGatewayId).collect(Collectors.toList());
return result; return result;
} }
if (companyLevel.equals("station")) { 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()); result.add(stationBasic.getFanGatewayId());
return result; return result;
} }
...@@ -66,9 +73,12 @@ public class IPermissionServiceImpl implements IPermissionService { ...@@ -66,9 +73,12 @@ public class IPermissionServiceImpl implements IPermissionService {
@Override @Override
public List<String> getCurrentUserProjectOrgCodes() { public List<String> getCurrentUserProjectOrgCodes() {
List<String> result = new ArrayList<>(); 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(); 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)) { if (ObjectUtils.isEmpty(stdUserEmpower)) {
return null; return null;
} else { } else {
...@@ -76,21 +86,41 @@ public class IPermissionServiceImpl implements IPermissionService { ...@@ -76,21 +86,41 @@ public class IPermissionServiceImpl implements IPermissionService {
Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode); Map<String, String> companyInfo = userEmpowerMapper.getCompanyInfoByOrgCode(permissionOrgCode);
String companyLevel = companyInfo.get("level"); String companyLevel = companyInfo.get("level");
if (companyLevel.equals("categroy_leve2")) { 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()); result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList());
return result; return result;
} }
if (companyLevel.equals("area")) { 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()); result = stationBasics.stream().map(StationBasic::getProjectOrgCode).collect(Collectors.toList());
return result; return result;
} }
if (companyLevel.equals("station")) { 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()); result.add(stationBasic.getProjectOrgCode());
return result; return result;
} }
} }
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 { ...@@ -64,12 +64,15 @@ public class McbWarningServiceImpl implements IMcbWarningService {
* @return 预警信息列表 * @return 预警信息列表
*/ */
@Override @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(); List<String> projectOrgCodes = this.getProjectOrgCodes();
long start = page.getCurrent() - 1; long start = page.getCurrent() - 1;
long offset = page.getSize() * page.getCurrent(); long offset = page.getSize() * page.getCurrent();
List<Map<String, Object>> records = mcbWarningMapper.queryWarningList(start, offset, projectOrgCodes, processingStatus, eventLevel, createDate, warningSourceType); List<Map<String, Object>> records = mcbWarningMapper.queryWarningList(start, offset, projectOrgCodes,
Long total = mcbWarningMapper.queryWarningCount(projectOrgCodes, processingStatus, eventLevel, createDate, warningSourceType); processingStatus, eventLevel, createDate, warningSourceType);
Long total = mcbWarningMapper.queryWarningCount(projectOrgCodes, processingStatus, eventLevel, createDate,
warningSourceType);
page.setRecords(records); page.setRecords(records);
page.setTotal(total); page.setTotal(total);
return page; return page;
...@@ -82,9 +85,11 @@ public class McbWarningServiceImpl implements IMcbWarningService { ...@@ -82,9 +85,11 @@ public class McbWarningServiceImpl implements IMcbWarningService {
* @return 预警信息总数 * @return 预警信息总数
*/ */
@Override @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(); 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 { ...@@ -99,7 +104,8 @@ public class McbWarningServiceImpl implements IMcbWarningService {
List<String> projectOrgCodes = this.getProjectOrgCodes(); List<String> projectOrgCodes = this.getProjectOrgCodes();
long start = page.getCurrent() - 1; long start = page.getCurrent() - 1;
long offset = page.getSize() * page.getCurrent(); 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); Long total = mcbWarningMapper.queryQuestionCount(projectOrgCodes, completionStatus);
page.setRecords(records); page.setRecords(records);
page.setTotal(total); page.setTotal(total);
...@@ -151,21 +157,21 @@ public class McbWarningServiceImpl implements IMcbWarningService { ...@@ -151,21 +157,21 @@ public class McbWarningServiceImpl implements IMcbWarningService {
return page.getResult(); return page.getResult();
} }
public List<RectificationUnitClassifyTreeDto> treeToList (List<RectificationUnitClassifyTreeDto> source, List<RectificationUnitClassifyTreeDto> object){ public List<RectificationUnitClassifyTreeDto> treeToList(List<RectificationUnitClassifyTreeDto> source,
source.stream().forEach(v ->{ List<RectificationUnitClassifyTreeDto> object) {
source.stream().forEach(v -> {
RectificationUnitClassifyTreeDto t = new RectificationUnitClassifyTreeDto(); RectificationUnitClassifyTreeDto t = new RectificationUnitClassifyTreeDto();
BeanUtils.copyProperties(v, t); BeanUtils.copyProperties(v, t);
t.setChildren(new ArrayList()); t.setChildren(new ArrayList());
object.add(t); object.add(t);
//判断该对象的getChildren()是否为空 // 判断该对象的getChildren()是否为空
if(!CollectionUtils.isEmpty(v.getChildren())){ if (!CollectionUtils.isEmpty(v.getChildren())) {
treeToList(v.getChildren(), object); treeToList(v.getChildren(), object);
} }
}); });
return object; return object;
} }
/** /**
* 任务详情、问题记录左侧树 * 任务详情、问题记录左侧树
* *
...@@ -179,11 +185,11 @@ public class McbWarningServiceImpl implements IMcbWarningService { ...@@ -179,11 +185,11 @@ public class McbWarningServiceImpl implements IMcbWarningService {
} }
List<RectificationUnitClassifyTreeDto> targetList = new ArrayList<>(); List<RectificationUnitClassifyTreeDto> targetList = new ArrayList<>();
List<RectificationUnitClassifyTreeDto> tempList = treeToList(res, targetList); List<RectificationUnitClassifyTreeDto> tempList = treeToList(res, targetList);
List<String> codes = getProjectOrgCodes(); List<String> codes = permissionService.getCurrentUserAmosOrgCodes();
targetList = tempList.stream().filter(x -> { targetList = tempList.stream().filter(x -> {
if (CollectionUtil.isNotEmpty(codes)) { if (CollectionUtil.isNotEmpty(codes)) {
for (String str : codes) { for (String str : codes) {
if (str.startsWith(x.getCode())){ if (x.getCode().startsWith(str)) {
return true; return true;
} }
} }
...@@ -191,17 +197,25 @@ public class McbWarningServiceImpl implements IMcbWarningService { ...@@ -191,17 +197,25 @@ public class McbWarningServiceImpl implements IMcbWarningService {
return false; return false;
}).collect(Collectors.toList()); }).collect(Collectors.toList());
List<RectificationUnitClassifyTreeDto> listDate = new ArrayList<>(); List<RectificationUnitClassifyTreeDto> listDate = new ArrayList<>();
if(!targetList.isEmpty())
{
for (RectificationUnitClassifyTreeDto t : targetList) { 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)); t.setChildren(getChild(t, targetList));
}
listDate.add(t); listDate.add(t);
break;
}
}
} }
return listDate; return listDate;
} }
private List<RectificationUnitClassifyTreeDto> getChild(RectificationUnitClassifyTreeDto dto, List<RectificationUnitClassifyTreeDto> listDto) { private List<RectificationUnitClassifyTreeDto> getChild(RectificationUnitClassifyTreeDto dto,
return (List<RectificationUnitClassifyTreeDto>)listDto.stream().filter(t -> t.getParentId().equals(dto.getSequenceNbr().toString())).peek(m -> m.setChildren(getChild(m, listDto))).collect(Collectors.toList()); 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 { ...@@ -232,12 +246,14 @@ public class McbWarningServiceImpl implements IMcbWarningService {
*/ */
@Override @Override
public Object getMapRouteInfoByCodes(String province, List<String> codes, String operator) { 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(); return result.getResult();
} }
/** /**
* 获取用户权限(此处使用projectOrgCode) * 获取用户权限(此处使用projectOrgCode)
*
* @return gatewayIds * @return gatewayIds
*/ */
private List<String> getProjectOrgCodes() { 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