Commit 25d2122a authored by ZWT's avatar ZWT

feat(零碳): 长庆演示系统新增功能

1.新建油田配置表同时生成相关代码及mapper文件,修改部分第三方数据抽取定时任务,增加针对不同井场开关控制逻辑,同时修改首页页面展示逻辑,通过油田配置功能区分不同首页展示功能;
2.新建定时任务配置表同时生成相关代码及mapper文件,定时任务模块增加mybatis配置,用以操作数据库,修改部分第三方数据抽取定时任务,修改使用方式使其脱离框架方便动态控制;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 18c1524f
......@@ -13,6 +13,11 @@ import java.math.BigDecimal;
*/
public class BusinessConstant {
/**
* 模拟登陆
*/
public static final Long LOGIN_FLAG_SIMULATE = 1000000L;
/**
* 权重数组
*/
......@@ -239,4 +244,16 @@ public class BusinessConstant {
* 发电类型
*/
public static final String GENERATION_TYPE = "generation_type";
/*------------------------------Redis------------------------------*/
/**
* 组织KEY
*/
public static final String SYS_ORGANIZATION_CACHE = "SYS_ORGANIZATION_CACHE";
/**
* 地区KEY
*/
public static final String SYS_AREA_CACHE = "SYS_AREA_CACHE";
}
package pps.core.common.constant;
/**
* 常量
*
* @author lixueyan
*/
public interface Constant {
/**
* 有子集
*/
int ISHASHCHILDREN_TRUE = 1;
/**
* 无子集
*/
int ISHASHCHILDREN_FALSE = 0;
/**
* 每页显示记录数
*/
String LIMIT = "limit";
/**
* 排序方式
*/
String ORDER = "order";
}
package pps.core.common.constant;
/**
* @author lixueyan
* @date 2023/2/17 0017 13:04
*/
public class LoginConstant {
/**
* 模拟登陆
*/
public static final Long LOGIN_FLAG_SIMULATE = 1000000L;
}
package pps.core.common.constant;
public class UserConstant {
//超级管理员
public static final Integer ISSUPERADMIN_TRUE = 1;
//普通角色
public static final Integer ISSUPERADMIN_FALSE = 0;
}
package pps.core.system.constant;
public class SysAreaCode {
//redis中组织机构树的key
public static final String SYS_AREA_CACHE = "SYS_AREA_CACHE";
}
package pps.core.system.constant;
public class SysOrganizationCode {
//redis中组织机构树的key
public static final String SYS_ORGANIZATION_CACHE = "SYS_ORGANIZATION_CACHE";
//正常
public static final Integer NORMAL = 1;
//删除
public static final Integer DELETE = 0;
}
package pps.core.system.error;
import xstartup.error.XError;
/**
* @author lixueyan
* @date 2022/7/7 0007 14:10
*/
public enum OrganizationError implements XError {
PARAM_EMPTY(1000, "参数为空错误"),
;
private int code;
private String text;
OrganizationError(int code, String text) {
this.code = code;
this.text = text;
}
@Override
public int getCode() {
return 0;
}
@Override
public String getText() {
return null;
}
}
package pps.core.system.module;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import org.apache.commons.lang3.ObjectUtils;
import org.apache.commons.lang3.StringUtils;
......@@ -41,10 +43,10 @@ public class PpsCoreSystemModule extends XModule {
SysDictionaryMapper dictionaryMapper = context.getBean(SysDictionaryMapper.class);
//初始化字典缓存
//查询所有alias不为空的
Map<String, List<SysDictionaryCache>> dictCashMap = new HashMap();
QueryWrapper<SysDictionaryEnt> queryDic = new QueryWrapper();
queryDic.lambda().isNotNull(SysDictionaryEnt::getAlias).gt(SysDictionaryEnt::getEndTime, new Date());
List<SysDictionaryEnt> sysDictionarys = dictionaryMapper.selectList(queryDic);
Map<String, List<SysDictionaryCache>> dictCashMap = new HashMap<>();
List<SysDictionaryEnt> sysDictionarys = dictionaryMapper.selectList(new LambdaQueryWrapper<SysDictionaryEnt>()
.isNotNull(SysDictionaryEnt::getAlias).gt(SysDictionaryEnt::getEndTime, DateUtil.date())
);
sysDictionarys = sysDictionarys.stream().filter(p -> !StringUtils.equals("", p.getAlias())).collect(Collectors.toList());
for (SysDictionaryEnt dictObj : sysDictionarys) {
List<SysDictionaryCache> list = new ArrayList<>();
......@@ -54,15 +56,13 @@ public class PpsCoreSystemModule extends XModule {
dictCashMap.put(dictObj.getAlias(), list);
}
//所有alias不为空的字典
List<String> dictIds = sysDictionarys.stream().map(p -> {
return p.getId();
}).distinct().collect(Collectors.toList());
List<String> dictIds = sysDictionarys.stream().map(SysDictionaryEnt::getId).distinct().collect(Collectors.toList());
int size = dictIds.size();
while (size > 0) {
//根据pid查询所有子字典项
QueryWrapper<SysDictionaryEnt> queryDicChild = new QueryWrapper();
queryDicChild.lambda().in(SysDictionaryEnt::getPid, dictIds).gt(SysDictionaryEnt::getEndTime, new Date());
List<SysDictionaryEnt> sysDictionaryChilds = dictionaryMapper.selectList(queryDicChild);
List<SysDictionaryEnt> sysDictionaryChilds = dictionaryMapper.selectList(new LambdaQueryWrapper<SysDictionaryEnt>()
.in(SysDictionaryEnt::getPid, dictIds).gt(SysDictionaryEnt::getEndTime, DateUtil.date())
);
Set<String> aliasObjs = dictCashMap.keySet();
//放入到缓存map中
for (String aliasObj : aliasObjs) {
......@@ -83,7 +83,7 @@ public class PpsCoreSystemModule extends XModule {
}
}
}
dictIds = sysDictionaryChilds.stream().map(p -> p.getId()).distinct().collect(Collectors.toList());
dictIds = sysDictionaryChilds.stream().map(SysDictionaryEnt::getId).distinct().collect(Collectors.toList());
size = dictIds.size();
}
//放入到缓存redis
......@@ -93,9 +93,7 @@ public class PpsCoreSystemModule extends XModule {
SysDictionaryCache.deleteCache(context, key);
SysDictionaryCache.set(context, key, sysDictionaryCaches);
}
XThreadHelper.async(() -> {
this.fixDicPath(context);
});
XThreadHelper.async(() -> this.fixDicPath(context));
}
......
......@@ -14,7 +14,7 @@ import pps.cloud.system.service.data.sys_organization.GetSysOrganizationViewInpu
import pps.cloud.system.service.data.sys_organization.GetSysOrganizationViewOutput;
import pps.cloud.system.service.data.user_role.GetSysUserRoleRelInput;
import pps.cloud.system.service.data.user_role.GetSysUserRoleRelOutput;
import pps.core.common.constant.UserConstant;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.session.MediaTypes;
import pps.core.common.session.PpsUserSession;
import pps.core.common.session.SysOrganization;
......@@ -40,7 +40,7 @@ import xstartup.data.XSingleResult;
import java.util.*;
import java.util.stream.Collectors;
import static pps.core.common.constant.LoginConstant.LOGIN_FLAG_SIMULATE;
import static pps.core.common.constant.BusinessConstant.LOGIN_FLAG_SIMULATE;
@XImplement
public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider {
......@@ -201,7 +201,7 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
}
}
session.setIsSuperAdmin(UserConstant.ISSUPERADMIN_FALSE);
session.setIsSuperAdmin(BusinessConstant.ZERO);
session.setEnv(context.getEnv().getText());
SystemUserRoleRelService roleRelService = context.getBean(SystemUserRoleRelService.class);
......@@ -215,7 +215,7 @@ public class PpsUserSessionInjectProviderImpl implements XSessionInjectProvider
if (StringUtils.isNotBlank(value)) {
String role = roleList.stream().filter(x -> value.contains(x)).findFirst().orElse(null);
if (role != null) {
session.setIsSuperAdmin(UserConstant.ISSUPERADMIN_TRUE);
session.setIsSuperAdmin(BusinessConstant.ONE);
}
}
......
......@@ -6,7 +6,7 @@ import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import pps.core.common.constant.LoginConstant;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.VerificationCode;
import pps.core.system.cache.LoginVerCodeCache;
......@@ -123,7 +123,7 @@ public class LoginService {
Integer expiresIn = XConfManager.getConf(XApiCookieConf.class).getExpires();
XSingleResult<XToken> saveUserResult = XTokenHelper.saveUser(context,
XUser.createUser(XUser.ENTRY_API,
LoginConstant.LOGIN_FLAG_SIMULATE,
BusinessConstant.LOGIN_FLAG_SIMULATE,
new Long[]{1L, 1L},
IdWorker.getId(),
sysUserEnt.getId(),
......
......@@ -5,8 +5,8 @@ import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.util.CollectionUtils;
import pps.core.common.constant.BusinessConstant;
import pps.core.system.cache.SysAreaCache;
import pps.core.system.constant.SysAreaCode;
import pps.core.system.entity.SysAreaEnt;
import pps.core.system.entity.SysAreaView;
import pps.core.system.mapper.SysAreaMapper;
......@@ -37,7 +37,7 @@ public class SysAreaService {
@XApiPost
public XListResult<GetSysAreaViewOutputTree> getSysAreaTree(XContext context, GetSysAreaInput input) {
//先从缓存中获取
List<SysAreaCache> sysAreaCaches = SysAreaCache.list(context, SysAreaCode.SYS_AREA_CACHE);
List<SysAreaCache> sysAreaCaches = SysAreaCache.list(context, BusinessConstant.SYS_AREA_CACHE);
if (ObjectUtils.isNotEmpty(input.getLev()) && input.getLev() == 1) {
List<SysAreaCache> items = new ArrayList<>();
for (SysAreaCache ent : sysAreaCaches) {
......@@ -89,7 +89,7 @@ public class SysAreaService {
}
List<SysAreaCache> caches = XCopyUtils.copyNewList(trees, SysAreaCache.class);
//放入redis缓存中
SysAreaCache.set(context, SysAreaCode.SYS_AREA_CACHE, caches);
SysAreaCache.set(context, BusinessConstant.SYS_AREA_CACHE, caches);
return caches;
}
......
......@@ -7,7 +7,7 @@ import org.springframework.util.CollectionUtils;
import pps.cloud.system.service.SystemDictionaryService;
import pps.cloud.system.service.data.sys_dictionary.CreateSysDictionaryInput;
import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewOutput;
import pps.core.common.constant.UserConstant;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.TreeUtils;
import pps.core.system.entity.SysMenuEnt;
......@@ -51,7 +51,7 @@ public class SysMenuService {
Integer isSuperAdmin = session.getIsSuperAdmin();
List<SysMenuView> viewList;
//普通角色且用户所属ou和查看的角色所属ou一样时返回当前用户可操作的菜单
if (UserConstant.ISSUPERADMIN_FALSE.equals(isSuperAdmin) && session.getOuId().equals(input.getOuId())) {
if (BusinessConstant.ZERO.equals(isSuperAdmin) && session.getOuId().equals(input.getOuId())) {
record.setUserId(session.getId());
viewList = mapper.selectSysMenuListByUserId(record);
} else {
......
......@@ -6,7 +6,7 @@ import com.github.pagehelper.PageInfo;
import pps.cloud.system.service.SystemDictionaryService;
import pps.cloud.system.service.data.sys_dictionary.CreateSysDictionaryInput;
import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewOutput;
import pps.core.common.constant.UserConstant;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.session.PpsUserSession;
import pps.core.system.entity.SysOrganizationPropertyEnt;
import pps.core.system.entity.SysOrganizationPropertyView;
......@@ -49,7 +49,7 @@ public class SysOrganizationPropertyService {
List<QuerySysDictionaryViewOutput> mediaTypesResult = mediaTypes.getResult();
if (XStringUtils.isEmpty(input.getOuId())) {
PpsUserSession session = context.getSession(PpsUserSession.class);
if (UserConstant.ISSUPERADMIN_FALSE.equals(session.getIsSuperAdmin())) {
if (BusinessConstant.ZERO.equals(session.getIsSuperAdmin())) {
queryWrapper.lambda().eq(SysOrganizationPropertyEnt::getOuId, session.getOuId())
.le(true, SysOrganizationPropertyEnt::getEffectTime, date)
.ge(true, SysOrganizationPropertyEnt::getEndTime, date);
......
......@@ -8,7 +8,7 @@ import org.springframework.util.CollectionUtils;
import pps.cloud.system.service.SystemDictionaryService;
import pps.cloud.system.service.data.sys_dictionary.CreateSysDictionaryInput;
import pps.cloud.system.service.data.sys_dictionary.QuerySysDictionaryViewOutput;
import pps.core.common.constant.UserConstant;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.session.PpsUserSession;
import pps.core.system.config.LoginConfig;
import pps.core.system.entity.*;
......@@ -44,7 +44,7 @@ public class SysRoleService {
List<String> mediaTypeList = new ArrayList<>();
PpsUserSession session = context.getSession(PpsUserSession.class);
//如果不是超级管理员只查询当前用户的组织机构下的角色以及上级可继承的角色
if (UserConstant.ISSUPERADMIN_FALSE.equals(session.getIsSuperAdmin())) {
if (BusinessConstant.ZERO.equals(session.getIsSuperAdmin())) {
if (XStringUtils.isEmpty(input.getOuId())) {
record.setOuId(session.getOuId());
input.setOuId(session.getOuId());
......@@ -91,7 +91,7 @@ public class SysRoleService {
if (XStringUtils.isNotEmpty(input.getMediaType())) {
record.setMediaType(input.getMediaType());
} else {
if (UserConstant.ISSUPERADMIN_FALSE.equals(session.getIsSuperAdmin())) {
if (BusinessConstant.ZERO.equals(session.getIsSuperAdmin())) {
if (!CollectionUtils.isEmpty(mediaTypeList)) {
record.setMediaTypes(mediaTypeList);
}
......
......@@ -4,9 +4,8 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.springframework.util.CollectionUtils;
import pps.core.common.constant.UserConstant;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.session.PpsUserSession;
import pps.core.system.constant.SysOrganizationCode;
import pps.core.system.entity.SysOrganizationView;
import pps.core.system.entity.SysUserRoleRelEnt;
import pps.core.system.entity.SysUserRoleRelView;
......@@ -153,12 +152,12 @@ public class SysUserRoleRelService {
List<QuerySysUserRoleRelViewOutput> outputs = XCopyUtils.copyNewList(pageInfo.getList(), QuerySysUserRoleRelViewOutput.class);
return XPageResult.success(outputs, input, pageInfo.getTotal());
}
if (UserConstant.ISSUPERADMIN_FALSE.equals(isSuperAdmin)) {
if (BusinessConstant.ZERO.equals(isSuperAdmin)) {
//查询当前用户所属组织机构的子级
SysOrganizationViewMapper sysOrganizationViewMapper = context.getBean(SysOrganizationViewMapper.class);
SysOrganizationView sysOrganizationView = new SysOrganizationView();
sysOrganizationView.setEndTime(new Date());
sysOrganizationView.setIsDeleted(SysOrganizationCode.NORMAL);
sysOrganizationView.setIsDeleted(BusinessConstant.ONE);
sysOrganizationView.setParentOuId(session.getOuId());
List<SysOrganizationView> viewList = sysOrganizationViewMapper.selectOuSonByParentOuId(sysOrganizationView);
List<String> ouIds = new ArrayList<>();
......
......@@ -6,9 +6,8 @@ import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.apache.logging.log4j.util.Strings;
import org.springframework.util.CollectionUtils;
import pps.core.common.constant.UserConstant;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.session.PpsUserSession;
import pps.core.system.constant.SysOrganizationCode;
import pps.core.system.entity.*;
import pps.core.system.mapper.*;
import pps.core.system.service.data.sys_user.*;
......@@ -47,7 +46,7 @@ public class SysUserService {
List<SysUserView> list;
record.setEndTime(new Date());
PpsUserSession session = context.getSession(PpsUserSession.class);
if (UserConstant.ISSUPERADMIN_FALSE.equals(session.getIsSuperAdmin())) {
if (BusinessConstant.ZERO.equals(session.getIsSuperAdmin())) {
if (XStringUtils.isEmpty(input.getOuId())) {
record.setOuId(session.getOuId());
}
......@@ -309,7 +308,7 @@ public class SysUserService {
SysOrganizationViewMapper organizationViewMapper = context.getBean(SysOrganizationViewMapper.class);
SysOrganizationView sysOrganizationView = new SysOrganizationView();
sysOrganizationView.setEndTime(new Date());
sysOrganizationView.setIsDeleted(SysOrganizationCode.NORMAL);
sysOrganizationView.setIsDeleted(BusinessConstant.ONE);
PpsUserSession session = context.getSession(PpsUserSession.class);
List<SysOrganizationView> viewList;
if (input.getShowAll() == null || !input.getShowAll()) {
......
......@@ -28,11 +28,9 @@ import pps.core.base.mapper.BasePowerLinePlantMapper;
import pps.core.base.service.data.base_photovoltaic_plant.*;
import pps.core.base.utils.ServiceUtil;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.constant.UserConstant;
import pps.core.common.entity.BaseModel;
import pps.core.common.session.PpsUserSession;
import pps.core.common.utils.BaseUtils;
import pps.core.system.constant.SysOrganizationCode;
import pps.core.system.entity.SysOrganizationView;
import pps.core.system.mapper.SysOrganizationViewMapper;
import xstartup.annotation.XService;
......@@ -281,7 +279,7 @@ public class BasePhotovoltaicPlantService {
public XListResult<GetSysOrganizationAndPlantViewOutput> selectOuAndPhotovoltaicPlantInfoByParentOuId(XContext context, GetSysOrganizationAndPlantInput input) {
SysOrganizationView record = new SysOrganizationView();
XCopyUtils.copyObject(input, record);
record.setIsDeleted(SysOrganizationCode.NORMAL);
record.setIsDeleted(BusinessConstant.ONE);
List<SysOrganizationView> viewList = null;
String ouId = "00000000-0000-0000-0000-000000000000";
String ouName = input.getOuName();
......@@ -291,7 +289,7 @@ public class BasePhotovoltaicPlantService {
PpsUserSession session = context.getSession(PpsUserSession.class);
Integer isSuperAdmin = session.getIsSuperAdmin();
//如果是超级管理员查所以组织机构
if (UserConstant.ISSUPERADMIN_TRUE.equals(isSuperAdmin)) {
if (BusinessConstant.ONE.equals(isSuperAdmin)) {
record.setParentOuId("00000000-0000-0000-0000-000000000000");
viewList = mapper.selectOuSonByParentOuId(record);
} 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