From 2e1766b31e889d9ee54d433476d031220dfda294 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期日, 27 四月 2025 17:46:24 +0800
Subject: [PATCH] 处理异常报错

---
 ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java |   10 +++++++---
 1 files changed, 7 insertions(+), 3 deletions(-)

diff --git a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java
index 3d1c14f..db0db5d 100644
--- a/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java
+++ b/ruoyi-modules/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/WarnServiceImpl.java
@@ -86,9 +86,13 @@
 			warn.setEndTime(LocalDateTime.ofInstant(Instant.ofEpochMilli(vo.getCreateTime() * 1000), ZoneOffset.ofHours(8)).format(DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss")));
 			warn.setWarnType(WarnType.getWarnTypeName(vo.getWarnType()));
 			warn.setWarnNumber(1);
-			warn.setSpeed(new BigDecimal(vo.getSpeed()));
-			warn.setLongitude(new BigDecimal(vo.getLongitude()).divide(new BigDecimal(1000000)).toString());
-			warn.setLatitude(new BigDecimal(vo.getLatitude()).divide(new BigDecimal(1000000)).toString());
+			warn.setSpeed(null == vo.getSpeed() ? BigDecimal.ZERO : new BigDecimal(vo.getSpeed()));
+			if(null != vo.getLongitude()){
+				warn.setLongitude(new BigDecimal(vo.getLongitude()).divide(new BigDecimal(1000000)).toString());
+			}
+			if(null != vo.getLatitude()){
+				warn.setLatitude(new BigDecimal(vo.getLatitude()).divide(new BigDecimal(1000000)).toString());
+			}
 			Map<String, String> geocode = null;
 			try {
 				geocode = GDMapGeocodingUtil.geocode(warn.getLongitude(), warn.getLatitude());

--
Gitblit v1.7.1