添加数据同步代码
This commit is contained in:
@@ -44,6 +44,7 @@ public abstract class ReplenishMybatisServiceImpl<M extends BatchBaseMapper<T>,
|
|||||||
} else {
|
} else {
|
||||||
this.baseMapper.insertBatchSomeColumn(dataTemp);
|
this.baseMapper.insertBatchSomeColumn(dataTemp);
|
||||||
}
|
}
|
||||||
|
System.gc();
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -1,5 +1,6 @@
|
|||||||
package com.njcn.oracle.service;
|
package com.njcn.oracle.service;
|
||||||
|
|
||||||
|
import com.njcn.oracle.bo.param.DataAsynParam;
|
||||||
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
||||||
|
|
||||||
import java.time.LocalDate;
|
import java.time.LocalDate;
|
||||||
@@ -13,4 +14,6 @@ import java.time.LocalDate;
|
|||||||
*/
|
*/
|
||||||
public interface DataSyncService {
|
public interface DataSyncService {
|
||||||
void dataSync(IReplenishMybatisService executor, String temp, LocalDate migration);
|
void dataSync(IReplenishMybatisService executor, String temp, LocalDate migration);
|
||||||
|
|
||||||
|
void dataBacthSysc(DataAsynParam dataAsynParam);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -3,11 +3,14 @@ package com.njcn.oracle.service.impl;
|
|||||||
import cn.hutool.core.collection.CollectionUtil;
|
import cn.hutool.core.collection.CollectionUtil;
|
||||||
import cn.hutool.core.date.DatePattern;
|
import cn.hutool.core.date.DatePattern;
|
||||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||||
|
import cn.hutool.extra.spring.SpringUtil;
|
||||||
|
import com.njcn.oracle.bo.param.DataAsynParam;
|
||||||
import com.njcn.oracle.bo.param.MigrationParam;
|
import com.njcn.oracle.bo.param.MigrationParam;
|
||||||
import com.njcn.oracle.bo.po.JobDetail;
|
import com.njcn.oracle.bo.po.JobDetail;
|
||||||
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
||||||
import com.njcn.oracle.service.DataSyncService;
|
import com.njcn.oracle.service.DataSyncService;
|
||||||
import com.njcn.oracle.service.JobDetailService;
|
import com.njcn.oracle.service.JobDetailService;
|
||||||
|
import com.njcn.oracle.util.LocalDateUtil;
|
||||||
import lombok.RequiredArgsConstructor;
|
import lombok.RequiredArgsConstructor;
|
||||||
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.scheduling.annotation.Async;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
@@ -31,7 +34,6 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|||||||
private final JobDetailService jobDetailService;
|
private final JobDetailService jobDetailService;
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
@Async
|
|
||||||
public void dataSync(IReplenishMybatisService executor, String temp, LocalDate date) {
|
public void dataSync(IReplenishMybatisService executor, String temp, LocalDate date) {
|
||||||
StopWatch stopWatch = new StopWatch();
|
StopWatch stopWatch = new StopWatch();
|
||||||
stopWatch.start();
|
stopWatch.start();
|
||||||
@@ -85,4 +87,26 @@ public class DataSyncServiceImpl implements DataSyncService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@Async
|
||||||
|
public void dataBacthSysc(DataAsynParam dataAsynParam) {
|
||||||
|
List<String> tableNames = dataAsynParam.getTableNames();
|
||||||
|
|
||||||
|
tableNames.stream().forEach(temp->{
|
||||||
|
IReplenishMybatisService executor = null;
|
||||||
|
try {
|
||||||
|
executor = (IReplenishMybatisService) SpringUtil.getBean(Class.forName("com.njcn.oracle.service.impl." + temp + "ServiceImpl"));
|
||||||
|
} catch (ClassNotFoundException e) {
|
||||||
|
throw new RuntimeException(e);
|
||||||
|
}
|
||||||
|
List<LocalDate> dateList = LocalDateUtil.getDateList(dataAsynParam.getStartTime(), dataAsynParam.getEndTime());
|
||||||
|
IReplenishMybatisService finalExecutor = executor;
|
||||||
|
dateList.forEach(date->{
|
||||||
|
|
||||||
|
this.dataSync(finalExecutor,temp,date);
|
||||||
|
});
|
||||||
|
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -53,26 +53,10 @@ public class DataSyncController {
|
|||||||
@ApiImplicitParam(name = "dataAsynParam", value = "数据同步参数", required = true)
|
@ApiImplicitParam(name = "dataAsynParam", value = "数据同步参数", required = true)
|
||||||
public Boolean dataSync(@RequestBody DataAsynParam dataAsynParam){
|
public Boolean dataSync(@RequestBody DataAsynParam dataAsynParam){
|
||||||
|
|
||||||
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
|
|
||||||
List<String> tableNames = dataAsynParam.getTableNames();
|
|
||||||
|
|
||||||
tableNames.stream().forEach(temp->{
|
|
||||||
IReplenishMybatisService executor = null;
|
|
||||||
try {
|
|
||||||
executor = (IReplenishMybatisService) SpringUtil.getBean(Class.forName("com.njcn.oracle.service.impl." + temp + "ServiceImpl"));
|
|
||||||
} catch (ClassNotFoundException e) {
|
|
||||||
throw new RuntimeException(e);
|
|
||||||
}
|
|
||||||
List<LocalDate> dateList = LocalDateUtil.getDateList(dataAsynParam.getStartTime(), dataAsynParam.getEndTime());
|
|
||||||
IReplenishMybatisService finalExecutor = executor;
|
|
||||||
dateList.forEach(date->{
|
|
||||||
|
|
||||||
dataSyncService.dataSync(finalExecutor,temp,date);
|
|
||||||
});
|
|
||||||
|
|
||||||
|
|
||||||
|
dataSyncService.dataBacthSysc(dataAsynParam);
|
||||||
|
|
||||||
});
|
|
||||||
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
|
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user