puzhibing
118 分钟以前 4ad32c37e3317fb6cb7cbfb034b53d3220c27db4
ruoyi-service/ruoyi-dataInterchange/src/main/java/com/ruoyi/dataInterchange/server/ExgMsgService.java
@@ -55,7 +55,7 @@
   
   public void up_exg_msg(ChannelHandlerContext ctx, OuterPacket out) {
      if (!redisTemplate.hasKey("login:" + out.getGnsscenterId())) {
         log.error("链路还未登录校验,拒绝连接");
         log.error("链路还未登录校验,拒绝连接:{}", out.getGnsscenterId());
         ctx.close();
         return;
      }
@@ -177,7 +177,7 @@
      downExgMsgReportDriverInfo.setDataType(DataType.DOWN_EXG_MSG_REPORT_DRIVER_INFO.getCode());
      downExgMsgReportDriverInfo.setDataLength(0);
      byte[] body = downExgMsgReportDriverInfo.encode();
      OuterPacket out = new OuterPacket(DataType.DOWN_EXG_MSG.getCode(), body);
      OuterPacket out = new OuterPacket(DataType.DOWN_EXG_MSG.getCode(), inferiorPlatformId, body);
      //获取从链路通道
      Channel channel = ChannelMap.getClientChannel(inferiorPlatformId);
      if (null != channel && channel.isActive()) {
@@ -201,6 +201,11 @@
      GnssDataVo vo = new GnssDataVo();
      BeanUtils.copyProperties(upExgMsgRealLocation.getGnssData(), vo);
      redisTemplate.opsForValue().set("location:" + upExgMsgRealLocation.getVehicleNo(), vo);
      //查询车辆信息,没有则主动发起请求
      UPExgMsgRegister msgRegister = upExgMsgRegisterDao.findByVehicleNo(upExgMsgRealLocation.getVehicleNo());
      if (null == msgRegister) {
         down_base_msg_vehicle_added(inferiorPlatformId, upExgMsgRealLocation.getVehicleNo(), upExgMsgRealLocation.getVehicleColor());
      }
   }
   
   
@@ -223,7 +228,7 @@
    */
   public void down_exg_msg_take_ewaybill_req(int inferiorPlatformId, String vehicleNo, int VehicleColor) {
      if (!redisTemplate.hasKey("login:" + inferiorPlatformId)) {
         log.error("链路还未登录校验,拒绝连接");
         log.error("链路还未登录校验,拒绝连接:{}", inferiorPlatformId);
         return;
      }
      DOWNExgMsgTakeEwaybillReq downExgMsgTakeEwaybillReq = new DOWNExgMsgTakeEwaybillReq();
@@ -233,7 +238,7 @@
      downExgMsgTakeEwaybillReq.setDataLength(0);
      
      byte[] body = downExgMsgTakeEwaybillReq.encode();
      OuterPacket out = new OuterPacket(DataType.DOWN_EXG_MSG.getCode(), body);
      OuterPacket out = new OuterPacket(DataType.DOWN_EXG_MSG.getCode(), inferiorPlatformId, body);
      //获取从链路通道
      Channel channel = ChannelMap.getClientChannel(inferiorPlatformId);
      if (null != channel && channel.isActive()) {
@@ -303,4 +308,29 @@
      }
   }
   
   /**
    * 补报车辆静态信息
    */
   public void down_base_msg_vehicle_added(int inferiorPlatformId, String vehicleNo, int VehicleColor) {
      if (!redisTemplate.hasKey("login:" + inferiorPlatformId)) {
         log.error("链路还未登录校验,拒绝连接:{}", inferiorPlatformId);
         return;
      }
      DOWNBaseMsgVehicleAdded downBaseMsgVehicleAdded = new DOWNBaseMsgVehicleAdded();
      downBaseMsgVehicleAdded.setVehicleNo(vehicleNo);
      downBaseMsgVehicleAdded.setVehicleColor(VehicleColor);
      downBaseMsgVehicleAdded.setDataType(DataType.DOWN_BASE_MSG_VEHICLE_ADDED.getCode());
      downBaseMsgVehicleAdded.setDataLength(0);
      byte[] body = downBaseMsgVehicleAdded.encode();
      OuterPacket out = new OuterPacket(DataType.DOWN_BASE_MSG.getCode(), inferiorPlatformId, body);
      //获取从链路通道
      Channel channel = ChannelMap.getClientChannel(inferiorPlatformId);
      if (null != channel && channel.isActive()) {
         channel.writeAndFlush(out);
         log.info("补报车辆静态信息请求({}):{}", DataType.DOWN_BASE_MSG_VEHICLE_ADDED.getCode(), JSON.toJSONString(downBaseMsgVehicleAdded));
      }
   }
}