Commit 73a65014 authored by duanruiming's avatar duanruiming

[update] 保存实时数据到历史表

parent 5d48a063
......@@ -3,18 +3,17 @@ package net.wanji.opt.task;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.ObjectMapper;
import lombok.RequiredArgsConstructor;
import net.wanji.common.utils.tool.BeanListUtils;
import net.wanji.common.utils.tool.JacksonUtils;
import net.wanji.common.utils.tool.StringUtils;
import net.wanji.databus.dao.mapper.*;
import net.wanji.databus.po.CrossDataRealtimePO;
import net.wanji.databus.po.CrossDirDataRealtimePO;
import net.wanji.databus.po.CrossLaneDataRealTimePO;
import net.wanji.databus.po.CrossTurnDataRealtimePO;
import net.wanji.databus.po.*;
import net.wanji.opt.kafka.ConsumerHandler;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
import org.springframework.util.CollectionUtils;
import java.util.ArrayList;
import java.util.List;
/**
......@@ -25,14 +24,22 @@ import java.util.List;
@RequiredArgsConstructor
public class DataCenterProcessTask {
private final CrossBaseLaneInfoMapper crossBaseLaneInfoMapper;
private final CrossDirDataRealtimeMapper crossDirDataRealTimeMapper;
private final CrossDirDataHistMapper crossDirDataHistMapper;
private final CrossTurnDataRealtimeMapper crossTurnDataRealTimeMapper;
private final CrossTurnDataHistMapper crossTurnDataHistMapper;
private final CrossLaneDataRealTimeMapper crossLaneDataRealTimeMapper;
private final CrossLaneDataHistMapper crossLaneDataHistMapper;
private final CrossDataRealtimeMapper crossDataRealTimeMapper;
private final CrossDataHistMapper crossDataHistMapper;
/**
* @description 收到数据中心kafka中的实时数据插入实时数据表、实时历史表
* @param []
* @return void
*/
@Scheduled(fixedRate = 1 * 60 * 1000)
@Scheduled(fixedRate = 5 * 60 * 1000)
public void realTimeDataSave() throws Exception {
ObjectMapper instance = JacksonUtils.getInstance();
......@@ -40,7 +47,10 @@ public class DataCenterProcessTask {
if (StringUtils.isNotBlank(crossRealTimeData)) {
List<CrossDataRealtimePO> crossDataRealtimePOS = instance.readValue(crossRealTimeData, new TypeReference<List<CrossDataRealtimePO>>() {});
if (!CollectionUtils.isEmpty(crossDataRealtimePOS)) {
// crossDataRealTimeMapper.insertBatch(crossDataRealtimePOS);
crossDataRealTimeMapper.insertBatch(crossDataRealtimePOS);
List<CrossDataHistPO> crossDataHistPOS = new ArrayList<>(crossDataRealtimePOS.size());
BeanListUtils.populateList(crossDataRealtimePOS, crossDataHistPOS, CrossDataHistPO.class);
crossDataHistMapper.insertBatch(crossDataHistPOS);
}
}
......@@ -48,7 +58,10 @@ public class DataCenterProcessTask {
if (StringUtils.isNotBlank(crossRealTimeDirData)) {
List<CrossDirDataRealtimePO> crossDirDataRealtimePOS = instance.readValue(crossRealTimeDirData, new TypeReference<List<CrossDirDataRealtimePO>>() {});
if (!CollectionUtils.isEmpty(crossDirDataRealtimePOS)) {
// crossDirDataRealTimeMapper.insertBatch(crossDirDataRealtimePOS);
crossDirDataRealTimeMapper.insertBatch(crossDirDataRealtimePOS);
List<CrossDirDataHistPO> list = new ArrayList<>(crossDirDataRealtimePOS.size());
BeanListUtils.populateList(crossDirDataRealtimePOS, list, CrossDirDataHistPO.class);
crossDirDataHistMapper.insertBatch(list);
}
}
......@@ -56,7 +69,10 @@ public class DataCenterProcessTask {
if (StringUtils.isNotBlank(crossRealTimeTurnData)) {
List<CrossTurnDataRealtimePO> crossTurnDataRealtimePOS = instance.readValue(crossRealTimeTurnData, new TypeReference<List<CrossTurnDataRealtimePO>>() {});
if (!CollectionUtils.isEmpty(crossTurnDataRealtimePOS)) {
// crossTurnDataRealTimeMapper.insertBatch(crossTurnDataRealtimePOS);
crossTurnDataRealTimeMapper.insertBatch(crossTurnDataRealtimePOS);
List<CrossTurnDataHistPO> list = new ArrayList<>(crossTurnDataRealtimePOS.size());
BeanListUtils.populateList(crossTurnDataRealtimePOS, list, CrossTurnDataHistPO.class);
crossTurnDataHistMapper.insertBatch(list);
}
}
......@@ -64,7 +80,10 @@ public class DataCenterProcessTask {
if (StringUtils.isNotBlank(crossRealTimeLaneData)) {
List<CrossLaneDataRealTimePO> crossLaneDataRealTimePOS = instance.readValue(crossRealTimeLaneData, new TypeReference<List<CrossLaneDataRealTimePO>>() {});
if (!CollectionUtils.isEmpty(crossLaneDataRealTimePOS)) {
// crossLaneDataRealTimeMapper.insertBatch(crossLaneDataRealTimePOS);
crossLaneDataRealTimeMapper.insertBatch(crossLaneDataRealTimePOS);
List<CrossLaneDataHistPO> crossLaneDataHistPOS = new ArrayList<>(crossLaneDataRealTimePOS.size());
BeanListUtils.populateList(crossLaneDataRealTimePOS, crossLaneDataHistPOS, CrossLaneDataHistPO.class);
crossLaneDataHistMapper.insertBatch(crossLaneDataHistPOS);
}
}
......
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