Pu Zhibing
2025-04-04 3d4eeb82dd61f8951616dece2425e870116bc23d
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java
@@ -1,6 +1,7 @@
package com.ruoyi.dataInterchange.server;
import com.alibaba.fastjson.JSON;
import com.ruoyi.dataInterchange.api.vo.GnssDataVo;
import com.ruoyi.dataInterchange.dao.*;
import com.ruoyi.dataInterchange.model.*;
import com.ruoyi.dataInterchange.model.enu.DataType;
@@ -12,6 +13,7 @@
import io.netty.channel.Channel;
import io.netty.channel.ChannelHandlerContext;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.BeanUtils;
import org.springframework.data.redis.core.RedisTemplate;
import org.springframework.stereotype.Service;
@@ -19,6 +21,7 @@
import java.time.LocalDateTime;
import java.time.ZoneOffset;
import java.util.Iterator;
import java.util.List;
/**
 * @author zhibing.pu
@@ -194,6 +197,10 @@
      upExgMsgRealLocation.setInferiorPlatformId(inferiorPlatformId);
      upExgMsgRealLocation.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
      upExgMsgRealLocationDao.save(upExgMsgRealLocation);
      //修改车辆实时定位
      GnssDataVo vo = new GnssDataVo();
      BeanUtils.copyProperties(upExgMsgRealLocation.getGnssData(), vo);
      redisTemplate.opsForValue().set("location:" + upExgMsgRealLocation.getVehicleNo(), vo);
   }
   
   
@@ -248,6 +255,19 @@
      upExgMsgHistoryLocation.setInferiorPlatformId(inferiorPlatformId);
      upExgMsgHistoryLocation.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
      upExgMsgHistoryLocationDao.save(upExgMsgHistoryLocation);
      //将数据存储实时定位数据表中
      List<GnssData> gnssData = upExgMsgHistoryLocation.getGnssData();
      for (GnssData gnssDatum : gnssData) {
         UPExgMsgRealLocation upExgMsgRealLocation = new UPExgMsgRealLocation();
         upExgMsgRealLocation.setVehicleNo(upExgMsgHistoryLocation.getVehicleNo());
         upExgMsgRealLocation.setVehicleColor(upExgMsgHistoryLocation.getVehicleColor());
         upExgMsgRealLocation.setInferiorPlatformId(inferiorPlatformId);
         upExgMsgRealLocation.setDataType(DataType.UP_EXG_MSG_REAL_LOCATION.getCode());
         upExgMsgRealLocation.setGnssData(gnssDatum);
         upExgMsgRealLocation.setCreateTime(LocalDateTime.now().toEpochSecond(ZoneOffset.ofHours(8)));
         upExgMsgRealLocationDao.save(upExgMsgRealLocation);
      }
   }