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