oralce同步到influxDB
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
package com.njcn.oracle.job;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.njcn.oracle.bo.param.DataAsynParam;
|
||||
import com.njcn.oracle.bo.param.ServiceTypeEnum;
|
||||
import com.njcn.oracle.bo.po.JobHistoryLog;
|
||||
import com.njcn.oracle.service.IOracleService;
|
||||
import com.njcn.oracle.service.JobHistoryLogService;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.springframework.beans.factory.annotation.Value;
|
||||
import org.springframework.scheduling.annotation.EnableScheduling;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
|
||||
import java.time.LocalDate;
|
||||
import java.time.LocalDateTime;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Objects;
|
||||
import java.util.Optional;
|
||||
|
||||
/**
|
||||
* Description:
|
||||
* Date: 2024/1/18 10:08【需求编号】
|
||||
*
|
||||
* @author clam
|
||||
* @version V1.0.0
|
||||
*/
|
||||
|
||||
@Component
|
||||
@EnableScheduling
|
||||
@RequiredArgsConstructor
|
||||
@Slf4j
|
||||
public class OracleToOralceJob {
|
||||
private final IOracleService oracleService;
|
||||
|
||||
private final JobHistoryLogService jobHistoryLogService;
|
||||
|
||||
@Value("${job.slice:3}")
|
||||
private int slice;
|
||||
@Value("${job.startime}")
|
||||
private String startime;
|
||||
@Value("${job.endtime}")
|
||||
private String endtime;
|
||||
|
||||
@Scheduled(cron="0 5 0 * * ?")
|
||||
public void execute() {
|
||||
QueryWrapper<JobHistoryLog> queryWrapper = new QueryWrapper<>();
|
||||
queryWrapper.select("max(LAST_DATE) as LAST_DATE");
|
||||
LocalDate startDate ;
|
||||
LocalDate endDate ;
|
||||
JobHistoryLog one = jobHistoryLogService.getBaseMapper().selectOne(queryWrapper);
|
||||
if (Objects.isNull(one)){
|
||||
startDate =LocalDate.parse(startime);
|
||||
}else {
|
||||
startDate = one.getLastDate();
|
||||
}
|
||||
//获取配置的endtime。现在时间减1天,开始时间+时间间隔最小值当enddate
|
||||
List<LocalDate> dates = Arrays.asList(LocalDate.parse(endtime), LocalDate.now().plusDays(-1), startDate.plusDays(slice));
|
||||
|
||||
endDate = dates.stream().min(LocalDate::compareTo).get();
|
||||
|
||||
|
||||
DataAsynParam dataAsynParam = new DataAsynParam();
|
||||
dataAsynParam.setStartTime(startDate);
|
||||
dataAsynParam.setEndTime(endDate);
|
||||
dataAsynParam.setTableNames(ServiceTypeEnum.getExecutableTypes());
|
||||
oracleService.dataBacthSysc(dataAsynParam);
|
||||
jobHistoryLogService.save(new JobHistoryLog(endDate, LocalDateTime.now()));
|
||||
}
|
||||
|
||||
}
|
||||
@@ -62,8 +62,8 @@ spring:
|
||||
driver-class-name: oracle.jdbc.driver.OracleDriver
|
||||
target:
|
||||
url: jdbc:oracle:thin:@192.168.1.51:1521:pqsbase
|
||||
username: pqsadmin_hn
|
||||
password: pqsadmin
|
||||
username: pqsadmin
|
||||
password: Pqsadmin123
|
||||
driver-class-name: oracle.jdbc.driver.OracleDriver
|
||||
#mybatis配置信息
|
||||
mybatis-plus:
|
||||
@@ -86,3 +86,9 @@ mybatis-plus:
|
||||
business:
|
||||
slice: 4
|
||||
|
||||
#配置job相关参数
|
||||
job:
|
||||
startime: 2023-01-01
|
||||
endtime: 2023-04-01
|
||||
#每天执行数据量(天数)
|
||||
slice: 1
|
||||
|
||||
Reference in New Issue
Block a user