Commit 0800647b authored by ZWT's avatar ZWT

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

1.修改第三方日累计数据推送表表结构,增加日累计储能放电量字段,同时修改代码对应实体及mapper文件,修改相关接口增加储能日累计放电量接收逻辑;
2.修改首页井场收益分析模块接口,修改获取储能累计放电量逻辑;
3.设计并创建井口日用电趋势表,生成对应实体类及mapper文件;
4.统计分析模块,新增本月累计节电经济效益查询接口,添加线上接口文档并完成接口冒烟测试;
5.统计分析模块,新增本月累计减碳量查询接口,添加线上接口文档并完成接口冒烟测试;
6.统计分析模块,新增光伏发电趋势查询接口,添加线上接口文档并完成接口冒烟测试;
7.统计分析模块,新增月度总览查询接口,添加线上接口文档并完成接口冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 623f812d
package pps.core.system.service;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.text.CharSequenceUtil;
import cn.hutool.core.util.ObjectUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
......@@ -46,10 +47,6 @@ import java.util.Date;
import java.util.Map;
import java.util.UUID;
import static pps.core.common.constant.LoginConstant.LOGIN_FLAG_SIMULATE;
import static pps.core.system.error.LoginError.NotExistUserName;
import static pps.core.system.error.LoginError.Trade_IpWhiteError;
@XService
public class LoginService {
......@@ -63,18 +60,20 @@ public class LoginService {
checkCode(context, input.getCode(), input.getCodeIden());
XSingleResult<SysUserEnt> sysUserResult = checkAccount(context, input.getLoginName(), input.getPassword());
SysUserEnt sysUserEnt = sysUserResult.getResult();
if (sysUserEnt.getStatus() != null && sysUserEnt.getStatus() == 1)
if (ObjectUtil.isNotNull(sysUserEnt.getStatus()) && sysUserEnt.getStatus().equals(1)) {
return XSingleResult.error(context, LoginError.ISLOCKED);
if (sysUserEnt.getIsOuter() != null && sysUserEnt.getIsOuter() != 1)
}
if (ObjectUtil.isNotNull(sysUserEnt.getIsOuter()) && !sysUserEnt.getIsOuter().equals(1)) {
return XSingleResult.error(context, LoginError.ISOUT);
Date now = new Date();
}
Date now = DateUtil.date();
SysUserOrganizationRelMapper relMapper = context.getBean(SysUserOrganizationRelMapper.class);
QueryWrapper<SysUserOrganizationRelEnt> relQueryWrapper = new QueryWrapper<>();
relQueryWrapper.lambda().eq(SysUserOrganizationRelEnt::getUserId, sysUserEnt.getId());
relQueryWrapper.lambda().le(SysUserOrganizationRelEnt::getEffectTime, now);
relQueryWrapper.lambda().gt(SysUserOrganizationRelEnt::getEndTime, now);
SysUserOrganizationRelEnt sysUserOrganizationRelEnt = relMapper.selectOne(relQueryWrapper);
if (sysUserOrganizationRelEnt == null) {
SysUserOrganizationRelEnt sysUserOrganizationRelEnt = relMapper.selectOne(new LambdaQueryWrapper<SysUserOrganizationRelEnt>()
.eq(SysUserOrganizationRelEnt::getUserId, sysUserEnt.getId())
.le(SysUserOrganizationRelEnt::getEffectTime, now)
.gt(SysUserOrganizationRelEnt::getEndTime, now)
);
if (ObjectUtil.isNull(sysUserOrganizationRelEnt)) {
context.getLogger().warn("用户未挂靠组织");
sysUserOrganizationRelEnt = new SysUserOrganizationRelEnt();
sysUserOrganizationRelEnt.setOuId("1");
......@@ -113,8 +112,9 @@ public class LoginService {
@XText("忘记密码")
@XApiPost(anonymous = true)
public XSingleResult<ForgetPwdOutput> forgetPwd(XContext context, ForgetPwdInput input) {
if (XStringUtils.isNotEmpty(input.getCode()))
if (XStringUtils.isNotEmpty(input.getCode())) {
checkCode(context, input.getCode(), input.getCodeIden());
}
Long count = getForgetErrorTimes(context);
if (count >= 5) {
return XSingleResult.error(500, "查询失败超过5次");
......@@ -152,38 +152,37 @@ public class LoginService {
* @param input 输入
* @return {@link XSingleResult}<{@link LoginBySimulateOutput}>
*/
@XText("模拟用户登陆")
@XApiGet(anonymous = true)
public XSingleResult<LoginBySimulateOutput> thirdToken(XContext context, LoginBySimulateInput input) {
if (!CharSequenceUtil.equals(input.getAuthKey(), "66b500fcaff049dca77f66733d9bb172")) {
return XSingleResult.error(context, Trade_IpWhiteError);
}
SysUserMapper mapper = context.getBean(SysUserMapper.class);
SysUserEnt sysUserEnt = mapper.selectOne(
new LambdaQueryWrapper<SysUserEnt>()
.eq(SysUserEnt::getLoginName, "cqyanshi")
);
if (ObjectUtil.isNull(sysUserEnt)) {
return XSingleResult.error(context, NotExistUserName);
}
Integer expiresIn = XConfManager.getConf(XApiCookieConf.class).getExpires();
XSingleResult<XToken> saveUserResult = XTokenHelper.saveUser(context,
XUser.createUser(XUser.ENTRY_API,
LOGIN_FLAG_SIMULATE,
new Long[]{1L, 1L},
IdWorker.getId(),
sysUserEnt.getId(),
"cqyanshi",
sysUserEnt.getUserName(),
new XSsoAuth(XUuidUtils.randomUUID(), null, null))
, expiresIn);
saveUserResult.throwIfFail();
return XSingleResult.success(LoginBySimulateOutput.builder()
.expiresIn(expiresIn)
.token(saveUserResult.getResult().getToken())
.build());
}
// @XText("模拟用户登陆")
// @XApiGet(anonymous = true)
// public XSingleResult<LoginBySimulateOutput> thirdToken(XContext context, LoginBySimulateInput input) {
// if (!CharSequenceUtil.equals(input.getAuthKey(), "66b500fcaff049dca77f66733d9bb172")) {
// return XSingleResult.error(context, Trade_IpWhiteError);
// }
// SysUserMapper mapper = context.getBean(SysUserMapper.class);
// SysUserEnt sysUserEnt = mapper.selectOne(
// new LambdaQueryWrapper<SysUserEnt>()
// .eq(SysUserEnt::getLoginName, "cqyanshi")
// );
// if (ObjectUtil.isNull(sysUserEnt)) {
// return XSingleResult.error(context, NotExistUserName);
// }
// Integer expiresIn = XConfManager.getConf(XApiCookieConf.class).getExpires();
// XSingleResult<XToken> saveUserResult = XTokenHelper.saveUser(context,
// XUser.createUser(XUser.ENTRY_API,
// LOGIN_FLAG_SIMULATE,
// new Long[]{1L, 1L},
// IdWorker.getId(),
// sysUserEnt.getId(),
// "cqyanshi",
// sysUserEnt.getUserName(),
// new XSsoAuth(XUuidUtils.randomUUID(), null, null))
// , expiresIn);
// saveUserResult.throwIfFail();
// return XSingleResult.success(LoginBySimulateOutput.builder()
// .expiresIn(expiresIn)
// .token(saveUserResult.getResult().getToken())
// .build());
// }
@XText("退出")
@XApiPost
public XServiceResult logout(XContext context) {
......@@ -212,14 +211,14 @@ public class LoginService {
QueryWrapper<SysUserEnt> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(SysUserEnt::getLoginName, loginName);
SysUserEnt sysUserEnt = mapper.selectOne(queryWrapper);
if (sysUserEnt == null) {
if (ObjectUtil.isNull(sysUserEnt)) {
insertError(context, loginName);
Long count = getErrorTimes(context, loginName, sysUserEnt);
throw new XServiceException(1000, "用户名或密码错误,还剩" + (5 - count) + "次机会");
}
if (StringUtils.isNotBlank(password)) {
if (CharSequenceUtil.isNotBlank(password)) {
String decrypt = sysUserEnt.getPassword();
if (!password.equals(decrypt)) {
if (!CharSequenceUtil.equals(password, decrypt)) {
insertError(context, loginName);
Long count = getErrorTimes(context, loginName, sysUserEnt);
throw new XServiceException(1000, "用户名或密码错误,还剩" + (5 - count) + "次机会");
......
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