package com.product.kt.test.service2;
|
|
import java.util.Map;
|
|
import com.google.common.collect.Maps;
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.stereotype.Service;
|
import com.product.kt.test.config.SyncConfig;
|
import net.minidev.json.JSONObject;
|
|
@Service
|
public class ToolsThread2 {
|
|
private static final Logger LOG = LoggerFactory.getLogger(ToolsThread2.class);
|
|
@Autowired
|
SyncToolsHandler2 syncToolsHandler;
|
|
// 连接map
|
public static Map<String, String> dataSourceMap = SyncConfig.DATA_SOURCE_MAP;
|
|
// 同步表map
|
public static Map<String, JSONObject> readTableMap = SyncConfig.SYNC_TABLE_MAP;
|
//每次读取数据量大小
|
public static int pageSize = SyncConfig.PAGE_SIZE;
|
|
public void receiveBookJobRun() {
|
if (!readTableMap.isEmpty()) {
|
|
// 入库开始时间
|
Long inserOrUpdateBegin = System.currentTimeMillis();
|
LOG.info("数据更新开始时间:" + inserOrUpdateBegin);
|
|
//遍历同步表
|
readTableMap.forEach((tableName, specialField) -> {
|
String orderField = specialField.getAsString("order_field");
|
String timeField = specialField.getAsString("time_field");
|
|
dataSourceMap.forEach((sourceLinkUUID, targetLinkUUID) -> {
|
syncToolsHandler.syncToolData(sourceLinkUUID, tableName, orderField, timeField);
|
});
|
|
});
|
syncToolsHandler.clearExecutor();
|
Long inserOrUpdateEnd = System.currentTimeMillis();
|
LOG.info("数据更新结束时间:" + inserOrUpdateEnd + "。此次更新数据花费时间为:" + (inserOrUpdateEnd - inserOrUpdateBegin));
|
}
|
}
|
}
|