Pu Zhibing
2025-04-07 4109495b9c51a4bbd8b0a7c3c69093909d2e33e1
ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java
@@ -87,8 +87,8 @@
         warn.setWarnType(WarnType.getWarnTypeName(vo.getWarnType()));
         warn.setWarnNumber(1);
         warn.setSpeed(new BigDecimal(vo.getSpeed()));
         warn.setLongitude(Double.valueOf(vo.getLongitude()).toString());
         warn.setLatitude(Double.valueOf(vo.getLatitude()).toString());
         warn.setLongitude(new BigDecimal(vo.getLongitude()).divide(new BigDecimal(1000000)).toString());
         warn.setLatitude(new BigDecimal(vo.getLatitude()).divide(new BigDecimal(1000000)).toString());
         Map<String, String> geocode = null;
         try {
            geocode = GDMapGeocodingUtil.geocode(warn.getLongitude(), warn.getLatitude());
@@ -111,12 +111,44 @@
               break;
         }
         warn.setCreateTime(LocalDateTime.now());
         warn.setObjectId(vo.getInfoId());
         warns.add(warn);
      }
      if (warns.size() > 0) {
         this.saveBatch(warns);
      }
   }
   /**
    * 定时任务修改预警信息处理结果
    */
   @Override
   public void taskUpdateWarnStatus() {
      List<Warn> warnList = this.list(new LambdaQueryWrapper<Warn>().eq(Warn::getTreatmentState, "处理中"));
      for (Warn warn : warnList) {
         UPWarnMsgAdptInfoVo vo = upWarnMsgAdptInfoClient.findByInfoId(warn.getObjectId()).getData();
         if (null != vo && null != warn && vo.getResult() != 0x00) {
            switch (vo.getResult()) {
               case 0x00:
                  warn.setTreatmentState("处理中");
                  break;
               case 0x01:
                  warn.setTreatmentState("已处理完毕");
                  break;
               case 0x02:
                  warn.setTreatmentState("不作处理");
                  break;
               case 0x03:
                  warn.setTreatmentState("将来处理");
                  break;
            }
            this.updateById(warn);
         }
      }
   }
   
   /**
    * 获取车辆预警
@@ -143,8 +175,10 @@
      for (Map<String, Object> map : list) {
         collect.add(map.get("warnType").toString());
      }
      List<Map<String, Object>> warnGroupCount = this.baseMapper.getWarnGroupCount(collect);
      list.addAll(warnGroupCount);
      if (!collect.isEmpty()) {
         List<Map<String, Object>> warnGroupCount = this.baseMapper.getWarnGroupCount(collect);
         list.addAll(warnGroupCount);
      }
      return list;
   }