diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/DataAsynParam.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/DataAsynParam.java new file mode 100644 index 0000000..0424739 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/DataAsynParam.java @@ -0,0 +1,25 @@ +package com.njcn.oracle.bo.param; + +import com.fasterxml.jackson.annotation.JsonFormat; +import lombok.Data; + +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.util.List; + +@Data +public class DataAsynParam { + + //起始时间 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd") + private LocalDate startTime; + + //截止时间 + @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd") + private LocalDate endTime; + + //指标名,对应表映射后的实体名 + private List tableNames; + + +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/JobQueryParam.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/JobQueryParam.java new file mode 100644 index 0000000..cafd29f --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/bo/param/JobQueryParam.java @@ -0,0 +1,18 @@ +package com.njcn.oracle.bo.param; + +import com.njcn.oracle.bo.po.JobDetail; +import lombok.Data; + +/** + * Description: + * Date: 2024/1/9 9:21【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Data +public class JobQueryParam extends DataAsynParam{ + private String state; + + +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/JobDetailMapper.xml b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/JobDetailMapper.xml new file mode 100644 index 0000000..0ba1494 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mapper/mapping/JobDetailMapper.xml @@ -0,0 +1,18 @@ + + + + + + + + + + + + + + + + "TABLE_NAME", START_TIME, END_TIME, "STATE", "ROW_COUNT", UPDATE_TIME + + \ No newline at end of file diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/mapper/JobDetailMapper.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/mapper/JobDetailMapper.java new file mode 100644 index 0000000..6200baa --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/mapper/JobDetailMapper.java @@ -0,0 +1,16 @@ +package com.njcn.oracle.mybatis.mapper; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.github.jeffreyning.mybatisplus.base.MppBaseMapper; +import com.njcn.oracle.bo.po.JobDetail; + +/** + * + * Description: + * Date: 2024/1/8 12:27【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface JobDetailMapper extends MppBaseMapper { +} \ No newline at end of file diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/IReplenishMybatisService.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/IReplenishMybatisService.java index 0ab3e6a..7f60c6b 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/IReplenishMybatisService.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/mybatis/service/IReplenishMybatisService.java @@ -2,10 +2,7 @@ package com.njcn.oracle.mybatis.service; import com.baomidou.mybatisplus.extension.service.IService; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataFlicker; -import java.time.LocalDateTime; import java.util.List; /** diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/DataSyncService.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/DataSyncService.java new file mode 100644 index 0000000..b073e9f --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/DataSyncService.java @@ -0,0 +1,15 @@ +package com.njcn.oracle.service; + +import com.njcn.oracle.bo.param.MigrationParam; +import com.njcn.oracle.mybatis.service.IReplenishMybatisService; + +/** + * Description: + * Date: 2024/1/8 16:16【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface DataSyncService { + void dataSync(IReplenishMybatisService executor, String temp, MigrationParam migration); +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/JobDetailService.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/JobDetailService.java new file mode 100644 index 0000000..614b618 --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/JobDetailService.java @@ -0,0 +1,23 @@ +package com.njcn.oracle.service; + +import com.github.jeffreyning.mybatisplus.service.IMppService; +import com.njcn.oracle.bo.param.JobQueryParam; +import com.njcn.oracle.bo.po.JobDetail; +import com.baomidou.mybatisplus.extension.service.IService; + +import java.util.List; + +/** + * + * Description: + * Date: 2024/1/8 12:27【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public interface JobDetailService extends IMppService { + + JobDetail select(JobDetail jobDetail); + + List selectByParam(JobQueryParam jobQueryParam); + } diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlickerServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlickerServiceImpl.java index ecad38e..da64ff0 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlickerServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlickerServiceImpl.java @@ -4,10 +4,8 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; import com.njcn.oracle.bo.po.DataFlicker; import com.njcn.oracle.mapper.DataFlickerMapper; -import com.njcn.oracle.mybatis.service.IReplenishMybatisService; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataFlickerService; import org.springframework.stereotype.Service; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlucServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlucServiceImpl.java index 73b33a6..2134210 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlucServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataFlucServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; import com.njcn.oracle.bo.po.DataFluc; import com.njcn.oracle.mapper.DataFlucMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicIServiceImpl.java index f29b022..58e2fd7 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicIServiceImpl.java @@ -4,7 +4,6 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; import com.njcn.oracle.bo.po.DataHarmphasicI; import com.njcn.oracle.mapper.DataHarmphasicIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicVServiceImpl.java index 9fac9e1..e12f80a 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmphasicVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataHarmphasicV; import com.njcn.oracle.bo.po.DataHarmphasicV; import com.njcn.oracle.mapper.DataHarmphasicVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataHarmphasicVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerPServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerPServiceImpl.java index 9875840..f15cdc7 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerPServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerPServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataHarmpowerP; import com.njcn.oracle.bo.po.DataHarmpowerP; import com.njcn.oracle.mapper.DataHarmpowerPMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataHarmpowerPService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerQServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerQServiceImpl.java index f833769..5a49541 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerQServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerQServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataHarmpowerQ; import com.njcn.oracle.bo.po.DataHarmpowerQ; import com.njcn.oracle.mapper.DataHarmpowerQMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataHarmpowerQService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerSServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerSServiceImpl.java index c049960..88e9a3c 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerSServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmpowerSServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataHarmpowerS; import com.njcn.oracle.bo.po.DataHarmpowerS; import com.njcn.oracle.mapper.DataHarmpowerSMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataHarmpowerSService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateIServiceImpl.java index 1f9bb09..e1a88fe 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateIServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataHarmrateI; import com.njcn.oracle.bo.po.DataHarmrateI; import com.njcn.oracle.mapper.DataHarmrateIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataHarmrateIService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateVServiceImpl.java index d4e4680..f211bed 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataHarmrateVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataHarmrateV; import com.njcn.oracle.bo.po.DataHarmrateV; import com.njcn.oracle.mapper.DataHarmrateVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataHarmrateVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataIServiceImpl.java index 4f4fc5e..ebe3d65 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataIServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataI; import com.njcn.oracle.bo.po.DataI; import com.njcn.oracle.mapper.DataIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataIService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmIServiceImpl.java index 215ae4c..136d2e7 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmIServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataInharmI; import com.njcn.oracle.bo.po.DataInharmI; import com.njcn.oracle.mapper.DataInharmIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataInharmIService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmVServiceImpl.java index 1a0631b..47e0168 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataInharmVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataInharmV; import com.njcn.oracle.bo.po.DataInharmV; import com.njcn.oracle.mapper.DataInharmVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataInharmVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataPltServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataPltServiceImpl.java index e975152..9fad9ca 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataPltServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataPltServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataPlt; import com.njcn.oracle.bo.po.DataPlt; import com.njcn.oracle.mapper.DataPltMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataPltService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataSyncServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataSyncServiceImpl.java new file mode 100644 index 0000000..49a463f --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataSyncServiceImpl.java @@ -0,0 +1,77 @@ +package com.njcn.oracle.service.impl; + +import cn.hutool.core.collection.CollectionUtil; +import com.njcn.oracle.bo.param.MigrationParam; +import com.njcn.oracle.bo.po.JobDetail; +import com.njcn.oracle.mybatis.service.IReplenishMybatisService; +import com.njcn.oracle.service.DataSyncService; +import com.njcn.oracle.service.JobDetailService; +import lombok.RequiredArgsConstructor; +import org.springframework.scheduling.annotation.Async; +import org.springframework.stereotype.Service; + +import java.time.LocalDateTime; +import java.time.temporal.ChronoUnit; +import java.util.List; +import java.util.Objects; + +/** + * Description: + * Date: 2024/1/8 16:16【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@RequiredArgsConstructor +public class DataSyncServiceImpl implements DataSyncService { + private final JobDetailService jobDetailService; + + @Override + @Async + public void dataSync(IReplenishMybatisService executor, String temp, MigrationParam migration) { + + + + List list = executor.queryData(migration); + JobDetail jobDetail = new JobDetail(); + jobDetail.setTableName(temp); + + jobDetail.setStartTime(migration.getStartTime()); + jobDetail.setEndTime(migration.getEndTime()); + + JobDetail select = jobDetailService.select(jobDetail); + if (Objects.nonNull(select)){ + if (select.getState()==2) { + jobDetail.setState(0); + jobDetail.setRowCount(list.size()); + jobDetail.setUpdateTime(LocalDateTime.now()); + jobDetailService.updateByMultiId(jobDetail); + }else { + return; + } + }else { + jobDetail.setState(0); + jobDetail.setRowCount(list.size()); + jobDetail.setUpdateTime(LocalDateTime.now()); + jobDetailService.save(jobDetail); + } + try { + if(CollectionUtil.isNotEmpty(list)){ + executor.clearTargetData(migration); + executor.insertBatchByDB(list); + + } + jobDetail.setState(1); + jobDetail.setUpdateTime(LocalDateTime.now()); + jobDetailService.updateByMultiId(jobDetail); + }catch ( + Exception e + ){ + jobDetail.setState(2); + jobDetail.setUpdateTime(LocalDateTime.now()); + jobDetailService.updateByMultiId(jobDetail); + } + + } +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataVServiceImpl.java index 7f331f3..94434a7 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DataVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DataV; import com.njcn.oracle.bo.po.DataV; import com.njcn.oracle.mapper.DataVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDataVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlickerServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlickerServiceImpl.java index ecf1f2d..cc099e6 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlickerServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlickerServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayFlicker; import com.njcn.oracle.bo.po.DayFlicker; import com.njcn.oracle.mapper.DayFlickerMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayFlickerService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlucServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlucServiceImpl.java index 42b673f..cee79f2 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlucServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayFlucServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayFluc; import com.njcn.oracle.bo.po.DayFluc; import com.njcn.oracle.mapper.DayFlucMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayFlucService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicIServiceImpl.java index b041b12..99fdeb7 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicIServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayHarmphasicI; import com.njcn.oracle.bo.po.DayHarmphasicI; import com.njcn.oracle.mapper.DayHarmphasicIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayHarmphasicIService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicVServiceImpl.java index 5f3c1d7..bd38aa1 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmphasicVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayHarmphasicV; import com.njcn.oracle.bo.po.DayHarmphasicV; import com.njcn.oracle.mapper.DayHarmphasicVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayHarmphasicVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerPServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerPServiceImpl.java index 75bed06..49163ef 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerPServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerPServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayHarmpowerP; import com.njcn.oracle.bo.po.DayHarmpowerP; import com.njcn.oracle.mapper.DayHarmpowerPMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayHarmpowerPService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerQServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerQServiceImpl.java index 4ce981d..f9e4adb 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerQServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerQServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayHarmpowerQ; import com.njcn.oracle.bo.po.DayHarmpowerQ; import com.njcn.oracle.mapper.DayHarmpowerQMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayHarmpowerQService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerSServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerSServiceImpl.java index e1753b5..ba53b5f 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerSServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmpowerSServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayHarmpowerS; import com.njcn.oracle.bo.po.DayHarmpowerS; import com.njcn.oracle.mapper.DayHarmpowerSMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayHarmpowerSService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateIServiceImpl.java index 807293a..57a2269 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateIServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayHarmrateI; import com.njcn.oracle.bo.po.DayHarmrateI; import com.njcn.oracle.mapper.DayHarmrateIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayHarmrateIService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateVServiceImpl.java index 04463fc..1b21418 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayHarmrateVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayHarmrateV; import com.njcn.oracle.bo.po.DayHarmrateV; import com.njcn.oracle.mapper.DayHarmrateVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayHarmrateVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayIServiceImpl.java index 4878f9b..4c02456 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayIServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayI; import com.njcn.oracle.bo.po.DayI; import com.njcn.oracle.mapper.DayIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayIService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmIServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmIServiceImpl.java index 763bda9..f96c076 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmIServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmIServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayInharmI; import com.njcn.oracle.bo.po.DayInharmI; import com.njcn.oracle.mapper.DayInharmIMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayInharmIService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmVServiceImpl.java index b57be02..1833c8a 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayInharmVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayInharmV; import com.njcn.oracle.bo.po.DayInharmV; import com.njcn.oracle.mapper.DayInharmVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayInharmVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayPltServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayPltServiceImpl.java index dbdd129..e69ee02 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayPltServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayPltServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayPlt; import com.njcn.oracle.bo.po.DayPlt; import com.njcn.oracle.mapper.DayPltMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayPltService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayVServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayVServiceImpl.java index 119f123..19fb2f7 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayVServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/DayVServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.DayV; import com.njcn.oracle.bo.po.DayV; import com.njcn.oracle.mapper.DayVMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.IDayVService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/JobDetailServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/JobDetailServiceImpl.java new file mode 100644 index 0000000..e047b5b --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/JobDetailServiceImpl.java @@ -0,0 +1,49 @@ +package com.njcn.oracle.service.impl; + +import com.baomidou.dynamic.datasource.annotation.DS; +import com.github.jeffreyning.mybatisplus.service.MppServiceImpl; +import com.njcn.oracle.bo.param.JobQueryParam; +import com.njcn.oracle.bo.param.ServiceTypeEnum; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; +import javax.annotation.Resource; +import java.util.List; +import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.njcn.oracle.mybatis.mapper.JobDetailMapper; +import com.njcn.oracle.bo.po.JobDetail; +import com.njcn.oracle.service.JobDetailService; +import org.springframework.util.CollectionUtils; + +/** + * + * Description: + * Date: 2024/1/8 12:27【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Service +@DS(("target")) +public class JobDetailServiceImpl extends MppServiceImpl implements JobDetailService{ + + + @Override + public JobDetail select(JobDetail jobDetail) { + JobDetail jobDetail1 = this.lambdaQuery().eq(JobDetail::getTableName,jobDetail.getTableName()). + eq(JobDetail::getStartTime,jobDetail.getStartTime()). + eq(JobDetail::getEndTime,jobDetail.getEndTime()).one(); + return jobDetail1; + } + + @Override + public List selectByParam(JobQueryParam jobQueryParam) { + List list = this.lambdaQuery().between(JobDetail::getStartTime, jobQueryParam.getStartTime(), jobQueryParam.getEndTime()). + eq(StringUtils.isNotBlank(jobQueryParam.getState()), JobDetail::getState, jobQueryParam.getState()). + in(!CollectionUtils.isEmpty(jobQueryParam.getTableNames()), JobDetail::getTableName, jobQueryParam.getTableNames()). + list(); + list.stream().forEach(temp->temp.setTableName_CN(ServiceTypeEnum.getValueByCode(temp.getTableName()))); + return list; + } + + +} diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitRateServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitRateServiceImpl.java index 288fa6e..9812922 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitRateServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitRateServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.LimitRate; import com.njcn.oracle.bo.po.LimitRate; import com.njcn.oracle.mapper.LimitRateMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.ILimitRateService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitTargetServiceImpl.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitTargetServiceImpl.java index 9c49409..60ac7d6 100644 --- a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitTargetServiceImpl.java +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/service/impl/LimitTargetServiceImpl.java @@ -4,13 +4,10 @@ import cn.hutool.core.collection.CollectionUtil; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.njcn.oracle.bo.param.MigrationParam; -import com.njcn.oracle.bo.param.ServiceType; -import com.njcn.oracle.bo.po.LimitTarget; import com.njcn.oracle.bo.po.LimitTarget; import com.njcn.oracle.mapper.LimitTargetMapper; import com.njcn.oracle.mybatis.service.impl.ReplenishMybatisServiceImpl; import com.njcn.oracle.service.ILimitTargetService; -import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.springframework.stereotype.Service; import org.springframework.util.StopWatch; diff --git a/oracle-data/oracle-source/src/main/java/com/njcn/oracle/util/LocalDateUtil.java b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/util/LocalDateUtil.java new file mode 100644 index 0000000..6c7a2bf --- /dev/null +++ b/oracle-data/oracle-source/src/main/java/com/njcn/oracle/util/LocalDateUtil.java @@ -0,0 +1,26 @@ +package com.njcn.oracle.util; + +import java.time.LocalDate; +import java.time.temporal.ChronoUnit; +import java.util.ArrayList; +import java.util.List; + +/** + * Description: + * Date: 2024/1/8 16:28【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +public class LocalDateUtil { + public static List getDateList(LocalDate startDate, LocalDate endDate) { + List dateList = new ArrayList<>(); + long daysBetween = ChronoUnit.DAYS.between(startDate, endDate); + + for (long i = 0; i <= daysBetween; i++) { + dateList.add(startDate.plusDays(i)); + } + + return dateList; + } +} diff --git a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/OracleDataApplication.java b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/OracleDataApplication.java index bc4166e..bfa6d0c 100644 --- a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/OracleDataApplication.java +++ b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/OracleDataApplication.java @@ -4,6 +4,9 @@ import lombok.extern.slf4j.Slf4j; import org.mybatis.spring.annotation.MapperScan; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.boot.autoconfigure.security.servlet.SecurityAutoConfiguration; +import org.springframework.boot.autoconfigure.security.servlet.SecurityFilterAutoConfiguration; +import org.springframework.scheduling.annotation.EnableAsync; /** * pqs @@ -13,7 +16,8 @@ import org.springframework.boot.autoconfigure.SpringBootApplication; */ @Slf4j @MapperScan("com.njcn.**.mapper") -@SpringBootApplication(scanBasePackages = "com.njcn") +@EnableAsync +@SpringBootApplication(scanBasePackages = "com.njcn",exclude = {SecurityAutoConfiguration.class, SecurityFilterAutoConfiguration.class}) public class OracleDataApplication { public static void main(String[] args) { diff --git a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java index 7c45fb3..285d9ff 100644 --- a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java +++ b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/DataSyncController.java @@ -1,9 +1,14 @@ package com.njcn.oracle.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.oracle.bo.param.DataAsynParam; import com.njcn.oracle.bo.param.MigrationParam; import com.njcn.oracle.mybatis.service.IReplenishMybatisService; +import com.njcn.oracle.service.DataSyncService; +import com.njcn.oracle.util.LocalDateUtil; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; import io.swagger.annotations.ApiOperation; @@ -15,7 +20,12 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import java.time.LocalDate; +import java.time.LocalDateTime; +import java.time.format.DateTimeFormatter; +import java.time.temporal.ChronoUnit; import java.util.List; +import java.util.Objects; /** * Description: @@ -33,17 +43,21 @@ import java.util.List; public class DataSyncController { + private final DataSyncService dataSyncService; + /** * 将时间区间拆解为24小时分区,小于24小时,仅查询当前时间区间,目前不支持指定时分秒 * 暂且不用多线程处理,因无法控制数据指标数和时间范围多大,担心 - * @param migrationParam + * @param dataAsynParam */ @PostMapping("/dataSync") @ApiOperation("数据同步") - @ApiImplicitParam(name = "componentParam", value = "组件数据", required = true) - public void dataSync(@RequestBody MigrationParam migrationParam){ + @ApiImplicitParam(name = "dataAsynParam", value = "数据同步参数", required = true) + public Boolean dataSync(@RequestBody DataAsynParam dataAsynParam){ + + DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss"); + List tableNames = dataAsynParam.getTableNames(); - List tableNames = migrationParam.getTableNames(); tableNames.stream().forEach(temp->{ IReplenishMybatisService executor = null; try { @@ -51,15 +65,33 @@ public class DataSyncController { } catch (ClassNotFoundException e) { throw new RuntimeException(e); } - List list = executor.queryData(migrationParam); - if(CollectionUtil.isNotEmpty(list)){ - executor.clearTargetData(migrationParam); - executor.insertBatchByDB(list); - } - }); + List dateList = LocalDateUtil.getDateList(dataAsynParam.getStartTime(), dataAsynParam.getEndTime()); + LocalDateTime startTime = LocalDateTimeUtil.beginOfDay(dataAsynParam.getStartTime().atStartOfDay()); + LocalDateTime endTime = LocalDateTimeUtil.endOfDay(dataAsynParam.getEndTime().atStartOfDay()); + IReplenishMybatisService finalExecutor = executor; + dateList.forEach(date->{ + LocalDateTime localDateTime = date.atStartOfDay(); + LocalDateTime tempStartTime = LocalDateTimeUtil.beginOfDay(localDateTime); + LocalDateTime tempEndTime = LocalDateTimeUtil.endOfDay(localDateTime); + tempStartTime =LocalDateTimeUtil.parse(tempStartTime.format(formatter),DatePattern.NORM_DATETIME_PATTERN); + tempEndTime =LocalDateTimeUtil.parse(tempEndTime.format(formatter),DatePattern.NORM_DATETIME_PATTERN); + MigrationParam migration = new MigrationParam(); + migration.setStartTime(tempStartTime); + migration.setEndTime(tempEndTime); + dataSyncService.dataSync(finalExecutor,temp,migration); + }); + + + + }); + return true;// HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, true, "数据同步"); } + + + + } diff --git a/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/JobDetailController.java b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/JobDetailController.java new file mode 100644 index 0000000..600b4b6 --- /dev/null +++ b/oracle-data/oracle-target/src/main/java/com/njcn/oracle/controller/JobDetailController.java @@ -0,0 +1,50 @@ +package com.njcn.oracle.controller; + + +import com.njcn.oracle.bo.param.JobQueryParam; +import com.njcn.oracle.bo.po.JobDetail; +import com.njcn.oracle.service.JobDetailService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import lombok.AllArgsConstructor; +import lombok.extern.slf4j.Slf4j; +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 java.util.List; + +/** + * Description: + * Date: 2024/1/9 9:13【需求编号】 + * + * @author clam + * @version V1.0.0 + */ +@Validated +@Slf4j +@RestController +@RequestMapping("/jobDetail") +@Api(tags = "同步任务") +@AllArgsConstructor +public class JobDetailController { + + private final JobDetailService jobDetailService; + @PostMapping("/jobQuery") + @ApiOperation("任务查询") + @ApiImplicitParam(name = "jobQueryParam", value = "任务查询参数", required = true) + public List jobQuery(@RequestBody JobQueryParam jobQueryParam){ + List jobDetails = jobDetailService.selectByParam(jobQueryParam); + return jobDetails;//HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.SUCCESS, jobDetails, "任务查询"); + } + @PostMapping("/jobRemove") + @ApiOperation("任务移除") + @ApiImplicitParam(name = "jobQueryParam", value = "任务移除参数", required = true) + public boolean jobRemove(@RequestBody JobDetail jobDetail){ + boolean b = jobDetailService.deleteByMultiId(jobDetail); + return b; + } +}