diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/mapper/RStatLimitTargetDMapper.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/mapper/RStatLimitTargetDMapper.java new file mode 100644 index 0000000..de79ea1 --- /dev/null +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/mapper/RStatLimitTargetDMapper.java @@ -0,0 +1,7 @@ +package com.njcn.mysql.mapper; + +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.mysql.bo.po.RStatLimitTargetD; + +public interface RStatLimitTargetDMapper extends MppBaseMapper { +} diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatLimitTargetDService.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatLimitTargetDService.java new file mode 100644 index 0000000..764a244 --- /dev/null +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/IRStatLimitTargetDService.java @@ -0,0 +1,11 @@ +package com.njcn.mysql.service; + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.mysql.bo.po.RStatLimitTargetD; + +import java.util.List; + +public interface IRStatLimitTargetDService extends IMppService { + + void insert(List list); +} diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java index 7c90063..b92b680 100644 --- a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/OracleToMysqlServiceImpl.java @@ -6,10 +6,7 @@ import com.njcn.mysql.bo.enums.TargetEnum; 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 com.njcn.oracle.bo.po.*; import lombok.AllArgsConstructor; import org.springframework.beans.BeanUtils; import org.springframework.stereotype.Service; @@ -38,6 +35,9 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { private final IRStatLimitRateDService rLimitRateDService; + private final IRStatLimitTargetDService rStatLimitTargetDService; + + @Override public void insertDayHarmRateV(String startTime, String endTime) { List timeList = PubUtils.getTimeList(startTime,endTime); @@ -194,6 +194,7 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { @Override public void insertLimitRate(String startTime, String endTime) { + ZoneId zoneId = ZoneId.systemDefault(); List timeList = PubUtils.getTimeList(startTime,endTime); List bakList = pqLineBakService.list(); //lineId:Oracle监测点ID id:Mysql监测点ID @@ -207,8 +208,10 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { list.forEach(data->{ if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getMyindex().toString()))) { RStatLimitRateD po = new RStatLimitRateD(); - po.setTime(data.getTimeid().toLocalDate()); + po.setTime(data.getTimeid().toInstant().atZone(zoneId).toLocalDate()); po.setLineId(oracleRelationMysql.get(data.getMyindex().toString())); + po.setAllTime(data.getAlltime()); + po.setFlickerAllTime(data.getFlicketAlltime()); BeanUtils.copyProperties(data,po); result.add(po); } @@ -227,10 +230,38 @@ public class OracleToMysqlServiceImpl implements OracleToMysqlService { @Override public void insertLimitTarget(String startTime, String endTime) { - - - - + ZoneId zoneId = ZoneId.systemDefault(); + List timeList = PubUtils.getTimeList(startTime,endTime); + List bakList = pqLineBakService.list(); + //lineId:Oracle监测点ID id:Mysql监测点ID + Map oracleRelationMysql = bakList.stream().collect(Collectors.toMap(PqLineBak::getLineId, PqLineBak::getId)); + timeList.forEach(item->{ + System.out.println("当前执行日期:"+ item); + List result = new ArrayList<>(); + long system1 = System.currentTimeMillis(); + List list = oracleDataService.getLimitTarget(item); + if(CollUtil.isNotEmpty(list)){ + list.forEach(data->{ + if (ObjUtil.isNotNull(oracleRelationMysql.get(data.getMyindex().toString()))) { + RStatLimitTargetD po = new RStatLimitTargetD(); + po.setTime(data.getTimeid().toInstant().atZone(zoneId).toLocalDate()); + po.setLineId(oracleRelationMysql.get(data.getMyindex().toString())); + po.setAllTime(data.getAlltime()); + po.setFlickerAllTime(data.getFlicketAlltime()); + 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)){ + rStatLimitTargetDService.insert(result); + long system2 = System.currentTimeMillis(); + System.out.println("查询oracle数据:"+(CollUtil.isNotEmpty(list)?list.size():0)+",插入mysql数据:"+ result.size() + ",执行时间:" + (system2-system1)/1000.0 + "s"); + } + }); } public RStatDataHarmrateVD getData1(DayHarmrateV data, Map oracleRelationMysql, String valueType) { diff --git a/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatLimitTargetDServiceImpl.java b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatLimitTargetDServiceImpl.java new file mode 100644 index 0000000..a313d27 --- /dev/null +++ b/mysql-data/mysql-target/src/main/java/com/njcn/mysql/service/impl/RStatLimitTargetDServiceImpl.java @@ -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.RStatLimitTargetD; +import com.njcn.mysql.mapper.RStatLimitTargetDMapper; +import com.njcn.mysql.service.IRStatLimitTargetDService; +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 RStatLimitTargetDServiceImpl extends MppServiceImpl implements IRStatLimitTargetDService { + + @Override + public void insert(List list) { + this.saveOrUpdateBatchByMultiId(list,50); + } +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitRate.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitRate.java index 8838eb5..5ba68fb 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitRate.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitRate.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import lombok.Getter; import lombok.Setter; @@ -24,7 +26,7 @@ public class LimitRate implements Serializable { private static final long serialVersionUID = 1L; @TableField("TIMEID") - private LocalDateTime timeid; + private Date timeid; @TableField("PHASIC_TYPE") private String phasicType; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitTarget.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitTarget.java index dda0e46..a7733ee 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitTarget.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/po/LimitTarget.java @@ -5,6 +5,8 @@ import com.baomidou.mybatisplus.annotation.TableName; import java.io.Serializable; import java.time.LocalDateTime; +import java.util.Date; + import lombok.Getter; import lombok.Setter; @@ -24,7 +26,7 @@ public class LimitTarget implements Serializable { private static final long serialVersionUID = 1L; @TableField("TIMEID") - private LocalDateTime timeid; + private Date timeid; @TableField("PHASIC_TYPE") private String phasicType;