|
@@ -66,28 +66,35 @@ public class DeviceService extends ServiceImpl<DeviceMapper, Device> {
|
|
|
public int insetDeviceData(JSONObject jsonObject) {
|
|
|
// 创建 Device 实体对象
|
|
|
Device device = new Device();
|
|
|
+
|
|
|
device.setDeviceid(jsonObject.getString("deviceid"));
|
|
|
+
|
|
|
device.setLat(jsonObject.getDouble("lat"));
|
|
|
device.setLon(jsonObject.getDouble("lon"));
|
|
|
device.setX(jsonObject.getDouble("x"));
|
|
|
device.setY(jsonObject.getDouble("y"));
|
|
|
device.setZ(jsonObject.getDouble("z"));
|
|
|
device.setF(jsonObject.getInteger("f"));
|
|
|
+
|
|
|
// 获取原始经纬度
|
|
|
- double lat = device.getLat();
|
|
|
- double lon = device.getLon();
|
|
|
-
|
|
|
- // 调用坐标转换方法
|
|
|
- String[] convertedCoords = convertCoordinates(lat, lon);
|
|
|
- if (convertedCoords != null && convertedCoords.length == 2) {
|
|
|
- // 更新 Device 对象中的 x, y 坐标
|
|
|
- device.setLon(Double.parseDouble(convertedCoords[0])); // 转换后的经度
|
|
|
- device.setLat(Double.parseDouble(convertedCoords[1])); // 转换后的纬度
|
|
|
- } else {
|
|
|
- System.out.println("坐标转换失败,无法更新设备坐标");
|
|
|
- return -1; // 如果转换失败,返回失败标志
|
|
|
+ if(device.getLat() != null && device.getLat() != null){
|
|
|
+
|
|
|
+ Double lat = device.getLat();
|
|
|
+ Double lon = device.getLon();
|
|
|
+
|
|
|
+ // 调用坐标转换方法
|
|
|
+ String[] convertedCoords = convertCoordinates(lat, lon);
|
|
|
+ if (convertedCoords != null && convertedCoords.length == 2) {
|
|
|
+ // 更新 Device 对象中的 x, y 坐标
|
|
|
+ device.setLon(Double.parseDouble(convertedCoords[0])); // 转换后的经度
|
|
|
+ device.setLat(Double.parseDouble(convertedCoords[1])); // 转换后的纬度
|
|
|
+ } else {
|
|
|
+ System.out.println("坐标转换失败,无法更新设备坐标");
|
|
|
+ return -1; // 如果转换失败,返回失败标志
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
// 设置当前时间
|
|
|
device.setLatestTime(LocalDateTime.now());
|
|
|
|