Commit 55496e85 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.邮件发送服务代码修改,修改配置文件及发送逻辑,解决邮件名称唯一性;
2.邮件接收功能修改,解决邮件接收协议修改后导致的一系列问题;
3.长期间开优化功能修改,修改定时任务处理逻辑及执行周期;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 45b95958
...@@ -41,7 +41,7 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService ...@@ -41,7 +41,7 @@ public class SpaceOptimizeLongCloudServiceImpl extends SpaceOptimizeBaseService
@Override @Override
public XServiceResult optimizeLongJob(XContext context) { public XServiceResult optimizeLongJob(XContext context) {
//取当前时间 //取当前时间
DateTime date = DateUtil.date(); DateTime date = DateUtil.beginOfDay(DateTime.now());
//取生效中的基础间开 //取生效中的基础间开
List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, date.toString(BusinessConstant.DATE_FORMAT_DAY)); List<SpaceInstitutionDetailEnt> detailEntList = super.getEffectiveSpaceInstitution(context, date.toString(BusinessConstant.DATE_FORMAT_DAY));
SpaceOptimizeLineRelation relation = super.getOptimizeLineRelation(context, detailEntList); SpaceOptimizeLineRelation relation = super.getOptimizeLineRelation(context, detailEntList);
......
package pps.core.prediction.entity;
import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText;
import java.math.BigDecimal;
import java.util.Date;
import java.util.List;
/**
* 功率预测
*
* @author ZWT
* @date 2024/03/21 17:37
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class PredictedPowerView {
@XText("预测功率")
@TableField
private BigDecimal power;
@XText("创建时间")
@TableField
private Date createTime;
@XText("开始时间")
@TableField(exist = false)
private String startTime;
@XText("结束时间")
@TableField(exist = false)
private String endTime;
@XText("电站ID")
@TableField(exist = false)
private String plantId;
@XText("电站ID集合")
@TableField(exist = false)
private List<String> plantIds;
}
...@@ -5,6 +5,6 @@ import org.springframework.stereotype.Repository; ...@@ -5,6 +5,6 @@ import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.PlantPredictedPowerMidTermEnt; import pps.core.prediction.entity.PlantPredictedPowerMidTermEnt;
@Repository(value="pps.core.prediction.mapper.PlantPredictedPowerMidTermMapper") @Repository(value = "pps.core.prediction.mapper.PlantPredictedPowerMidTermMapper")
public interface PlantPredictedPowerMidTermMapper extends BaseMapper<PlantPredictedPowerMidTermEnt> { public interface PlantPredictedPowerMidTermMapper extends BaseMapper<PlantPredictedPowerMidTermEnt> {
} }
package pps.core.prediction.mapper;
import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.PredictedPowerView;
import java.util.List;
/**
* 功率预测
*
* @author ZWT
* @date 2024/03/21 17:30
*/
@Repository(value = "pps.core.prediction.mapper.PredictedPowerViewMapper")
public interface PredictedPowerViewMapper {
/**
* 获取中期预测数据
*
* @param view 看法
* @return {@link List}<{@link PredictedPowerView}>
*/
List<PredictedPowerView> selectMidPowerList(PredictedPowerView view);
}
...@@ -16,11 +16,11 @@ import pps.core.auth.HttpRequestClient; ...@@ -16,11 +16,11 @@ import pps.core.auth.HttpRequestClient;
import pps.core.prediction.constant.ThirdPartyApiConstant; import pps.core.prediction.constant.ThirdPartyApiConstant;
import pps.core.prediction.entity.PlantPredictedPowerDataEnt; import pps.core.prediction.entity.PlantPredictedPowerDataEnt;
import pps.core.prediction.entity.PlantPredictedPowerLongTermDataEnt; import pps.core.prediction.entity.PlantPredictedPowerLongTermDataEnt;
import pps.core.prediction.entity.PlantPredictedPowerMidTermEnt; import pps.core.prediction.entity.PredictedPowerView;
import pps.core.prediction.entity.WellheadDailyProductionSituationView; import pps.core.prediction.entity.WellheadDailyProductionSituationView;
import pps.core.prediction.mapper.PlantPredictedPowerDataMapper; import pps.core.prediction.mapper.PlantPredictedPowerDataMapper;
import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataMapper; import pps.core.prediction.mapper.PlantPredictedPowerLongTermDataMapper;
import pps.core.prediction.mapper.PlantPredictedPowerMidTermMapper; import pps.core.prediction.mapper.PredictedPowerViewMapper;
import pps.core.prediction.mapper.WellheadDailyProductionSituationViewMapper; import pps.core.prediction.mapper.WellheadDailyProductionSituationViewMapper;
import pps.core.prediction.service.data.wellhead_daily_production_situation.WellheadDailyProductionSituationJob; import pps.core.prediction.service.data.wellhead_daily_production_situation.WellheadDailyProductionSituationJob;
import pps.core.prediction.utils.ServiceUtil; import pps.core.prediction.utils.ServiceUtil;
...@@ -67,36 +67,31 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower ...@@ -67,36 +67,31 @@ public class PlantPredictedPowerCloudServiceImpl implements IPlantPredictedPower
if (CollUtil.isNotEmpty(plantIds)) { if (CollUtil.isNotEmpty(plantIds)) {
switch (dateType) { switch (dateType) {
case 0: case 0:
PlantPredictedPowerMidTermMapper longTermDataMapper = context.getBean(PlantPredictedPowerMidTermMapper.class); PredictedPowerViewMapper mapper = context.getBean(PredictedPowerViewMapper.class);
longTermDataMapper.selectList( list = mapper.selectMidPowerList(PredictedPowerView.builder()
new QueryWrapper<PlantPredictedPowerMidTermEnt>() .plantIds(plantIds)
.select("power", .startTime(startTime)
"data_date AS create_time") .endTime(endTime)
.lambda() .build());
.eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerMidTermEnt::getPlantId, plantId)
.in(PlantPredictedPowerMidTermEnt::getPlantId, plantIds)
.between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerMidTermEnt::getDataDate, startTime, endTime)
.orderByAsc(PlantPredictedPowerMidTermEnt::getDataDate)
);
break; break;
case 1: case 1:
PlantPredictedPowerDataMapper mapper = context.getBean(PlantPredictedPowerDataMapper.class); // PlantPredictedPowerDataMapper mapper = context.getBean(PlantPredictedPowerDataMapper.class);
list = mapper.selectList( // list = mapper.selectList(
new QueryWrapper<PlantPredictedPowerDataEnt>() // new QueryWrapper<PlantPredictedPowerDataEnt>()
.select("hour_time", // .select("hour_time",
"min_time", // "min_time",
"IFNULL( AVG( power ), 0 ) AS power", // "IFNULL( AVG( power ), 0 ) AS power",
"data_date AS create_time") // "data_date AS create_time")
.lambda() // .lambda()
.eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerDataEnt::getPlantId, plantId) // .eq(StringUtils.isNotBlank(plantId), PlantPredictedPowerDataEnt::getPlantId, plantId)
.in(PlantPredictedPowerDataEnt::getPlantId, plantIds) // .in(PlantPredictedPowerDataEnt::getPlantId, plantIds)
.eq(StringUtils.isNotBlank(yearTime), PlantPredictedPowerDataEnt::getYearTime, yearTime) // .eq(StringUtils.isNotBlank(yearTime), PlantPredictedPowerDataEnt::getYearTime, yearTime)
.eq(StringUtils.isNotBlank(monthTime), PlantPredictedPowerDataEnt::getMonthTime, monthTime) // .eq(StringUtils.isNotBlank(monthTime), PlantPredictedPowerDataEnt::getMonthTime, monthTime)
.between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerDataEnt::getDataDate, startTime, endTime) // .between(!StringUtils.isAnyBlank(startTime, endTime), PlantPredictedPowerDataEnt::getDataDate, startTime, endTime)
.groupBy(PlantPredictedPowerDataEnt::getHourTime, // .groupBy(PlantPredictedPowerDataEnt::getHourTime,
PlantPredictedPowerDataEnt::getMinTime) // PlantPredictedPowerDataEnt::getMinTime)
.orderByAsc(PlantPredictedPowerDataEnt::getHourTime, PlantPredictedPowerDataEnt::getMinTime) // .orderByAsc(PlantPredictedPowerDataEnt::getHourTime, PlantPredictedPowerDataEnt::getMinTime)
); // );
break; break;
default: default:
} }
......
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.prediction.mapper.PredictedPowerViewMapper">
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.PredictedPowerView">
<result column="power" property="power" jdbcType="DECIMAL"/>
<result column="create_time" property="createTime" jdbcType="DATE"/>
</resultMap>
<select id="selectMidPowerList" resultMap="BaseResultMap">
SELECT
IFNULL( AVG( a.predict_power ), 0 ) AS power,
a.create_time
FROM
(
SELECT
predict_power,
TIME( data_date ) AS create_time
FROM
plant_predicted_power_mid_term
WHERE
plant_id IN
<foreach collection="plantIds" item="item" open="(" separator="," close=")">
#{item}
</foreach>
<if test="startTime != null and endTime != null">
AND
data_date BETWEEN
#{startTime} AND
#{endTime}
</if>
) a
GROUP BY
a.create_time
ORDER BY
a.create_time
</select>
</mapper>
\ No newline at end of file
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