Commit ee123c71 authored by ZWT's avatar ZWT

feat(吉林演示): 松原

1.修改系统首页大屏总览接口,增加区分组织机构逻辑,完成接口冒烟测试;
2.修改系统首页获取井场列表接口,增加区分组织机构逻辑,完成接口冒烟测试;
3.修改系统首页井场功能下钻后提示报错问题,修改用电功率数据获取逻辑,修复报错问题;
4.修改输电线路分页列表查询接口,增加查询条件,在查询父线路列表时只查询10千伏线路,修改线上接口文档同时完成接口冒烟测试;
5.修改系统首页井场实时监控接口,增加区分组织机构逻辑,完成接口冒烟测试;
6.修改系统首页用能分析接口,增加区分组织机构逻辑,完成接口冒烟测试;
7.修改系统首页井场用能分析(双坐标轴)接口,增加区分组织机构逻辑,完成接口冒烟测试;
8.修改系统首页累积用电接口,增加区分组织机构逻辑,完成接口冒烟测试;
9.修改系统首页光伏实时监控接口,增加区分组织机构逻辑,完成接口冒烟测试;
10.修改系统首页井场效果评价接口,增加区分组织机构逻辑,完成接口冒烟测试;
11.修改系统首页先导实验井间开制度接口,增加区分组织机构逻辑,完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 7765eff1
package pps.core.system.provider.impl;
import cn.hutool.core.util.ObjectUtil;
import pps.core.system.cache.RolePermissionCache;
import xstartup.annotation.XImplement;
import xstartup.base.XContext;
......@@ -14,7 +15,7 @@ import xstartup.error.XError;
public class PpsPermissionProviderImpl implements XPermissionProvider {
@Override
public XServiceResult checkPermission(XContext context, XActionDefine actionDefine, XUser user) {
if (actionDefine.getPermission() == null) {
if (ObjectUtil.isNull(actionDefine.getPermission())) {
context.getLogger().debug("permission none,result ok");
return XServiceResult.OK;
}
......
......@@ -2,8 +2,8 @@ package pps.core.system.provider.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.google.common.base.Splitter;
import pps.cloud.system.service.SysOrganizationCloudService;
import pps.cloud.system.service.SystemDictionaryService;
import pps.cloud.system.service.SystemUserRoleRelService;
......@@ -31,7 +31,6 @@ import xstartup.annotation.XImplement;
import xstartup.base.XContext;
import xstartup.base.XUser;
import xstartup.base.util.XCopyUtils;
import xstartup.base.util.XStringUtils;
import xstartup.core.base.provider.spec.XSessionInjectProvider;
import xstartup.data.XListResult;
import xstartup.data.XSingleResult;
......@@ -47,12 +46,11 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
public XSingleResult<Object> injectSession(XContext context, XUser user) {
context.log().info("inject session, userCode:{}", user.getCode());
SysUserMapper mapper = context.getBean(SysUserMapper.class);
QueryWrapper<SysUserEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(SysUserEnt::getId, user.getCode());
SysUserEnt sysUserEnt = mapper.selectOne(queryWrapper);
SysUserEnt sysUserEnt = mapper.selectOne(new QueryWrapper<SysUserEnt>()
.lambda()
.eq(SysUserEnt::getId, user.getCode()));
PpsUserSession session = new PpsUserSession();
XCopyUtils.copyObject(sysUserEnt, session);
//获取页面授权信息
SysAuthOuScopeViewMapper scopeViewMapper = context.getBean(SysAuthOuScopeViewMapper.class);
SysAuthOuScopeView view = new SysAuthOuScopeView();
......@@ -60,14 +58,12 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
List<SysAuthOuScopeView> sysAuthOuScopeViews = scopeViewMapper.selectList(view);
Map<String, List<SysAuthOuScopeView>> collect = sysAuthOuScopeViews.stream().collect(Collectors.groupingBy(SysAuthOuScopeView::getMenuId));
Iterator<Map.Entry<String, List<SysAuthOuScopeView>>> iterator = collect.entrySet().iterator();
Map<String, List<SysOrganization>> pageOrgMap = new HashMap<>();
while (iterator.hasNext()) {
Map.Entry<String, List<SysAuthOuScopeView>> next = iterator.next();
pageOrgMap.put(next.getKey(), XCopyUtils.copyNewList(next.getValue(), SysOrganization.class));
}
session.setPageOrgMap(pageOrgMap);
GetSysOrganizationViewInput input = new GetSysOrganizationViewInput();
input.setUserId(session.getId());
XSingleResult<GetSysOrganizationViewOutput> orgInfo = context.getBean(SysOrganizationCloudService.class).getOuByUserId(context, input);
......@@ -78,7 +74,7 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
session.setOuLevel(orgInfo.getResult().getOuLevel());
// 2022-09-29 15:14:47, 查询用户所属的非机关组织机构
GetSysOrganizationViewOutput ownerOrg = findOwnerOrg(context, orgInfo.getResult());
if (ownerOrg != null) {
if (ObjectUtil.isNotNull(ownerOrg)) {
session.setOwnerOrgId(ownerOrg.getOuId());
if (CharSequenceUtil.isBlank(ownerOrg.getOuId())) {
session.setOwnerOrgId(ownerOrg.getId());
......@@ -89,28 +85,27 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
if (CharSequenceUtil.isBlank(ownerOrg.getOuPath())) {
//路径为空 查询
SysOrganizationRelMapper bean = context.getBean(SysOrganizationRelMapper.class);
QueryWrapper<SysOrganizationRelEnt> qw = new QueryWrapper<>();
qw.lambda().eq(SysOrganizationRelEnt::getOuId, session.getOwnerOrgId());
qw.lambda().le(SysOrganizationRelEnt::getEffectTime, new Date());
qw.lambda().ge(SysOrganizationRelEnt::getEndTime, new Date());
List<SysOrganizationRelEnt> sysOrganizationRelEnts = bean.selectList(qw);
List<SysOrganizationRelEnt> sysOrganizationRelEnts = bean.selectList(new QueryWrapper<SysOrganizationRelEnt>()
.lambda()
.eq(SysOrganizationRelEnt::getOuId, session.getOwnerOrgId())
.le(SysOrganizationRelEnt::getEffectTime, new Date())
.ge(SysOrganizationRelEnt::getEndTime, new Date()));
if (!sysOrganizationRelEnts.isEmpty()) {
session.setOwnerOrgPath(sysOrganizationRelEnts.get(0).getOuIdPath());
}
}
}
//获取当前用户所属组织机构的介质类型和当前用户授权的组织机构(最终获取组织机构的介质类型)
if (XStringUtils.isNotEmpty(session.getId())) {
if (CharSequenceUtil.isNotBlank(session.getId())) {
SysAuthOuScopeView scopeView = new SysAuthOuScopeView();
scopeView.setUserId(session.getId());
scopeView.setEndTime(new Date());
SysAuthOuScopeView mediaTypesView = scopeViewMapper.selectOuMediaTypeByUserId(scopeView);
Set<String> set = new HashSet<>();
if (mediaTypesView != null) {
if (ObjectUtil.isNotNull(mediaTypesView)) {
String mediaType = mediaTypesView.getMediaType();
if (XStringUtils.isNotEmpty(mediaType)) {
String[] split = mediaType.split(",");
set.addAll(Arrays.asList(split));
if (CharSequenceUtil.isNotBlank(mediaType)) {
set.addAll(CharSequenceUtil.split(mediaType, ','));
}
}
if (CollUtil.isNotEmpty(set)) {
......@@ -118,8 +113,6 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
CreateSysDictionaryInput mediaTypesInput = new CreateSysDictionaryInput();
mediaTypesInput.setAlias("MEDIUM_TYPE");
XListResult<QuerySysDictionaryViewOutput> mediaTypes = dictService.querySysDictionarysByAlias(context, mediaTypesInput);
List<String> menuMediaTypes = new ArrayList<>();
//通过用户角色加载当前用户可操作的介质类型
//获取当前用户所属角色绑定菜单的介质类型(最终获取菜单的介质类型)
......@@ -136,17 +129,16 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
if (!menuMediaTypes.contains("ALL")) {
set = set.stream().filter(menuMediaTypes::contains).collect(Collectors.toSet());
}
List<MediaTypes> list = new ArrayList<>();
for (String media : set) {
if ("ALL".equals(media)) {
if (CharSequenceUtil.equals("ALL", media)) {
list.clear();
for (QuerySysDictionaryViewOutput dict : mediaTypes.getResult()) {
if (!dict.getDicKey().equals("ALL")) {
if (!CharSequenceUtil.equals(dict.getDicKey(), "ALL")) {
MediaTypes mediaType = new MediaTypes();
mediaType.setMediaTypeCode(dict.getDicKey());
mediaType.setMediaTypeName(dict.getDicName());
if (dict.getSort() == null) {
if (ObjectUtil.isNull(dict.getSort())) {
mediaType.setSort(999);
} else {
mediaType.setSort(dict.getSort());
......@@ -157,11 +149,11 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
break;
} else {
for (QuerySysDictionaryViewOutput dict : mediaTypes.getResult()) {
if (dict.getDicKey().equals(media)) {
if (CharSequenceUtil.equals(dict.getDicKey(), media)) {
MediaTypes mediaType = new MediaTypes();
mediaType.setMediaTypeCode(media);
mediaType.setMediaTypeName(dict.getDicName());
if (dict.getSort() == null) {
if (ObjectUtil.isNull(dict.getSort())) {
mediaType.setSort(999);
} else {
mediaType.setSort(dict.getSort());
......@@ -172,14 +164,11 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
}
}
}
list = list.stream().sorted(Comparator.comparing(MediaTypes::getSort)).collect(Collectors.toList());
list.sort(Comparator.comparing(MediaTypes::getSort));
list = list.stream().distinct().collect(Collectors.toList());
session.setMediaTypes(list);
}
}
if (user.getOrgId().equals(LOGIN_FLAG_SIMULATE)) {
session.setDevops(1);
} else {
......@@ -195,10 +184,8 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
roleList.stream().filter(value::contains).findFirst().ifPresent(role -> session.setDevops(1));
}
}
session.setIsSuperAdmin(BusinessConstant.ZERO);
session.setEnv(context.getEnv().getText());
SystemUserRoleRelService roleRelService = context.getBean(SystemUserRoleRelService.class);
GetSysUserRoleRelInput roleRelInput = new GetSysUserRoleRelInput();
roleRelInput.setUserId(session.getId());
......@@ -206,21 +193,18 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
roleRelResult.throwIfFail();
List<String> roleList = roleRelResult.getResult().stream().map(GetSysUserRoleRelOutput::getRoleId).collect(Collectors.toList());
String value = LoginConfig.adminRoles.findValue(context);
if (CharSequenceUtil.isNotBlank(value)) {
roleList.stream().filter(value::contains).findFirst().ifPresent(role -> session.setIsSuperAdmin(BusinessConstant.ONE));
}
return XSingleResult.success(session);
}
// 查找所属机构
private GetSysOrganizationViewOutput findOwnerOrg(XContext context, GetSysOrganizationViewOutput org) {
if (OuLevelConstant.JI_GUAN_CHU_SHI.getCode().equals(org.getOuLevel()) ||
OuLevelConstant.JI_GUAN_KE_SHI.getCode().equals(org.getOuLevel())) {
if (CharSequenceUtil.equals(OuLevelConstant.JI_GUAN_CHU_SHI.getCode(), org.getOuLevel()) ||
CharSequenceUtil.equals(OuLevelConstant.JI_GUAN_KE_SHI.getCode(), org.getOuLevel())) {
//查找上级机构
List<String> idPathList = Splitter.on('/').splitToList(org.getOuPath());
List<String> idPathList = CharSequenceUtil.split(org.getOuPath(), '/');
if (idPathList.size() <= 1) {
return null;
} else {
......
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