Commit ab23e3a5 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.邮件发送服务代码修改,修改配置文件及发送逻辑,解决邮件名称唯一性;
2.邮件接收功能修改,解决邮件接收协议修改后导致的一系列问题;
3.长期间开优化功能修改,修改定时任务处理逻辑及执行周期;
4.中期间开优化功能修改,修改定时任务处理逻辑及执行周期;
5.超长期间开优化功能开发,开发相关接口及定时任务,创建对应数据表,生成对应接口文档并完成接口冒烟测试;
6.超短期间开优化功能开发,开发相关接口及定时任务,创建对应数据表,生成对应接口文档并完成接口冒烟测试;
7.组织线路树功能修改,重构查询逻辑;
8.间开优化历史功能修改,重构查询逻辑;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 8003e6e5
...@@ -53,4 +53,8 @@ public class ThirdActivePowerView implements Serializable { ...@@ -53,4 +53,8 @@ public class ThirdActivePowerView implements Serializable {
@XText("录入时间") @XText("录入时间")
@TableField @TableField
private Date inputTime; private Date inputTime;
@XText("小时")
@TableField
private Integer saveHour;
} }
...@@ -25,4 +25,12 @@ public interface ThirdActivePowerViewMapper { ...@@ -25,4 +25,12 @@ public interface ThirdActivePowerViewMapper {
* @return int * @return int
*/ */
int batchInsertList(@Param(value = "list") List<ThirdActivePowerView> list); int batchInsertList(@Param(value = "list") List<ThirdActivePowerView> list);
/**
* 查询用能曲线
*
* @param record 记录
* @return {@link List}<{@link ThirdActivePowerView}>
*/
List<ThirdActivePowerView> selectEnergyUseCurve(ThirdActivePowerView record);
} }
...@@ -5,15 +5,14 @@ import cn.hutool.core.date.DateUtil; ...@@ -5,15 +5,14 @@ import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.ObjectUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import pps.core.common.cache.ThirdPartyConfigCache; import pps.core.common.cache.ThirdPartyConfigCache;
import pps.core.prediction.constant.ThirdPartyApiConstant; import pps.core.prediction.constant.ThirdPartyApiConstant;
import pps.core.prediction.entity.ThirdActivePowerDailyUpdateEnt; import pps.core.prediction.entity.ThirdActivePowerView;
import pps.core.prediction.enums.BusinessError; import pps.core.prediction.enums.BusinessError;
import pps.core.prediction.mapper.ThirdActivePowerDailyUpdateMapper; import pps.core.prediction.mapper.ThirdActivePowerViewMapper;
import pps.core.prediction.service.data.third_active_power.GetThirdActivePowerOutput;
import pps.core.prediction.service.data.third_active_power.GetThirdSanDieLoginInfoOutput; import pps.core.prediction.service.data.third_active_power.GetThirdSanDieLoginInfoOutput;
import pps.core.prediction.service.data.third_active_power_daily_update.GetThirdActivePowerDailyUpdateInput; import pps.core.prediction.service.data.third_active_power_daily_update.GetThirdActivePowerDailyUpdateInput;
import pps.core.prediction.service.data.third_active_power_daily_update.GetThirdActivePowerDailyUpdateOutput;
import xstartup.annotation.XService; import xstartup.annotation.XService;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import xstartup.base.XContext; import xstartup.base.XContext;
...@@ -45,21 +44,18 @@ public class ThirdActivePowerService { ...@@ -45,21 +44,18 @@ public class ThirdActivePowerService {
* *
* @param context 上下文 * @param context 上下文
* @param input 输入 * @param input 输入
* @return {@link XListResult}<{@link GetThirdActivePowerDailyUpdateOutput}> * @return {@link XListResult}<{@link GetThirdActivePowerOutput}>
*/ */
@XApiAnonymous @XApiAnonymous
@XText("有功功率--用能曲线") @XText("有功功率--用能曲线")
@XApiPost @XApiPost
public XListResult<GetThirdActivePowerDailyUpdateOutput> getActivePowerList(XContext context, GetThirdActivePowerDailyUpdateInput input) { public XListResult<GetThirdActivePowerOutput> getActivePowerList(XContext context, GetThirdActivePowerDailyUpdateInput input) {
ThirdActivePowerDailyUpdateMapper mapper = context.getBean(ThirdActivePowerDailyUpdateMapper.class); ThirdActivePowerViewMapper mapper = context.getBean(ThirdActivePowerViewMapper.class);
List<ThirdActivePowerDailyUpdateEnt> list = mapper.selectList(new LambdaQueryWrapper<ThirdActivePowerDailyUpdateEnt>() List<ThirdActivePowerView> list = mapper.selectEnergyUseCurve(ThirdActivePowerView.builder()
.eq(ThirdActivePowerDailyUpdateEnt::getSaveDate, input.getQueryDate()) .stationName(input.getStationName())
.and(wrapper -> wrapper.eq(ThirdActivePowerDailyUpdateEnt::getStationName, input.getStationName()) .createDate(input.getQueryDate())
.or() .build());
.eq(ThirdActivePowerDailyUpdateEnt::getStationId, input.getStationId())) return XListResult.success(XCopyUtils.copyNewList(list, GetThirdActivePowerOutput.class));
.orderByAsc(ThirdActivePowerDailyUpdateEnt::getSaveHour)
);
return XListResult.success(XCopyUtils.copyNewList(list, GetThirdActivePowerDailyUpdateOutput.class));
} }
/** /**
......
package pps.core.prediction.service.data.third_active_power;
import lombok.Data;
import xstartup.annotation.XText;
import java.math.BigDecimal;
/**
* 第三方有功功率
*
* @author ZWT
* @date 2024/03/23
*/
@Data
public class GetThirdActivePowerOutput {
@XText("井组名称(线路/光伏电站)")
private String stationName;
@XText("光伏有功功率(KW)")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
private BigDecimal meterPower;
@XText("小时")
private Integer saveHour;
}
...@@ -52,4 +52,21 @@ ...@@ -52,4 +52,21 @@
) )
</foreach> </foreach>
</insert> </insert>
<resultMap id="ExtBaseResultMap" type="pps.core.prediction.entity.ThirdActivePowerView" extends="BaseResultMap">
<result column="save_hour" property="saveHour" jdbcType="INTEGER"/>
</resultMap>
<select id="selectEnergyUseCurve" parameterType="pps.core.prediction.entity.ThirdActivePowerView"
resultMap="ExtBaseResultMap">
SELECT hour_str AS save_hour,
IFNULL(AVG(photovoltaic_power), 0) AS photovoltaic_power,
IFNULL(AVG(meter_power), 0) AS meter_power
FROM (SELECT station_name, HOUR ( create_date ) AS hour_str, photovoltaic_power, meter_power
FROM third_active_power
WHERE station_name = #{stationName}
AND DATE ( create_date ) = #{createDate}) z
GROUP BY hour_str
ORDER BY hour_str
</select>
</mapper> </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