Commit 3743d206 authored by ZWT's avatar ZWT

feat(零碳): 长庆

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

BREAKING CHANGE: 无

Closes 无

[skip ci]
parent 7a08db95
......@@ -19,6 +19,11 @@ public class ThirdPartyApiConstant {
*/
public static final int MAX_SECOND = 300;
/**
* 系统来源
*/
public static final String CQ_SOURCE = "长庆";
/**
* 长庆Token
*/
......
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;
......@@ -15,6 +18,9 @@ import java.util.Date;
* @date 2024/03/19
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ThirdActivePowerView implements Serializable {
@XText("ID")
@TableField
......
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;
......@@ -15,6 +18,9 @@ import java.util.Date;
* @date 2024/03/19
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ThirdCurrentWellConditionView implements Serializable {
@XText("ID")
@TableField
......
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;
......@@ -15,6 +18,9 @@ import java.util.Date;
* @date 2024/03/19
*/
@Data
@NoArgsConstructor
@AllArgsConstructor
@Builder
public class ThirdPhotovoltaicPowerView implements Serializable {
@XText("ID")
@TableField
......
package pps.core.prediction.mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;
import pps.core.prediction.entity.ThirdActivePowerView;
......@@ -16,4 +17,12 @@ public interface ThirdActivePowerViewMapper {
ThirdActivePowerView selectOne(ThirdActivePowerView record);
List<ThirdActivePowerView> selectList(ThirdActivePowerView record);
/**
* 批量新增
*
* @param list 列表
* @return int
*/
int batchInsertList(@Param(value = "list") List<ThirdActivePowerView> list);
}
package pps.core.prediction.service;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson2.JSON;
import pps.cloud.prediction.service.IThirdDataAccessCloudService;
import pps.core.prediction.constant.ThirdPartyApiConstant;
import pps.core.prediction.entity.ThirdActivePowerView;
import pps.core.prediction.mapper.ThirdActivePowerViewMapper;
import pps.core.prediction.service.data.third_active_power.GetThirdActivePowerViewOutput;
import pps.core.prediction.utils.ServiceUtil;
import xstartup.annotation.XService;
import xstartup.annotation.XText;
import xstartup.base.XContext;
import xstartup.data.XServiceResult;
import xstartup.helper.XTransactionHelper;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
......@@ -33,9 +41,27 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
String resultStr = ServiceUtil.doPostFormCq(context,
ThirdPartyApiConstant.CQ_WELL_STATION_PV_DATA,
new HashMap<>(0));
return null;
List<GetThirdActivePowerViewOutput> outputs = JSON.parseArray(resultStr, GetThirdActivePowerViewOutput.class);
if (CollUtil.isEmpty(outputs)) {
return XServiceResult.OK;
}
List<ThirdActivePowerView> dtoList = new ArrayList<>(outputs.size());
for (GetThirdActivePowerViewOutput o : outputs) {
dtoList.add(
ThirdActivePowerView.builder()
.stationName(o.getStationName())
.createDate(o.getCreateDate())
.photovoltaicPower(o.getPhotovoltaicPower())
.meterPower(o.getMeterPower())
.systemSource(ThirdPartyApiConstant.CQ_SOURCE)
.build()
);
}
return XTransactionHelper.begin(context, () -> {
ThirdActivePowerViewMapper mapper = context.getBean(ThirdActivePowerViewMapper.class);
mapper.batchInsertList(dtoList);
return XServiceResult.OK;
});
}
/**
......@@ -50,7 +76,7 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
ThirdPartyApiConstant.CQ_WELL_REAL_PV_DATA,
new HashMap<>(0));
return null;
return XServiceResult.OK;
}
/**
......@@ -67,6 +93,6 @@ public class ThirdDataAccessCloudServiceImpl implements IThirdDataAccessCloudSer
ThirdPartyApiConstant.CQ_STATION_DAILY_PV_DATA,
param);
return null;
return XServiceResult.OK;
}
}
......@@ -17,18 +17,18 @@ import java.util.Date;
public class GetThirdActivePowerViewOutput {
@XText("井组名称(线路/光伏电站)")
@JSONField(name = "")
@JSONField(name = "stationname")
private String stationName;
@XText("创建时间")
@JSONField(name = "")
@JSONField(name = "ts")
private Date createDate;
@XText("光伏有功功率(KW)")
@JSONField(name = "")
@JSONField(name = "nbQ1_P")
private BigDecimal photovoltaicPower;
@XText("电表有功功率(KW)")
@JSONField(name = "")
@JSONField(name = "PJ_P")
private BigDecimal meterPower;
}
......@@ -3,9 +3,8 @@ package pps.core.prediction.utils;
import cn.hutool.core.date.DateUnit;
import cn.hutool.core.date.DateUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONUtil;
import com.alibaba.fastjson2.JSON;
import com.alibaba.fastjson2.JSONObject;
import pps.core.auth.HttpRequestClient;
import pps.core.common.cache.ThirdPartyConfigCache;
import pps.core.prediction.constant.ThirdPartyApiConstant;
......@@ -37,7 +36,9 @@ public class ServiceUtil {
String token = ServiceUtil.getToken(context);
HttpRequestClient client = new HttpRequestClient(token);
String resultStr = client.doPostForm(url + api, param);
com.alibaba.fastjson2.JSONObject jsonObject = JSON.parseObject(resultStr);
JSONObject jsonObject = JSON.parseObject(resultStr);
context.getLogger().info("**** doPostFormCq api: {}", api);
context.getLogger().info("**** doPostFormCq resultStr: {}", resultStr);
return jsonObject.getString("data");
}
......@@ -77,8 +78,8 @@ public class ServiceUtil {
param.put("UserAccount", "PvGroup");
param.put("UserPassWord", "PvGroup@147369");
String result = XHttpUtils.postAsForm(url, param);
JSONObject jsonObject = JSONUtil.parseObj(result);
String token = jsonObject.getStr("token");
JSONObject jsonObject = JSON.parseObject(result);
String token = jsonObject.getString("token");
ServiceUtil.setThirdPartyConfigCache(context, token);
return token;
}
......
......@@ -2,15 +2,16 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="pps.core.prediction.mapper.ThirdActivePowerViewMapper">
<resultMap id="BaseResultMap" type="pps.core.prediction.entity.ThirdActivePowerView">
<id column="id" property="id" jdbcType="BIGINT" />
<result column="station_name" property="stationName" jdbcType="VARCHAR" />
<result column="create_date" property="createDate" jdbcType="DATE" />
<result column="photovoltaic_power" property="photovoltaicPower" jdbcType="DECIMAL" />
<result column="meter_power" property="meterPower" jdbcType="DECIMAL" />
<result column="system_source" property="systemSource" jdbcType="VARCHAR" />
<id column="id" property="id" jdbcType="BIGINT"/>
<result column="station_name" property="stationName" jdbcType="VARCHAR"/>
<result column="create_date" property="createDate" jdbcType="DATE"/>
<result column="photovoltaic_power" property="photovoltaicPower" jdbcType="DECIMAL"/>
<result column="meter_power" property="meterPower" jdbcType="DECIMAL"/>
<result column="system_source" property="systemSource" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
id,
id
,
station_name,
create_date,
photovoltaic_power,
......@@ -19,16 +20,30 @@
</sql>
<select id="selectOne" parameterType="pps.core.prediction.entity.ThirdActivePowerView" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from third_active_power
where
id=#{id}
</select>
<select id="selectList" parameterType="pps.core.prediction.entity.ThirdActivePowerView" resultMap="BaseResultMap">
select
<include refid="Base_Column_List" />
<include refid="Base_Column_List"/>
from third_active_power
where
id=#{id}
</select>
<insert id="batchInsertList" parameterType="list">
INSERT INTO third_active_power ( station_name, create_date, photovoltaic_power, meter_power, system_source )
VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.stationName},
#{item.createDate},
#{item.photovoltaicPower},
#{item.meterPower},
#{item.systemSource}
)
</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