Commit b5438adc authored by ZWT's avatar ZWT

feat(零碳): 长庆

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 1328ecea
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.ThirdCurrentWellConditionView; import pps.core.prediction.entity.ThirdCurrentWellConditionView;
...@@ -16,4 +17,20 @@ public interface ThirdCurrentWellConditionViewMapper { ...@@ -16,4 +17,20 @@ public interface ThirdCurrentWellConditionViewMapper {
ThirdCurrentWellConditionView selectOne(ThirdCurrentWellConditionView record); ThirdCurrentWellConditionView selectOne(ThirdCurrentWellConditionView record);
List<ThirdCurrentWellConditionView> selectList(ThirdCurrentWellConditionView record); List<ThirdCurrentWellConditionView> selectList(ThirdCurrentWellConditionView record);
/**
* 批量删除
*
* @param list 列表
* @return int
*/
int deleteByParams(@Param(value = "list") List<ThirdCurrentWellConditionView> list);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<ThirdCurrentWellConditionView> list);
} }
...@@ -6,10 +6,13 @@ import com.alibaba.fastjson2.JSON; ...@@ -6,10 +6,13 @@ 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.ThirdActivePowerView; import pps.core.prediction.entity.ThirdActivePowerView;
import pps.core.prediction.entity.ThirdCurrentWellConditionView;
import pps.core.prediction.entity.ThirdPhotovoltaicPowerView; import pps.core.prediction.entity.ThirdPhotovoltaicPowerView;
import pps.core.prediction.mapper.ThirdActivePowerViewMapper; import pps.core.prediction.mapper.ThirdActivePowerViewMapper;
import pps.core.prediction.mapper.ThirdCurrentWellConditionViewMapper;
import pps.core.prediction.mapper.ThirdPhotovoltaicPowerViewMapper; import pps.core.prediction.mapper.ThirdPhotovoltaicPowerViewMapper;
import pps.core.prediction.service.data.third_active_power.GetThirdActivePowerViewOutput; import pps.core.prediction.service.data.third_active_power.GetThirdActivePowerViewOutput;
import pps.core.prediction.service.data.third_current_well_condition.GetThirdCurrentWellConditionViewOutput;
import pps.core.prediction.service.data.third_photovoltaic_power.GetThirdPhotovoltaicPowerViewOutput; import pps.core.prediction.service.data.third_photovoltaic_power.GetThirdPhotovoltaicPowerViewOutput;
import pps.core.prediction.utils.ServiceUtil; import pps.core.prediction.utils.ServiceUtil;
import xstartup.annotation.XService; import xstartup.annotation.XService;
...@@ -78,8 +81,30 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer ...@@ -78,8 +81,30 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
String resultStr = ServiceUtil.doPostFormCq(context, String resultStr = ServiceUtil.doPostFormCq(context,
ThirdPartyApiConstant.CQ_WELL_REAL_PV_DATA, ThirdPartyApiConstant.CQ_WELL_REAL_PV_DATA,
new HashMap<>(0)); new HashMap<>(0));
List<GetThirdCurrentWellConditionViewOutput> outputs = JSON.parseArray(resultStr, GetThirdCurrentWellConditionViewOutput.class);
return XServiceResult.OK; if (CollUtil.isEmpty(outputs)) {
return XServiceResult.OK;
}
//先删后增
List<ThirdCurrentWellConditionView> dtoList = new ArrayList<>(outputs.size());
for (GetThirdCurrentWellConditionViewOutput o : outputs) {
dtoList.add(
ThirdCurrentWellConditionView.builder()
.systemSource(ThirdPartyApiConstant.CQ_SOURCE)
.wellNumber(o.getWellNumber())
.nextTime(o.getNextTime())
.wellStatus(o.getWellStatus())
.cumulativeProduction(o.getCumulativeProduction())
.runningTime(o.getRunningTime())
.build()
);
}
return XTransactionHelper.begin(context, () -> {
ThirdCurrentWellConditionViewMapper mapper = context.getBean(ThirdCurrentWellConditionViewMapper.class);
mapper.deleteByParams(dtoList);
mapper.batchInsertList(dtoList);
return XServiceResult.OK;
});
} }
/** /**
......
package pps.core.prediction.service.data.third_current_well_condition; package pps.core.prediction.service.data.third_current_well_condition;
import com.alibaba.fastjson2.annotation.JSONField;
import lombok.Data;
import xstartup.annotation.XText; import xstartup.annotation.XText;
import java.util.Date;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.util.Date;
/**
* 第三方当日油井状态
*
* @author ZWT
* @date 2024/03/19
*/
@Data
public class GetThirdCurrentWellConditionViewOutput { public class GetThirdCurrentWellConditionViewOutput {
@XText("ID")
private Long id;
@XText("井号") @XText("井号")
@JSONField(name = "welL_NAME")
private String wellNumber; private String wellNumber;
@XText("下次启停时间") @XText("下次启停时间")
@JSONField(name = "next_ExecDate")
private Date nextTime; private Date nextTime;
@XText("井口状态(开/停井)") @XText("井口状态(开/停井)")
@JSONField(name = "status")
private String wellStatus; private String wellStatus;
@XText("累计产液量(m³)") @XText("累计产液量(m³)")
@JSONField(name = "reaL_LIQUID_DAILY")
private BigDecimal cumulativeProduction; private BigDecimal cumulativeProduction;
@XText("开井时长(h)") @XText("开井时长(h)")
@JSONField(name = "starthours")
private Integer runningTime; private Integer runningTime;
@XText("来源系统")
private String systemSource;
public Long getId() {
return this.id;
}
public void setId(Long value) {
this.id = value;
}
public String getWellNumber() {
return this.wellNumber;
}
public void setWellNumber(String value) {
this.wellNumber = value;
}
public Date getNextTime() {
return this.nextTime;
}
public void setNextTime(Date value) {
this.nextTime = value;
}
public String getWellStatus() {
return this.wellStatus;
}
public void setWellStatus(String value) {
this.wellStatus = value;
}
public BigDecimal getCumulativeProduction() {
return this.cumulativeProduction;
}
public void setCumulativeProduction(BigDecimal value) {
this.cumulativeProduction = value;
}
public Integer getRunningTime() {
return this.runningTime;
}
public void setRunningTime(Integer value) {
this.runningTime = value;
}
public String getSystemSource() {
return this.systemSource;
}
public void setSystemSource(String value) {
this.systemSource = value;
}
} }
<?xml version="1.0" encoding="UTF-8"?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.prediction.mapper.ThirdCurrentWellConditionViewMapper"> <mapper namespace="pps.core.prediction.mapper.ThirdCurrentWellConditionViewMapper">
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.ThirdCurrentWellConditionView"> <resultMap id="BaseResultMap" type="pps.core.prediction.entity.ThirdCurrentWellConditionView">
<id column="id" property="id" jdbcType="BIGINT" /> <id column="id" property="id" jdbcType="BIGINT"/>
<result column="well_number" property="wellNumber" jdbcType="VARCHAR" /> <result column="well_number" property="wellNumber" jdbcType="VARCHAR"/>
<result column="next_time" property="nextTime" jdbcType="DATE" /> <result column="next_time" property="nextTime" jdbcType="DATE"/>
<result column="well_status" property="wellStatus" jdbcType="VARCHAR" /> <result column="well_status" property="wellStatus" jdbcType="VARCHAR"/>
<result column="cumulative_production" property="cumulativeProduction" jdbcType="DECIMAL" /> <result column="cumulative_production" property="cumulativeProduction" jdbcType="DECIMAL"/>
<result column="running_time" property="runningTime" jdbcType="INTEGER" /> <result column="running_time" property="runningTime" jdbcType="INTEGER"/>
<result column="system_source" property="systemSource" jdbcType="VARCHAR" /> <result column="system_source" property="systemSource" jdbcType="VARCHAR"/>
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
id, id
,
well_number, well_number,
next_time, next_time,
well_status, well_status,
cumulative_production, cumulative_production,
running_time, running_time,
system_source system_source
</sql> </sql>
<select id="selectOne" parameterType="pps.core.prediction.entity.ThirdCurrentWellConditionView" resultMap="BaseResultMap"> <select id="selectOne" parameterType="pps.core.prediction.entity.ThirdCurrentWellConditionView"
select resultMap="BaseResultMap">
<include refid="Base_Column_List" /> select
from third_current_well_condition <include refid="Base_Column_List"/>
where from third_current_well_condition
id=#{id} where
</select> id=#{id}
<select id="selectList" parameterType="pps.core.prediction.entity.ThirdCurrentWellConditionView" resultMap="BaseResultMap"> </select>
select <select id="selectList" parameterType="pps.core.prediction.entity.ThirdCurrentWellConditionView"
<include refid="Base_Column_List" /> resultMap="BaseResultMap">
from third_current_well_condition select
where <include refid="Base_Column_List"/>
id=#{id} from third_current_well_condition
</select> where
id=#{id}
</select>
<delete id="deleteByParams" parameterType="list">
DELETE FROM third_current_well_condition
WHERE
well_number IN
<foreach collection="list" item="item" open="(" separator="," close=")">
#{item.wellNumber}
</foreach>
</delete>
<insert id="batchInsertList" parameterType="list">
INSERT INTO third_current_well_condition (well_number, next_time, well_status, cumulative_production,
running_time, system_source)
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.wellNumber},
#{item.nextTime},
#{item.wellStatus},
#{item.cumulativeProduction},
#{item.runningTime},
#{item.systemSource}
)
</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