Commit 8120bb76 authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.对接第三方接口,接入第三方数据,完成Token接口验证,抽取公用方法封装调用工具类;
2.对接第三方接口,完成获取日耗电日产液等信息接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;
3.对接第三方接口,完成获取有功功率数据信息接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;
4.对接第三方接口,完成获取甘特图数据接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;
5.对接第三方接口,完成本日累计数据接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;
6.对接第三方接口,完成光伏发电量接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;
7.对接第三方接口,完成三叠登录接口调用,添加线上接口文档并完成接口及定时任务冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent ecda5133
package pps.core.prediction.entity; package pps.core.prediction.entity;
import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableField;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.io.Serializable; import java.io.Serializable;
...@@ -15,6 +18,9 @@ import java.util.Date; ...@@ -15,6 +18,9 @@ import java.util.Date;
* @date 2024/03/19 * @date 2024/03/19
*/ */
@Data @Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ThirdActivePowerDailyUpdateView implements Serializable { public class ThirdActivePowerDailyUpdateView implements Serializable {
@XText("ID") @XText("ID")
@TableField @TableField
......
package pps.core.prediction.mapper; package pps.core.prediction.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.ThirdActivePowerDailyUpdateView; import pps.core.prediction.entity.ThirdActivePowerDailyUpdateView;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
...@@ -16,4 +18,22 @@ public interface ThirdActivePowerDailyUpdateViewMapper { ...@@ -16,4 +18,22 @@ public interface ThirdActivePowerDailyUpdateViewMapper {
ThirdActivePowerDailyUpdateView selectOne(ThirdActivePowerDailyUpdateView record); ThirdActivePowerDailyUpdateView selectOne(ThirdActivePowerDailyUpdateView record);
List<ThirdActivePowerDailyUpdateView> selectList(ThirdActivePowerDailyUpdateView record); List<ThirdActivePowerDailyUpdateView> selectList(ThirdActivePowerDailyUpdateView record);
/**
* 删除当日最新数据
*
* @param list 列表
* @param currentDay 当前日期
* @return int
*/
int deleteByCurrentDayData(@Param(value = "list") List<ThirdActivePowerDailyUpdateView> list,
@Param(value = "currentDay") Date currentDay);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<ThirdActivePowerDailyUpdateView> list);
} }
package pps.core.prediction.service; package pps.core.prediction.service;
import cn.hutool.core.collection.CollUtil; import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSON;
import pps.cloud.prediction.service.IThirdDataAccessCloudService; import pps.cloud.prediction.service.IThirdDataAccessCloudService;
import pps.core.prediction.constant.ThirdPartyApiConstant; import pps.core.prediction.constant.ThirdPartyApiConstant;
import pps.core.prediction.entity.ThirdActivePowerDailyUpdateView;
import pps.core.prediction.entity.ThirdActivePowerView; import pps.core.prediction.entity.ThirdActivePowerView;
import pps.core.prediction.entity.ThirdCurrentWellConditionView; import pps.core.prediction.entity.ThirdCurrentWellConditionView;
import pps.core.prediction.entity.ThirdPhotovoltaicPowerView; import pps.core.prediction.entity.ThirdPhotovoltaicPowerView;
import pps.core.prediction.mapper.ThirdActivePowerDailyUpdateViewMapper;
import pps.core.prediction.mapper.ThirdActivePowerViewMapper; import pps.core.prediction.mapper.ThirdActivePowerViewMapper;
import pps.core.prediction.mapper.ThirdCurrentWellConditionViewMapper; import pps.core.prediction.mapper.ThirdCurrentWellConditionViewMapper;
import pps.core.prediction.mapper.ThirdPhotovoltaicPowerViewMapper; import pps.core.prediction.mapper.ThirdPhotovoltaicPowerViewMapper;
...@@ -52,6 +55,8 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer ...@@ -52,6 +55,8 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
return XServiceResult.OK; return XServiceResult.OK;
} }
List<ThirdActivePowerView> dtoList = new ArrayList<>(outputs.size()); List<ThirdActivePowerView> dtoList = new ArrayList<>(outputs.size());
List<ThirdActivePowerDailyUpdateView> dtoDailyList = new ArrayList<>(outputs.size());
DateTime currentDay = DateUtil.beginOfDay(DateTime.now());
for (GetThirdActivePowerViewOutput o : outputs) { for (GetThirdActivePowerViewOutput o : outputs) {
dtoList.add( dtoList.add(
ThirdActivePowerView.builder() ThirdActivePowerView.builder()
...@@ -62,10 +67,26 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer ...@@ -62,10 +67,26 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
.systemSource(ThirdPartyApiConstant.CQ_SOURCE) .systemSource(ThirdPartyApiConstant.CQ_SOURCE)
.build() .build()
); );
dtoDailyList.add(
ThirdActivePowerDailyUpdateView.builder()
.stationName(o.getStationName())
.createDate(o.getCreateDate())
.photovoltaicPower(o.getPhotovoltaicPower())
.meterPower(o.getMeterPower())
.systemSource(ThirdPartyApiConstant.CQ_SOURCE)
.saveDate(currentDay)
.build()
);
} }
return XTransactionHelper.begin(context, () -> { return XTransactionHelper.begin(context, () -> {
ThirdActivePowerViewMapper mapper = context.getBean(ThirdActivePowerViewMapper.class); ThirdActivePowerViewMapper mapper = context.getBean(ThirdActivePowerViewMapper.class);
//保存历史数据
mapper.batchInsertList(dtoList); mapper.batchInsertList(dtoList);
ThirdActivePowerDailyUpdateViewMapper dailyMapper = context.getBean(ThirdActivePowerDailyUpdateViewMapper.class);
//删除当日最新数据
dailyMapper.deleteByCurrentDayData(dtoDailyList, currentDay);
//保存当日最新数据
dailyMapper.batchInsertList(dtoDailyList);
return XServiceResult.OK; return XServiceResult.OK;
}); });
} }
......
...@@ -36,4 +36,30 @@ ...@@ -36,4 +36,30 @@
where where
id=#{id} id=#{id}
</select> </select>
<delete id="deleteByCurrentDayData" parameterType="java.util.List">
delete
from third_active_power_daily_update
where save_date = #{currentDay}
and station_name IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.stationName}
</foreach>
</delete>
<insert id="batchInsertList" parameterType="java.util.List">
insert into third_active_power_daily_update (station_name, create_date, photovoltaic_power, meter_power,
system_source, save_date)
values
<foreach collection="list" item="item" separator=",">
(
#{item.stationName},
#{item.createDate},
#{item.photovoltaicPower},
#{item.meterPower},
#{item.systemSource},
#{item.saveDate}
)
</foreach>
</insert>
</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