数据源库调整
This commit is contained in:
@@ -0,0 +1,59 @@
|
||||
package com.njcn.oracle.controller;
|
||||
|
||||
import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njcn.oracle.bo.param.MigrationParam;
|
||||
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
||||
import com.njcn.oracle.service.ServiceExecutorStore;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiImplicitParam;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.validation.annotation.Validated;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
import org.springframework.web.bind.annotation.RequestBody;
|
||||
import org.springframework.web.bind.annotation.RequestMapping;
|
||||
import org.springframework.web.bind.annotation.RestController;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2024/1/3 14:57【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
@Validated
|
||||
@Slf4j
|
||||
@RestController
|
||||
@RequestMapping("/data")
|
||||
@Api(tags = "数据同步")
|
||||
@AllArgsConstructor
|
||||
public class DataSyncController {
|
||||
|
||||
private final ServiceExecutorStore serviceExecutorStore;
|
||||
|
||||
@PostMapping("/dataSync")
|
||||
@ApiOperation("数据同步")
|
||||
@ApiImplicitParam(name = "componentParam", value = "组件数据", required = true)
|
||||
public void dataSync(@RequestBody MigrationParam migrationParam) {
|
||||
|
||||
List<String> tableNames = migrationParam.getTableNames();
|
||||
tableNames.stream().forEach(temp->{
|
||||
// IReplenishMybatisService executor = (IReplenishMybatisService)SpringUtil.getBean("com.njcn.oracle.service.impl." + temp + "ServiceImpl");
|
||||
IReplenishMybatisService executor = serviceExecutorStore.getExecutor(temp);
|
||||
List list = executor.queryData(migrationParam);
|
||||
if(CollectionUtil.isNotEmpty(list)){
|
||||
executor.clearTargetData(migrationParam);
|
||||
executor.insertBatchByDB(list);
|
||||
}
|
||||
|
||||
});
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
||||
@@ -4,8 +4,10 @@ import cn.hutool.core.collection.CollectionUtil;
|
||||
import cn.hutool.core.date.DatePattern;
|
||||
import cn.hutool.core.date.DateUtil;
|
||||
import cn.hutool.core.date.LocalDateTimeUtil;
|
||||
import cn.hutool.extra.spring.SpringUtil;
|
||||
import com.njcn.oracle.bo.param.MigrationParam;
|
||||
import com.njcn.oracle.bo.po.*;
|
||||
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
|
||||
import com.njcn.oracle.service.*;
|
||||
import lombok.SneakyThrows;
|
||||
import org.junit.Test;
|
||||
@@ -58,6 +60,30 @@ public class DataTest extends BaseJunitTest {
|
||||
private @Autowired ILimitTargetService limittargetservice;
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
@Test
|
||||
public void testBean() {
|
||||
LocalDateTime endTime = LocalDateTimeUtil.parse("2023-12-29 15:00:10", DatePattern.NORM_DATETIME_PATTERN);
|
||||
LocalDateTime startTime = LocalDateTimeUtil.offset(endTime, -24, ChronoUnit.HOURS);
|
||||
|
||||
// LocalDateTime endTime = LocalDateTimeUtil.parse("1970-01-02 00:00:10", DatePattern.NORM_DATETIME_PATTERN);
|
||||
// LocalDateTime startTime = LocalDateTimeUtil.offset(endTime, -2, ChronoUnit.HOURS);
|
||||
|
||||
MigrationParam migrationParam = new MigrationParam();
|
||||
migrationParam.setStartTime(startTime);
|
||||
migrationParam.setEndTime(endTime);
|
||||
IReplenishMybatisService executor = (IReplenishMybatisService) SpringUtil.getBean(Class.forName("com.njcn.oracle.service.impl.DataFlickerServiceImpl"));
|
||||
//查询数据
|
||||
List<DataFlicker> temp = executor.queryData(migrationParam);
|
||||
if(CollectionUtil.isNotEmpty(temp)){
|
||||
//清除数据
|
||||
executor.clearTargetData(migrationParam);
|
||||
//插入数据
|
||||
executor.insertBatchByDB(temp);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@SneakyThrows
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
Reference in New Issue
Block a user