Commit 377a55d6 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.修复登录页面登录接口验证码输入后不需要验证直接能登录的问题;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 5acc3400
......@@ -6,7 +6,6 @@ import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XListResult;
import xstartup.feature.api.annotation.XApiAnonymous;
import xstartup.feature.api.annotation.XApiGet;
/**
......@@ -26,7 +25,6 @@ public interface IBasePriceStrategyCloudService {
* @param input 输入
* @return {@link XListResult}<{@link GetBasePriceStrategyDetailOutput}>
*/
@XApiAnonymous
@XApiGet
@XText("市电峰谷配置Cloud模块--策略配置详情列表")
XListResult<GetBasePriceStrategyDetailOutput> queryStrategyDetailList(XContext context, GetBasePriceStrategyDetailInput input);
......
......@@ -23,4 +23,7 @@ public class GetBasePriceStrategyDetailInput {
@XText("开始时间")
private String lineId;
@XText("时段类型key(字典获取)")
private String periodTypeKey;
}
package pps.core.base.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.text.CharSequenceUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.IBasePriceStrategyCloudService;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
......@@ -35,10 +36,12 @@ public class BasePriceStrategyCloudServiceImpl implements IBasePriceStrategyClou
*/
@Override
public XListResult<GetBasePriceStrategyDetailOutput> queryStrategyDetailList(XContext context, GetBasePriceStrategyDetailInput input) {
String periodTypeKey = input.getPeriodTypeKey();
//查明细
BasePriceStrategyDetailMapper detailMapper = context.getBean(BasePriceStrategyDetailMapper.class);
List<BasePriceStrategyDetailEnt> detailList = detailMapper.selectList(
new LambdaQueryWrapper<BasePriceStrategyDetailEnt>()
.eq(CharSequenceUtil.isNotBlank(periodTypeKey), BasePriceStrategyDetailEnt::getPeriodTypeKey, periodTypeKey)
.eq(BaseModel::getIsDeleted, BusinessConstant.ONE)
.eq(BasePriceStrategyDetailEnt::getStrategyMonth, input.getStrategyMonth())
.apply("strategy_id = ( SELECT strategy_id FROM base_power_line WHERE id = {0} ) ", input.getLineId())
......
......@@ -4,6 +4,16 @@ import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.cloud.base.service.IBasePowerLineCloudService;
import pps.cloud.base.service.IBasePriceStrategyCloudService;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineInput;
import pps.cloud.base.service.data.base_power_line.DynamicQueryBasePowerLineOutput;
import pps.cloud.base.service.data.base_power_line_plant.DynamicQueryBasePowerLinePlantInput;
import pps.cloud.base.service.data.base_power_line_plant.DynamicQueryBasePowerLinePlantViewOutput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailInput;
import pps.cloud.base.service.data.base_price_strategy_detail.GetBasePriceStrategyDetailOutput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerInput;
import pps.cloud.prediction.service.data.plant_predicted_power_data.DynamicQueryPlantPredictedPowerOutput;
import pps.core.common.constant.BusinessConstant;
import pps.core.common.entity.BaseModel;
import pps.core.space.entity.SpaceOptimizeShortDurationEnt;
......@@ -19,6 +29,8 @@ import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.base.util.XCopyUtils;
import xstartup.data.XListResult;
import xstartup.data.XServiceResult;
import xstartup.feature.api.annotation.XApiGet;
import xstartup.feature.api.annotation.XApiPost;
import java.util.*;
......@@ -32,7 +44,58 @@ import java.util.stream.Collectors;
*/
@XService
@XText("间开优化对外提供接口服务")
public class SpaceOptimizeApiService {
public class SpaceOptimizeApiService extends SpaceOptimizeBaseService {
@XApiGet(anonymous = true)
@XText("极短期间开优化--计算一个率")
public XServiceResult getOptimization(XContext context) {
DateTime of = DateTime.of("2024-04-02", "yyyy-MM-dd");
//先查并网线路
IBasePowerLineCloudService lineCloudService = context.getBean(IBasePowerLineCloudService.class);
XListResult<DynamicQueryBasePowerLineOutput> lineOutputXListResult = lineCloudService.getBasePowerLineList(context, DynamicQueryBasePowerLineInput.builder()
.gridTypeKey("1")
.build());
//市电峰谷
IBasePriceStrategyCloudService strategyCloudService = context.getBean(IBasePriceStrategyCloudService.class);
XListResult<DynamicQueryBasePowerLinePlantViewOutput> plantResult;
List<DynamicQueryBasePowerLinePlantViewOutput> plantList;
XListResult<GetBasePriceStrategyDetailOutput> strategyResult;
List<GetBasePriceStrategyDetailOutput> strategyList;
List<DynamicQueryPlantPredictedPowerOutput> generationHourList;
List<DynamicQueryBasePowerLineOutput> lineList = lineOutputXListResult.getResult();
for (DynamicQueryBasePowerLineOutput line : lineList) {
//查线路下所有电站
plantResult = lineCloudService.getPowerLinePlantViewList(context, DynamicQueryBasePowerLinePlantInput.builder()
.lineId(line.getId())
.build());
plantList = plantResult.getResult();
if (CollUtil.isEmpty(plantList)) {
continue;
}
//查线路关联市电峰谷
strategyResult = strategyCloudService.queryStrategyDetailList(context, GetBasePriceStrategyDetailInput.builder()
.lineId(line.getId())
.periodTypeKey("LOW")
.strategyMonth("4")
.build());
strategyList = strategyResult.getResult();
if (CollUtil.isEmpty(strategyList)) {
continue;
}
//查当日预测发电时间段
generationHourList = this.getAveragePowerGenerationHourList(context, DynamicQueryPlantPredictedPowerInput.builder()
.plantIds(plantList.stream()
.map(DynamicQueryBasePowerLinePlantViewOutput::getPlantId)
.collect(Collectors.toList())
)
.startTime(of.toString())
.endTime(DateUtil.offsetDay(of, 1).toString())
.dateType(BusinessConstant.ONE)
.build());
}
return XServiceResult.OK;
}
/**
* 每日间开优化结果
......
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