1、修改贵州院UDP推送

This commit is contained in:
weidong 2024-01-30 20:37:04 +08:00
parent 5732629274
commit c922252b88
3 changed files with 34 additions and 35 deletions

View File

@ -3,9 +3,6 @@ package com.imdroid.beidou_fwd.entity;
import lombok.Data; import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/** /**
* udp数据推送 api * udp数据推送 api
* *
@ -16,14 +13,7 @@ public class GZYData {
private String identityName; private String identityName;
private String type = "dbwy"; private String type = "dbwy";
private List<Data> TranData; private Data TranData;
public GZYData(){
TranData = new ArrayList<>();
}
public void addData(Data data){
TranData.add(data);
}
@lombok.Data @lombok.Data
public static class Data { public static class Data {

View File

@ -17,6 +17,8 @@ public class Forwarder {
Integer tenantId; Integer tenantId;
boolean useFwdId; boolean useFwdId;
static boolean isFwdTableInit = false;
@Autowired @Autowired
private GnssDeviceMapper deviceMapper; private GnssDeviceMapper deviceMapper;
@ -36,6 +38,11 @@ public class Forwarder {
this.description = desc; this.description = desc;
this.tenantId = tenantId; this.tenantId = tenantId;
this.useFwdId = useFwdId; this.useFwdId = useFwdId;
if(!isFwdTableInit){
isFwdTableInit = true;
fwdMapper.delete(null);
}
QueryWrapper<GnssGroupFwd> queryWrapper = new QueryWrapper<>(); QueryWrapper<GnssGroupFwd> queryWrapper = new QueryWrapper<>();
queryWrapper.eq("name",name); queryWrapper.eq("name",name);
GnssGroupFwd gnssGroupFwd = fwdMapper.selectOne(queryWrapper); GnssGroupFwd gnssGroupFwd = fwdMapper.selectOne(queryWrapper);
@ -65,6 +72,15 @@ public class Forwarder {
.eq("fwd_group_id2", fwdGroupId); .eq("fwd_group_id2", fwdGroupId);
List<GnssDevice> gnssDeviceList = deviceMapper.selectList(queryWrapper); List<GnssDevice> gnssDeviceList = deviceMapper.selectList(queryWrapper);
List<GnssCalcData> recordsToSend; List<GnssCalcData> recordsToSend;
// 查询最近半小时的记录
QueryWrapper<GnssCalcData> gnssQueryWrapper = new QueryWrapper<>();
gnssQueryWrapper.ge("createtime",sendAfterTime);
gnssQueryWrapper.orderByDesc("createtime");
gnssQueryWrapper.eq("enabled",true);
gnssQueryWrapper.isNotNull("rpose");
List<GnssCalcData> locationRecords = gnssDataMapper.selectList(gnssQueryWrapper);
for(GnssDevice device:gnssDeviceList){ for(GnssDevice device:gnssDeviceList){
if(device.getOpmode() != GnssDevice.OP_MODE_USE) continue; if(device.getOpmode() != GnssDevice.OP_MODE_USE) continue;
String projectId = device.getProject_id(); String projectId = device.getProject_id();
@ -75,27 +91,21 @@ public class Forwarder {
recordsToSend = new ArrayList<>(); recordsToSend = new ArrayList<>();
projects.put(projectId,recordsToSend); projects.put(projectId,recordsToSend);
} }
QueryWrapper<GnssCalcData> gnssQueryWrapper = new QueryWrapper<>(); for(GnssCalcData record:locationRecords){
gnssQueryWrapper.eq("deviceid",device.getDeviceid()); if(record.getDeviceid().equals(device.getDeviceid())) {
gnssQueryWrapper.ge("createtime",sendAfterTime); // 替换成推送用的名字和数值
gnssQueryWrapper.orderByDesc("createtime"); if (device.getIpose() != null &&
gnssQueryWrapper.eq("enabled",true); device.getIposn() != null &&
gnssQueryWrapper.isNotNull("rpose"); device.getIposd() != null) {
gnssQueryWrapper.last("limit 1"); record.setRpose(record.getRpose() - device.getIpose());
GnssCalcData record = gnssDataMapper.selectOne(gnssQueryWrapper); record.setRposn(record.getRposn() - device.getIposn());
if(record!=null) { record.setRposd(record.getRposd() - device.getIposd());
// 替换成推送用的名字和数值 }
if(device.getIpose()!=null && if (useFwdId && device.getFwddeviceid() != null && device.getFwddeviceid().trim().length() > 0) {
device.getIposn()!=null && record.setDeviceid(device.getFwddeviceid());
device.getIposd()!=null){ }
record.setRpose(record.getRpose()-device.getIpose()); recordsToSend.add(record);
record.setRposn(record.getRposn()-device.getIposn());
record.setRposd(record.getRposd()-device.getIposd());
} }
if(useFwdId && device.getFwddeviceid()!=null && device.getFwddeviceid().trim().length()>0) {
record.setDeviceid(device.getFwddeviceid());
}
recordsToSend.add(record);
} }
} }

View File

@ -40,7 +40,7 @@ public class GZYForwarder extends Forwarder{
/** /**
* 每半小时转发GNSS解算结果 * 每半小时转发GNSS解算结果
*/ */
@Scheduled(cron = "0 0/30 * * * ?") // 每30分钟执行一次 @Scheduled(cron = "0 0/5 * * * ?") // 每30分钟执行一次
private void forwardGnss() { private void forwardGnss() {
forwardCurrentGnss(FORWARDER_NAME); forwardCurrentGnss(FORWARDER_NAME);
} }
@ -67,9 +67,8 @@ public class GZYForwarder extends Forwarder{
tranData.setX(n); tranData.setX(n);
tranData.setY(e); tranData.setY(e);
tranData.setZ(d); tranData.setZ(d);
gzyData.addData(tranData); gzyData.setTranData(tranData);
String json = GsonUtil.toJson(gzyData); String msg = "JGKJ" + GsonUtil.toJson(gzyData) + "#!";
String msg = "JGKJ" + json + "#!";
logger.info("forward to GZY"); logger.info("forward to GZY");
logger.info(msg); logger.info(msg);
udpClient.sendMessage(msg); udpClient.sendMessage(msg);