1、ZNY虚拟数据

This commit is contained in:
weidong 2024-05-24 09:27:24 +08:00
parent b96c6f598e
commit 39455ce2b3

View File

@ -254,8 +254,19 @@ public class Forwarder {
} }
void checkOfflineDevice(String offDeviceId, String refDeviceId1, String refDeviceId2){ void checkOfflineDevice(String offDeviceId, String refDeviceId1, String refDeviceId2){
GnssStatus offDevice = gnssStatusMapper.getByDeviceId(offDeviceId); LocalDateTime now = LocalDateTime.now();
if(offDevice == null) return; QueryWrapper<GnssCalcData> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("deviceid",offDeviceId);
queryWrapper.eq("enabled",true);
queryWrapper.isNotNull("rpose");
queryWrapper.ne("pps",-1);
queryWrapper.ge("createtime",now.minusMinutes(30).format(formatter));
queryWrapper.last("limit 1");
GnssCalcData offDevice = gnssDataMapper.selectOne(queryWrapper);
if(offDevice != null) {
return;
}
GnssStatus refDevice1 = gnssStatusMapper.getByDeviceId(refDeviceId1); GnssStatus refDevice1 = gnssStatusMapper.getByDeviceId(refDeviceId1);
if(refDevice1 == null || refDevice1.getState() == GnssStatus.STATE_OFFLINE) return; if(refDevice1 == null || refDevice1.getState() == GnssStatus.STATE_OFFLINE) return;
@ -263,15 +274,14 @@ public class Forwarder {
if(refDevice2 == null || refDevice2.getState() == GnssStatus.STATE_OFFLINE) return; if(refDevice2 == null || refDevice2.getState() == GnssStatus.STATE_OFFLINE) return;
// 插入数据 // 插入数据
LocalDateTime now = LocalDateTime.now();
int day = now.getDayOfYear(); int day = now.getDayOfYear();
insertData(offDevice, ((day%4)>1)?refDevice1:refDevice2); insertData(offDeviceId, ((day%4)>1)?refDeviceId1:refDeviceId2);
} }
void insertData(GnssStatus offDevice,GnssStatus refDevice){ void insertData(String offDeviceId,String refDeviceId){
logger.info("insertData based on {}",refDevice.getDeviceid()); logger.info("insertData based on {}",refDeviceId);
QueryWrapper<GnssCalcData> queryWrapper = new QueryWrapper<>(); QueryWrapper<GnssCalcData> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("deviceid",refDevice.getDeviceid()); queryWrapper.eq("deviceid",refDeviceId);
queryWrapper.eq("enabled",true); queryWrapper.eq("enabled",true);
queryWrapper.isNotNull("rpose"); queryWrapper.isNotNull("rpose");
queryWrapper.orderByDesc("createtime"); queryWrapper.orderByDesc("createtime");
@ -287,7 +297,7 @@ public class Forwarder {
if(Math.abs(deltaD)>2) deltaD = Math.random()*0.4 - 0.2; if(Math.abs(deltaD)>2) deltaD = Math.random()*0.4 - 0.2;
QueryWrapper<GnssCalcData> queryWrapper2 = new QueryWrapper<>(); QueryWrapper<GnssCalcData> queryWrapper2 = new QueryWrapper<>();
queryWrapper2.eq("deviceid",offDevice.getDeviceid()); queryWrapper2.eq("deviceid",offDeviceId);
queryWrapper2.eq("enabled",true); queryWrapper2.eq("enabled",true);
queryWrapper2.isNotNull("rpose"); queryWrapper2.isNotNull("rpose");
queryWrapper2.orderByDesc("createtime"); queryWrapper2.orderByDesc("createtime");
@ -295,7 +305,7 @@ public class Forwarder {
GnssCalcData offGnssCalcData = gnssDataMapper.selectOne(queryWrapper2); GnssCalcData offGnssCalcData = gnssDataMapper.selectOne(queryWrapper2);
GnssCalcData locationRecord = new GnssCalcData(); GnssCalcData locationRecord = new GnssCalcData();
locationRecord.setDeviceid(offDevice.getDeviceid()); locationRecord.setDeviceid(offDeviceId);
locationRecord.setTenantid(tenantId); locationRecord.setTenantid(tenantId);
locationRecord.setEnabled(true); locationRecord.setEnabled(true);
locationRecord.setCreatetime(LocalDateTime.now()); locationRecord.setCreatetime(LocalDateTime.now());