From 9f2f4f3ee3eb9e14b7f21c5e3e6a6254f23f356a Mon Sep 17 00:00:00 2001 From: George Date: Sat, 11 Apr 2026 10:06:49 +0800 Subject: [PATCH] =?UTF-8?q?20260411:LBS=E8=8E=B7=E5=8F=96=E7=BB=8F?= =?UTF-8?q?=E7=BA=AC=E5=BA=A6=E5=90=8E=E8=B0=83=E7=94=A8=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E6=9C=8D=E5=8A=A1=E8=8E=B7=E5=8F=96=E8=AE=BE=E5=A4=87=E8=AF=A6?= =?UTF-8?q?=E7=BB=86=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../iot/data/aspect/DeviceDebugLogAspect.java | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/fastbee-iot-data/src/main/java/com/fastbee/iot/data/aspect/DeviceDebugLogAspect.java b/fastbee-iot-data/src/main/java/com/fastbee/iot/data/aspect/DeviceDebugLogAspect.java index 5c79dcf5..457f8278 100644 --- a/fastbee-iot-data/src/main/java/com/fastbee/iot/data/aspect/DeviceDebugLogAspect.java +++ b/fastbee-iot-data/src/main/java/com/fastbee/iot/data/aspect/DeviceDebugLogAspect.java @@ -13,6 +13,10 @@ import com.fastbee.common.utils.DateUtils; import com.fastbee.common.utils.StringUtils; import com.fastbee.common.utils.dtu.ATCommandParserUtils; import com.fastbee.common.utils.gateway.mq.TopicsUtils; +import com.fastbee.http.map.ILocationService; +import com.fastbee.http.map.LocationServiceFactory; +import com.fastbee.http.model.AddressInfo; +import com.fastbee.http.model.Coordinate; import com.fastbee.iot.domain.Device; import com.fastbee.iot.domain.Product; import com.fastbee.iot.domain.ProductAuthorize; @@ -75,6 +79,9 @@ public class DeviceDebugLogAspect { @Resource private DeviceMapper deviceMapper; + @Resource + private LocationServiceFactory locationServiceFactory; + /** * 拦截数据解析方法 */ @@ -331,6 +338,14 @@ public class DeviceDebugLogAspect { if (lbsArray.length == 2) { updateDevice.setLongitude(lbsArray[0]); updateDevice.setLatitude(lbsArray[1]); + // 工厂模式获取定位服务 + long startTime = System.currentTimeMillis(); + ILocationService service = locationServiceFactory.getLocationService(); + Coordinate platformCoordinate = service.convertPlatformCoordinateFromWgs84(new Coordinate(lbsArray[0], lbsArray[1])); + AddressInfo addressInfo = service.getAddressByCoordinate(platformCoordinate); + String networkAddress = StringUtils.isEmpty(addressInfo.getBuilding()) ? addressInfo.getFormattedAddress() : addressInfo.getBuilding(); + updateDevice.setNetworkAddress(networkAddress); + log.debug("设备:{},刷新地址:{},耗时:{}", serialNumber, networkAddress, System.currentTimeMillis() - startTime); } } updateDevice.setDeviceId(device.getDeviceId());