Commit 0b58fe7c authored by ZWT's avatar ZWT

feat(零碳): 长庆

1.长庆演示首页功能开发,新增采油厂统计信息查询接口,添加线上接口并完成接口冒烟测试;
2.长庆演示首页功能开发,新增线路图查询接口,添加线上接口并完成接口冒烟测试;
3.长庆演示首页功能开发,新增线路详情查询接口,添加线上接口并完成接口冒烟测试;
4.对接第三方接口,完成获取井场日累计数据接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;
5.对接第三方接口,完成获取第三方单井平均有功功率接口调用,创建数据表,同时生成对应代码,开发定时任务及对外接口,完成第三方数据接入及系统展示功能,添加线上接口文档并完成接口及定时任务冒烟测试;

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 1f5d4d07
package pps.core.prediction.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.Data;
import xstartup.annotation.XText;
import java.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 第三方井场日累计数据(每日最新数据)
*
* @author ZWT
* @date 2024/04/02
*/
@Data
@TableName("third_daily_accumulation_update")
public class ThirdDailyAccumulationUpdateEnt implements Serializable {
@XText("ID")
@TableId(type = IdType.AUTO)
private Long id;
@XText("井组名称(线路/光伏电站)")
@TableField
private String stationName;
@XText("井组ID(光伏电站)")
@TableField
private String stationId;
@XText("创建时间")
@TableField
private Date createDate;
@XText("光伏日累计发电(KWh)")
@TableField
private BigDecimal photovoltaicPower;
@XText("日累计用电量(KW·h)")
@TableField
private BigDecimal dailyElectricityConsumption;
@XText("日累计产液量(m³)")
@TableField
private BigDecimal dailyLiquidProduction;
@XText("就地消纳电量(KWh)")
@TableField
private BigDecimal inPlaceConsumption;
@XText("入库日期")
@TableField
private Date saveDate;
@XText("来源系统")
@TableField
private String systemSource;
@XText("保存时间")
@TableField
private Date saveHour;
}
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.io.Serializable;
import java.math.BigDecimal;
import java.util.Date;
/**
* 第三方井场日累计数据(每日最新数据)
*
* @author ZWT
* @date 2024/04/02
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ThirdDailyAccumulationUpdateView implements Serializable {
@XText("ID")
@TableField
private Long id;
@XText("井组名称(线路/光伏电站)")
@TableField
private String stationName;
@XText("井组ID(光伏电站)")
@TableField
private String stationId;
@XText("创建时间")
@TableField
private Date createDate;
@XText("光伏日累计发电(KWh)")
@TableField
private BigDecimal photovoltaicPower;
@XText("日累计用电量(KW·h)")
@TableField
private BigDecimal dailyElectricityConsumption;
@XText("日累计产液量(m³)")
@TableField
private BigDecimal dailyLiquidProduction;
@XText("就地消纳电量(KWh)")
@TableField
private BigDecimal inPlaceConsumption;
@XText("入库日期")
@TableField
private Date saveDate;
@XText("来源系统")
@TableField
private String systemSource;
@XText("保存时间")
@TableField
private Date saveHour;
}
package pps.core.prediction.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.ThirdDailyAccumulationUpdateEnt;
/**
* 第三方井场日累计数据(每日最新数据)
*
* @author ZWT
* @date 2024/04/02
*/
@Repository(value = "pps.core.prediction.mapper.ThirdDailyAccumulationUpdateMapper")
public interface ThirdDailyAccumulationUpdateMapper extends BaseMapper<ThirdDailyAccumulationUpdateEnt> {
}
package pps.core.prediction.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.ThirdDailyAccumulationUpdateView;
import java.util.List;
/**
* 第三方井场日累计数据(每日最新数据)
*
* @author ZWT
* @date 2024/04/02
*/
@Repository(value = "pps.core.prediction.mapper.ThirdDailyAccumulationUpdateViewMapper")
public interface ThirdDailyAccumulationUpdateViewMapper {
ThirdDailyAccumulationUpdateView selectOne(ThirdDailyAccumulationUpdateView record);
List<ThirdDailyAccumulationUpdateView> selectList(ThirdDailyAccumulationUpdateView record);
/**
* 批量插入
*
* @param dtoList dto列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<ThirdDailyAccumulationUpdateView> dtoList);
}
......@@ -268,8 +268,11 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
DateTime beginOfDay = DateUtil.beginOfDay(now);
//封装数据
List<ThirdDailyAccumulationView> dtoList = new ArrayList<>(outputs.size());
List<ThirdDailyAccumulationUpdateView> updateDtoList = new ArrayList<>(outputs.size());
LambdaQueryWrapper<ThirdDailyAccumulationEnt> queryWrapper = new LambdaQueryWrapper<>();
List<String> stationNameList = new ArrayList<>(outputs.size());
for (GetCumulativePowerGenerationOutput o : outputs) {
//历史数据
dtoList.add(
ThirdDailyAccumulationView.builder()
.saveDate(beginOfDay)
......@@ -288,6 +291,23 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
.eq(ThirdDailyAccumulationEnt::getSaveDate, beginOfDay)
.eq(ThirdDailyAccumulationEnt::getSystemSource, ThirdPartyApiConstant.CQ_SOURCE)
);
//每日最新数据
updateDtoList.add(
ThirdDailyAccumulationUpdateView.builder()
.saveDate(beginOfDay)
.stationId(plantMap.get(o.getStationName()))
.stationName(o.getStationName())
.createDate(now)
.photovoltaicPower(o.getPhotovoltaicPower())
.dailyElectricityConsumption(o.getDailyElectricityConsumption())
.dailyLiquidProduction(o.getDailyLiquidProduction())
.inPlaceConsumption(o.getInPlaceConsumption())
.systemSource(ThirdPartyApiConstant.CQ_SOURCE)
.saveHour(now)
.build()
);
//井组列表
stationNameList.add(o.getStationName());
}
return XTransactionHelper.begin(context, () -> {
//先去重
......@@ -296,6 +316,15 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
//保存当日最新数据
ThirdDailyAccumulationViewMapper mapper = context.getBean(ThirdDailyAccumulationViewMapper.class);
mapper.batchInsertList(dtoList);
//删除每日最新数据
ThirdDailyAccumulationUpdateMapper updateMapper = context.getBean(ThirdDailyAccumulationUpdateMapper.class);
updateMapper.delete(new LambdaQueryWrapper<ThirdDailyAccumulationUpdateEnt>()
.eq(ThirdDailyAccumulationUpdateEnt::getSaveDate, beginOfDay)
.in(ThirdDailyAccumulationUpdateEnt::getStationName, stationNameList)
);
//保存每日最新数据
ThirdDailyAccumulationUpdateViewMapper updateViewMapper = context.getBean(ThirdDailyAccumulationUpdateViewMapper.class);
updateViewMapper.batchInsertList(updateDtoList);
return XServiceResult.OK;
});
}
......@@ -324,7 +353,6 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
BigDecimal avgActivePower = Optional.ofNullable(o.getAvgActivePower()).orElse(BigDecimal.ZERO);
dtoList.add(
ThirdWellAvgActivePowerView.builder()
.saveDate(beginOfDay)
.wellNumber(o.getWellNumber())
.inputTime(o.getInputTime())
.avgActivePower(avgActivePower)
......
<?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.ThirdDailyAccumulationUpdateViewMapper">
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.ThirdDailyAccumulationUpdateView">
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="station_name" property="stationName" jdbcType="VARCHAR"/>
<result column="station_id" property="stationId" jdbcType="VARCHAR"/>
<result column="create_date" property="createDate" jdbcType="DATE"/>
<result column="photovoltaic_power" property="photovoltaicPower" jdbcType="DECIMAL"/>
<result column="daily_electricity_consumption" property="dailyElectricityConsumption" jdbcType="DECIMAL"/>
<result column="daily_liquid_production" property="dailyLiquidProduction" jdbcType="DECIMAL"/>
<result column="in_place_consumption" property="inPlaceConsumption" jdbcType="DECIMAL"/>
<result column="save_date" property="saveDate" jdbcType="DATE"/>
<result column="system_source" property="systemSource" jdbcType="VARCHAR"/>
<result column="save_hour" property="saveHour" jdbcType="DATE"/>
</resultMap>
<sql id="Base_Column_List">
id
,
station_name,
station_id,
create_date,
photovoltaic_power,
daily_electricity_consumption,
daily_liquid_production,
in_place_consumption,
save_date,
system_source,
save_hour
</sql>
<select id="selectOne" parameterType="pps.core.prediction.entity.ThirdDailyAccumulationUpdateView"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from third_daily_accumulation_update
where
id=#{id}
</select>
<select id="selectList" parameterType="pps.core.prediction.entity.ThirdDailyAccumulationUpdateView"
resultMap="BaseResultMap">
select
<include refid="Base_Column_List"/>
from third_daily_accumulation_update
where
id=#{id}
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO third_daily_accumulation_update ( station_name, station_id, create_date, photovoltaic_power,
daily_electricity_consumption, daily_liquid_production, in_place_consumption, save_date, system_source,
save_hour)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.stationName},
#{item.stationId},
#{item.createDate},
#{item.photovoltaicPower},
#{item.dailyElectricityConsumption},
#{item.dailyLiquidProduction},
#{item.inPlaceConsumption},
#{item.saveDate},
#{item.systemSource},
#{item.saveHour}
)
</foreach>
</insert>
</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