添加在线监测表同步

This commit is contained in:
hzj
2024-05-10 08:53:51 +08:00
parent 660e14e149
commit bb0966a189
17 changed files with 403 additions and 15 deletions

View File

@@ -1,10 +1,13 @@
package com.njcn.influx.controller;
import cn.hutool.core.collection.CollectionUtil;
import cn.hutool.core.date.DatePattern;
import cn.hutool.core.date.LocalDateTimeUtil;
import cn.hutool.extra.spring.SpringUtil;
import com.njcn.influx.bo.param.TableEnum;
import com.njcn.influx.service.InfluxDBBaseService;
import com.njcn.influx.service.OracleToInfluxDBService;
import com.njcn.influx.service.PqsOnlineratePOService;
import com.njcn.oracle.bo.param.DataAsynParam;
import com.njcn.oracle.bo.param.MigrationParam;
import com.njcn.oracle.mybatis.service.IReplenishMybatisService;
@@ -16,10 +19,7 @@ import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
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 org.springframework.web.bind.annotation.*;
import java.lang.reflect.Method;
import java.time.LocalDate;
@@ -44,6 +44,8 @@ import java.util.stream.Stream;
public class OracleToInfluxDBController {
private final OracleToInfluxDBService oracleToInfluxDBService;
private final PqsOnlineratePOService pqsOnlineratePOService;
@PostMapping("/dataSync")
@ApiOperation("数据同步")
@ApiImplicitParam(name = "dataAsynParam", value = "数据同步参数", required = true)
@@ -54,6 +56,30 @@ public class OracleToInfluxDBController {
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
}
@GetMapping("/dataSyncHours")
@ApiOperation("数据同步")
public Boolean dataSyncHours(@RequestParam("startDateTime") String startDateTime,@RequestParam("endDateTime") String endDateTime) {
DataAsynParam dataAsynParam = new DataAsynParam();
dataAsynParam.setStartDateTime(LocalDateTimeUtil.parse(startDateTime, DatePattern.NORM_DATETIME_PATTERN));
dataAsynParam.setEndDateTime(LocalDateTimeUtil.parse(endDateTime, DatePattern.NORM_DATETIME_PATTERN));
oracleToInfluxDBService.AsyncData(dataAsynParam);
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
}
@GetMapping("/onlinerateSync")
@ApiOperation("onlinerate表数据同步")
public Boolean onlinerateSync(@RequestParam("startDateTime") String startDateTime,@RequestParam("endDateTime") String endDateTime) {
DataAsynParam dataAsynParam = new DataAsynParam();
dataAsynParam.setStartDateTime(LocalDateTimeUtil.parse(startDateTime, DatePattern.NORM_DATETIME_PATTERN));
dataAsynParam.setEndDateTime(LocalDateTimeUtil.parse(endDateTime, DatePattern.NORM_DATETIME_PATTERN));
pqsOnlineratePOService.AsyncData(dataAsynParam);
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
}
}

View File

@@ -4,6 +4,7 @@ import com.njcn.influx.bo.param.TableEnum;
import com.njcn.influx.service.OracleEventDetailToMysqlService;
import com.njcn.influx.service.OracleMonitorStatusToMysqlService;
import com.njcn.influx.service.OracleToInfluxDBService;
import com.njcn.influx.service.PqsOnlineratePOService;
import com.njcn.oracle.bo.param.DataAsynParam;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
@@ -33,6 +34,8 @@ public class OracleToInfluxDBJob {
private final OracleEventDetailToMysqlService oracleEventDetailToMysqlService;
private final OracleMonitorStatusToMysqlService oracleMonitorStatusToMysqlService;
private final PqsOnlineratePOService pqsOnlineratePOService;
/*@Scheduled(cron="0 5 0 * * ?")
public void execute() {
DataAsynParam dataAsynParam = new DataAsynParam();
@@ -63,13 +66,24 @@ public class OracleToInfluxDBJob {
dataAsynParam.setExcuteType(2);
oracleToInfluxDBService.hourseDataBacthSysc(dataAsynParam);
}
//每10分钟执行一次pqOnlinerate表同步
@Scheduled(cron="0 0/10 * * * ?")
public void pqOnlinerate() {
DataAsynParam dataAsynParam = new DataAsynParam();
// 获取当前时间
LocalDateTime now = LocalDateTime.now();
dataAsynParam.setStartDateTime(now);
pqsOnlineratePOService.minutesDataBacthSysc(dataAsynParam);
}
/**
* 每小时同步oracle数据库暂态事件
* @date 2024/3/5
*/
@Scheduled(cron="0 30 * * * ?")
@Scheduled(cron="0 0/1 * * * ?")
public void executeEvent() {
// 获取当前时间
LocalDateTime now = LocalDateTime.now();