Compare commits

..

2 Commits

Author SHA1 Message Date
6d3be4fbc5 寄点定时任务修改 2026-04-09 10:21:03 +08:00
08a2258b07 统一登录接口 2026-04-09 10:20:03 +08:00
4 changed files with 84 additions and 1 deletions

View File

@ -261,20 +261,23 @@ public class ShipEnergyService {
String stations = getStations(); String stations = getStations();
JSONArray jsonStation = JSON.parseArray(stations); JSONArray jsonStation = JSON.parseArray(stations);
String finalBeginTime = beginTime; String finalBeginTime = beginTime;
log.info("传入参数-统计时间:{}",beginTime);
jsonStation.forEach(i->{ jsonStation.forEach(i->{
JSONObject jsonObj = (JSONObject) i; JSONObject jsonObj = (JSONObject) i;
Integer stationId = jsonObj.getInteger("stationId"); Integer stationId = jsonObj.getInteger("stationId");
String incomeHis = getIncomeHis(stationId, finalBeginTime); String incomeHis = getIncomeHis(stationId, finalBeginTime);
JSONArray incomes = JSON.parseArray(incomeHis); JSONArray incomes = JSON.parseArray(incomeHis);
log.info("远程查询-历史收益数据:{}",incomes);
incomes.forEach(j->{ incomes.forEach(j->{
JSONObject income = (JSONObject) j; JSONObject income = (JSONObject) j;
String date=income.getString("date"); String date = income.getString("date");
String price = income.getString("price"); String price = income.getString("price");
JsonObject jsonPrice = JsonParser.parseString(price).getAsJsonObject(); JsonObject jsonPrice = JsonParser.parseString(price).getAsJsonObject();
List<EarningsCalculate> list = new ArrayList<>(); List<EarningsCalculate> list = new ArrayList<>();
List<ElecMeterValue> elecList = new ArrayList<>(); List<ElecMeterValue> elecList = new ArrayList<>();
BigDecimal inTotalIncome = BigDecimal.ZERO; BigDecimal inTotalIncome = BigDecimal.ZERO;
BigDecimal outTotalIncome = BigDecimal.ZERO; BigDecimal outTotalIncome = BigDecimal.ZERO;
log.info("远程查询-统计日期:{}",date);
if(finalBeginTime.equals(date)){ if(finalBeginTime.equals(date)){
//收益-充-尖 //收益-充-尖
EarningsCalculate inSharp = new EarningsCalculate(); EarningsCalculate inSharp = new EarningsCalculate();

View File

@ -0,0 +1,19 @@
package com.ho.user.api.vo.req;
import com.ho.common.tools.entity.UserDetailRespVO;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* 用户统一登陆
*/
@Data
public class UserUnifiedLoginVo {
@ApiModelProperty(value = "储能登陆")
private UserDetailRespVO energy;
@ApiModelProperty(value = "光伏登陆")
private UserDetailRespVO pv;
}

View File

@ -73,6 +73,7 @@ public class ShiroConfig {
// 配置不会被拦截的链接 顺序判断 // 配置不会被拦截的链接 顺序判断
filterChainDefinitionMap.put("/sys/user/login", "anon"); filterChainDefinitionMap.put("/sys/user/login", "anon");
filterChainDefinitionMap.put("/sys/user/getToken", "anon"); filterChainDefinitionMap.put("/sys/user/getToken", "anon");
filterChainDefinitionMap.put("/sys/user/getUnifiedLogin", "anon");
filterChainDefinitionMap.put("/sys/user/register", "anon"); filterChainDefinitionMap.put("/sys/user/register", "anon");
filterChainDefinitionMap.put("/sys/key/decrypt", "anon"); filterChainDefinitionMap.put("/sys/key/decrypt", "anon");
filterChainDefinitionMap.put("/mongoId", "anon"); filterChainDefinitionMap.put("/mongoId", "anon");

View File

@ -2,6 +2,10 @@ package com.ho.user.controller;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import cn.hutool.crypto.digest.BCrypt; import cn.hutool.crypto.digest.BCrypt;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.ho.business.vo.resp.ShipStationRespVO;
import com.ho.common.tools.annotation.HzPermission; import com.ho.common.tools.annotation.HzPermission;
import com.ho.common.tools.annotation.LogAnnotation; import com.ho.common.tools.annotation.LogAnnotation;
import com.ho.common.tools.annotation.TokenIgnore; import com.ho.common.tools.annotation.TokenIgnore;
@ -18,9 +22,11 @@ import com.ho.common.tools.exception.DataResult;
import com.ho.common.tools.service.RedisService; import com.ho.common.tools.service.RedisService;
import com.ho.common.tools.util.AESEncryptUtil; import com.ho.common.tools.util.AESEncryptUtil;
import com.ho.common.tools.util.FastUtils; import com.ho.common.tools.util.FastUtils;
import com.ho.common.tools.util.HttpUtils;
import com.ho.user.api.entity.SysDept; import com.ho.user.api.entity.SysDept;
import com.ho.user.api.entity.SysUser; import com.ho.user.api.entity.SysUser;
import com.ho.user.api.entity.WorkOrderUser; import com.ho.user.api.entity.WorkOrderUser;
import com.ho.user.api.vo.req.UserUnifiedLoginVo;
import com.ho.user.entity.SysTheme; import com.ho.user.entity.SysTheme;
import com.ho.user.service.*; import com.ho.user.service.*;
import com.ho.user.vo.req.*; import com.ho.user.vo.req.*;
@ -543,4 +549,58 @@ public class UserController {
return DataResult.success(); return DataResult.success();
} }
@PostMapping(value = "getUnifiedLogin")
@ApiOperation(value = "用户统一登录接口")
@TokenIgnore
public DataResult<UserUnifiedLoginVo> getUnifiedLogin(@RequestBody @Valid LoginReqVO loginReqVO) {
UserUnifiedLoginVo unifiedLoginVo = new UserUnifiedLoginVo();
ObjectMapper mapper = new ObjectMapper();
try {
//储能登陆
String enUrl = "http://localhost:8012/api/sys/user/login";
String enJson = HttpUtils.postWithJson(enUrl,mapper.writeValueAsString(loginReqVO));
JSONObject en = JSONObject.parseObject(enJson);
Integer codeEn = en.getInteger("code");
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(codeEn)){
String enString = en.getString("data");
UserDetailRespVO enVo = JSON.parseObject(enString,UserDetailRespVO.class);
unifiedLoginVo.setEnergy(enVo);
}
//光伏登陆
String pvUrl = "http://1.95.112.231:18012/api/sys/user/login";
String pvJson = HttpUtils.postWithJson(pvUrl,mapper.writeValueAsString(loginReqVO));
JSONObject pv = JSONObject.parseObject(pvJson);
Integer codePv = pv.getInteger("code");
if(CommonConstant.HttpCode.SUCCESS_CODE.equals(codePv)){
String pvString = pv.getString("data");
UserDetailRespVO pvVo = JSON.parseObject(pvString,UserDetailRespVO.class);
unifiedLoginVo.setPv(pvVo);
}
if(unifiedLoginVo.getEnergy()==null && unifiedLoginVo.getPv()==null){
if(BaseResponseCode.NOT_ACCOUNT.getCode()==codeEn
&&BaseResponseCode.NOT_ACCOUNT.getCode()==codePv){
throw new BusinessException(BaseResponseCode.NOT_ACCOUNT);
}
if (BaseResponseCode.PASSWORD_ERROR.getCode()==codeEn
||BaseResponseCode.PASSWORD_ERROR.getCode()==codePv ){
throw new BusinessException(BaseResponseCode.PASSWORD_ERROR);
}
if (BaseResponseCode.USER_LOCK.getCode()==codeEn
||BaseResponseCode.USER_LOCK.getCode()==codePv ){
throw new BusinessException(BaseResponseCode.USER_LOCK);
}
if (BaseResponseCode.LOSE_EFFICACY.getCode()==codeEn
||BaseResponseCode.LOSE_EFFICACY.getCode()==codePv ){
throw new BusinessException(BaseResponseCode.LOSE_EFFICACY);
}
if (BaseResponseCode.TO_BELONGING_DEPT_DISABLE.getCode()==codeEn
||BaseResponseCode.TO_BELONGING_DEPT_DISABLE.getCode()==codePv ){
throw new BusinessException(BaseResponseCode.TO_BELONGING_DEPT_DISABLE);
}
}
} catch (IOException e) {
throw new RuntimeException(e);
}
return DataResult.success(unifiedLoginVo);
}
} }