diff --git a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java index 4be59e8c..d3cd3792 100644 --- a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java +++ b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/Forwarder.java @@ -37,17 +37,17 @@ public class Forwarder { static boolean isFwdTableInit = true;//false; @Autowired - private GnssDeviceMapper deviceMapper; + GnssDeviceMapper deviceMapper; @Autowired - private GnssCalcDataMapper gnssDataMapper; + GnssCalcDataMapper gnssDataMapper; @Autowired - private FwdRecordMapper fwdRecordsMapper; + FwdRecordMapper fwdRecordsMapper; @Autowired - private ResendRecordMapper resendRecordMapper; + ResendRecordMapper resendRecordMapper; @Autowired - private GnssStatusMapper gnssStatusMapper; + GnssStatusMapper gnssStatusMapper; @Autowired GnssGroupFwdMapper fwdMapper; diff --git a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GXJSForwarder.java b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GXJSForwarder.java index 433b57c3..a751635f 100644 --- a/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GXJSForwarder.java +++ b/sec-beidou-fwd/src/main/java/com/imdroid/beidou_fwd/task/GXJSForwarder.java @@ -1,6 +1,9 @@ package com.imdroid.beidou_fwd.task; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; import com.imdroid.beidou_fwd.service.TCPClient; +import com.imdroid.secapi.dto.ResendRecord; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Configuration; import org.springframework.scheduling.annotation.EnableScheduling; @@ -8,6 +11,8 @@ import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import javax.annotation.PostConstruct; +import java.time.LocalDateTime; +import java.util.List; @Component @Configuration @@ -43,6 +48,28 @@ public class GXJSForwarder extends GXXfzForwarder{ @Override void forwardHistoryGnss(){ + // 1.从转发记录表里检索待补传记录时间表,含设备Id,时间段 + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.eq("fwd_group_id",fwdGroupId); + queryWrapper.eq("state",ResendRecord.STATE_BREAK_POINT); + queryWrapper.ge("createtime", LocalDateTime.now().minusDays(30)); + List resendRecordsList = resendRecordMapper.selectList(queryWrapper); + if(resendRecordsList!=null && resendRecordsList.size()>0){ + //修改状态 + UpdateWrapper updateWrapper = new UpdateWrapper<>(); + updateWrapper.eq("fwd_group_id",fwdGroupId); + updateWrapper.eq("state",ResendRecord.STATE_BREAK_POINT); + updateWrapper.ge("createtime", LocalDateTime.now().minusDays(30)); + updateWrapper.set("state",ResendRecord.STATE_FWDING); + int updateNum = resendRecordMapper.update(null, updateWrapper); + logger.debug("{} forward history records: {}, update {}",fwdGroupId, resendRecordsList.size(),updateNum); + // 2.检索这个这个时间段的解算结果,如果有数据则单个终端转发,标志记录为已补传 + for(ResendRecord record:resendRecordsList){ + if(record.getProjectid()!=null) + logger.debug("{} forward history {}",fwdGroupId, record.getProjectid()); + forwardBatchGnssRecords(record); + } + } } }