数据分次提交改成一次性提交

This commit is contained in:
2025-06-29 14:03:24 +08:00
parent bb0f972f55
commit 747ce8a08d
5 changed files with 43 additions and 4 deletions

View File

@ -89,7 +89,7 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
System.out.println("[DEVICE] data: " + payload); System.out.println("[DEVICE] data: " + payload);
try { try {
// 业务处理逻辑 // 业务处理逻辑
// handleFxData(payload); handleFxData(payload);
EmsMqttMessage mqttMessage = new EmsMqttMessage(); EmsMqttMessage mqttMessage = new EmsMqttMessage();
mqttMessage.setMqttTopic(topic); mqttMessage.setMqttTopic(topic);
@ -148,7 +148,7 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
log.info("BMS data:"+ jsonData); log.info("BMS data:"+ jsonData);
Map<String, Map<String, Object>> records = processData(JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {})); Map<String, Map<String, Object>> records = processData(JSON.parseObject(jsonData, new TypeReference<Map<String, Object>>() {}));
List<EmsBatteryData> list = new ArrayList<>();
//单体电池 //单体电池
for (Map.Entry<String, Map<String, Object>> record : records.entrySet()) { for (Map.Entry<String, Map<String, Object>> record : records.entrySet()) {
String recordId = record.getKey(); String recordId = record.getKey();
@ -172,8 +172,10 @@ public class MqttMessageController implements MqttPublisher, MqttSubscriber {
data.setSiteId(("021")); data.setSiteId(("021"));
data.setClusterDeviceId(("021")); data.setClusterDeviceId(("021"));
list.add(data);
emsBatteryDataService.insertEmsBatteryData(data); }
if (list.size() > 0 ) {
emsBatteryDataService.insertEmsBatteryDataList(list);
} }
} else if (deviceId.contains("PCS")) { } else if (deviceId.contains("PCS")) {
log.info("===================="); log.info("====================");

View File

@ -86,4 +86,7 @@ public interface EmsBatteryDataMapper
* @return * @return
*/ */
public List<Map<String, Object>> getDataIdsMap(BatteryClusterDataDetailVo dataVo); public List<Map<String, Object>> getDataIdsMap(BatteryClusterDataDetailVo dataVo);
int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList);
} }

View File

@ -59,4 +59,13 @@ public interface IEmsBatteryDataService
* @return 结果 * @return 结果
*/ */
public int deleteEmsBatteryDataById(Long id); public int deleteEmsBatteryDataById(Long id);
/**
* 新增单体电池实时数据
*
* @param emsBatteryDataList 单体电池实时数据
* @return 结果
*/
public int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList);
} }

View File

@ -93,4 +93,12 @@ public class EmsBatteryDataServiceImpl implements IEmsBatteryDataService
{ {
return emsBatteryDataMapper.deleteEmsBatteryDataById(id); return emsBatteryDataMapper.deleteEmsBatteryDataById(id);
} }
@Override
public int insertEmsBatteryDataList(List<EmsBatteryData> emsBatteryDataList) {
for (EmsBatteryData data : emsBatteryDataList) {
data.setCreateTime(DateUtils.getNowDate());
}
return emsBatteryDataMapper.insertEmsBatteryDataList(emsBatteryDataList);
}
} }

View File

@ -176,4 +176,21 @@
</if> </if>
SELECT NULL AS type, NULL AS device_id FROM DUAL WHERE 1=0 SELECT NULL AS type, NULL AS device_id FROM DUAL WHERE 1=0
</select> </select>
<insert id="insertEmsBatteryDataList" parameterType="java.util.List">
INSERT INTO ems_battery_data (
battery_pack, battery_cluster, battery_cell_id,
voltage, temperature, soc, soh, data_timestamp,
create_by, create_time, update_by, update_time,
remark, site_id, device_id, cluster_device_id
) VALUES
<foreach collection="list" item="item" separator=",">
(
#{item.batteryPack}, #{item.batteryCluster}, #{item.batteryCellId},
#{item.voltage}, #{item.temperature}, #{item.soc}, #{item.soh}, #{item.dataTimestamp},
#{item.createBy}, #{item.createTime}, #{item.updateBy}, #{item.updateTime},
#{item.remark}, #{item.siteId}, #{item.deviceId}, #{item.clusterDeviceId}
)
</foreach>
</insert>
</mapper> </mapper>