oralce同步到influxDB

This commit is contained in:
hzj
2024-01-18 14:24:48 +08:00
parent f4f71e78c4
commit 31b539f44e
9 changed files with 226 additions and 3 deletions

View File

@@ -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()));
}
}

View File

@@ -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