oralce数据转入mysql
This commit is contained in:
@@ -54,5 +54,25 @@ public class OracleToMysqlController {
|
||||
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
|
||||
}
|
||||
|
||||
@GetMapping("/limitRateSync")
|
||||
@ApiOperation("limit_rate转成r_stat_limit_rate_d")
|
||||
public Boolean limitRateSync(@RequestParam("startDateTime")String startDateTime, @RequestParam("endDateTime")String endDateTime) {
|
||||
DataAsynParam dataAsynParam = new DataAsynParam();
|
||||
dataAsynParam.setStartDateTime(LocalDateTimeUtil.parse(startDateTime, DatePattern.NORM_DATE_PATTERN));
|
||||
dataAsynParam.setEndDateTime(LocalDateTimeUtil.parse(endDateTime, DatePattern.NORM_DATE_PATTERN));
|
||||
oracleToMysqlService.insertLimitRate(startDateTime,endDateTime);
|
||||
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
|
||||
}
|
||||
|
||||
@GetMapping("/limitTargetSync")
|
||||
@ApiOperation("limit_target转成r_stat_limit_target_d")
|
||||
public Boolean limitTargetSync(@RequestParam("startDateTime")String startDateTime, @RequestParam("endDateTime")String endDateTime) {
|
||||
DataAsynParam dataAsynParam = new DataAsynParam();
|
||||
dataAsynParam.setStartDateTime(LocalDateTimeUtil.parse(startDateTime, DatePattern.NORM_DATE_PATTERN));
|
||||
dataAsynParam.setEndDateTime(LocalDateTimeUtil.parse(endDateTime, DatePattern.NORM_DATE_PATTERN));
|
||||
oracleToMysqlService.insertLimitTarget(startDateTime,endDateTime);
|
||||
return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步");
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,7 @@
|
||||
package com.njcn.mysql.mapper;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.base.MppBaseMapper;
|
||||
import com.njcn.mysql.bo.po.RStatLimitRateD;
|
||||
|
||||
public interface RStatLimitRateDMapper extends MppBaseMapper<RStatLimitRateD> {
|
||||
}
|
||||
@@ -0,0 +1,11 @@
|
||||
package com.njcn.mysql.service;
|
||||
|
||||
import com.github.jeffreyning.mybatisplus.service.IMppService;
|
||||
import com.njcn.mysql.bo.po.RStatLimitRateD;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public interface IRStatLimitRateDService extends IMppService<RStatLimitRateD> {
|
||||
|
||||
void insert(List<RStatLimitRateD> list);
|
||||
}
|
||||
@@ -22,4 +22,18 @@ public interface OracleToMysqlService {
|
||||
* @param endTime
|
||||
*/
|
||||
void insertDayV(String startTime, String endTime);
|
||||
|
||||
/**
|
||||
* r_stat_limit_rate_d数据插入
|
||||
* @param startTime
|
||||
* @param endTime
|
||||
*/
|
||||
void insertLimitRate(String startTime, String endTime);
|
||||
|
||||
/**
|
||||
* r_stat_limit_target_d数据插入
|
||||
* @param startTime
|
||||
* @param endTime
|
||||
*/
|
||||
void insertLimitTarget(String startTime, String endTime);
|
||||
}
|
||||
|
||||
@@ -3,16 +3,15 @@ package com.njcn.mysql.service.impl;
|
||||
import cn.hutool.core.collection.CollUtil;
|
||||
import cn.hutool.core.util.ObjUtil;
|
||||
import com.njcn.mysql.bo.enums.TargetEnum;
|
||||
import com.njcn.mysql.bo.po.PqLineBak;
|
||||
import com.njcn.mysql.bo.po.RStatDataHarmrateVD;
|
||||
import com.njcn.mysql.bo.po.RStatDataVD;
|
||||
import com.njcn.mysql.bo.po.RStatIntegrityD;
|
||||
import com.njcn.mysql.bo.po.*;
|
||||
import com.njcn.mysql.service.*;
|
||||
import com.njcn.mysql.util.PubUtils;
|
||||
import com.njcn.oracle.bo.po.DayHarmrateV;
|
||||
import com.njcn.oracle.bo.po.DayV;
|
||||
import com.njcn.oracle.bo.po.LimitRate;
|
||||
import com.njcn.oracle.bo.po.PqsIntegrity;
|
||||
import lombok.AllArgsConstructor;
|
||||
import org.springframework.beans.BeanUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.time.ZoneId;
|
||||
@@ -37,6 +36,8 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService {
|
||||
|
||||
private final IRStatDataVDService rStatDataVDService;
|
||||
|
||||
private final IRStatLimitRateDService rLimitRateDService;
|
||||
|
||||
@Override
|
||||
public void insertDayHarmRateV(String startTime, String endTime) {
|
||||
List<String> timeList = PubUtils.getTimeList(startTime,endTime);
|
||||
@@ -189,6 +190,47 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService {
|
||||
System.out.println("查询oracle数据:"+(CollUtil.isNotEmpty(list)?list.size():0)+",插入mysql数据:"+ result.size() + ",执行时间:" + (system2-system1)/1000.0 + "s");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertLimitRate(String startTime, String endTime) {
|
||||
List<String> timeList = PubUtils.getTimeList(startTime,endTime);
|
||||
List<PqLineBak> bakList = pqLineBakService.list();
|
||||
//lineId:Oracle监测点ID id:Mysql监测点ID
|
||||
Map<String, String> oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId));
|
||||
timeList.forEach(item->{
|
||||
System.out.println("当前执行日期:"+ item);
|
||||
List<RStatLimitRateD> result = new ArrayList<>();
|
||||
long system1 = System.currentTimeMillis();
|
||||
List<LimitRate> list = oracleDataService.getLimitRate(item);
|
||||
if(CollUtil.isNotEmpty(list)){
|
||||
list.forEach(data->{
|
||||
if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getMyindex().toString()))) {
|
||||
RStatLimitRateD po = new RStatLimitRateD();
|
||||
po.setTime(data.getTimeid().toLocalDate());
|
||||
po.setLineId(oracleRelationMysql.get(data.getMyindex().toString()));
|
||||
BeanUtils.copyProperties(data,po);
|
||||
result.add(po);
|
||||
}
|
||||
});
|
||||
} else {
|
||||
long system2 = System.currentTimeMillis();
|
||||
System.out.println("查询oracle数据:0,执行时间:" + (system2-system1)/1000.0 + "s");
|
||||
}
|
||||
if(CollUtil.isNotEmpty(result)){
|
||||
rLimitRateDService.insert(result);
|
||||
long system2 = System.currentTimeMillis();
|
||||
System.out.println("查询oracle数据:"+(CollUtil.isNotEmpty(list)?list.size():0)+",插入mysql数据:"+ result.size() + ",执行时间:" + (system2-system1)/1000.0 + "s");
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
@Override
|
||||
public void insertLimitTarget(String startTime, String endTime) {
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
public RStatDataHarmrateVD getData1(DayHarmrateV data, Map<String, String> oracleRelationMysql, String valueType) {
|
||||
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.njcn.mysql.service.impl;
|
||||
|
||||
import com.baomidou.dynamic.datasource.annotation.DS;
|
||||
import com.github.jeffreyning.mybatisplus.service.MppServiceImpl;
|
||||
import com.njcn.mysql.bo.po.RStatLimitRateD;
|
||||
import com.njcn.mysql.mapper.RStatLimitRateDMapper;
|
||||
import com.njcn.mysql.service.IRStatLimitRateDService;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* 类的介绍:
|
||||
*
|
||||
* @author xuyang
|
||||
* @version 1.0.0
|
||||
* @createTime 2023/3/24 9:53
|
||||
*/
|
||||
@DS("target")
|
||||
@Service
|
||||
public class RStatLimitRateDServiceImpl extends MppServiceImpl<RStatLimitRateDMapper, RStatLimitRateD> implements IRStatLimitRateDService {
|
||||
|
||||
@Override
|
||||
public void insert(List<RStatLimitRateD> list) {
|
||||
this.saveOrUpdateBatchByMultiId(list,50);
|
||||
}
|
||||
}
|
||||
@@ -69,8 +69,8 @@ spring:
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
# master:
|
||||
# url: jdbc:oracle:thin:@10.118.135.139:1521:pqsbase
|
||||
# username: pqsadmin
|
||||
# password: Pqsadmin123
|
||||
# username: pqsbase_xcs
|
||||
# password: pqsadmin
|
||||
# driver-class-name: oracle.jdbc.driver.OracleDriver
|
||||
# target:
|
||||
# url: jdbc:mysql://10.118.135.128:13306/pqsinfo?useUnicode=true&characterEncoding=utf-8&useSSL=true&serverTimezone=CTT
|
||||
|
||||
Reference in New Issue
Block a user