20260411:LBS获取经纬度后调用地图服务获取设备详细地址
This commit is contained in:
parent
f176f765ab
commit
9f2f4f3ee3
@ -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());
|
||||
|
||||
Loading…
Reference in New Issue
Block a user