Selaa lähdekoodia

v4.13.0 增加获取点位经纬度接口

dengsixing 1 vuosi sitten
vanhempi
commit
78835cd237

+ 8 - 0
src/main/java/com/fdkankan/scene/controller/SceneEditController.java

@@ -50,6 +50,8 @@ public class SceneEditController extends BaseController {
     private ISceneEditInfoExtService sceneEditInfoExtService;
     @Autowired
     private ICutModelService cutModelService;
+    @Autowired
+    private IVisionService visionService;
 
     /**
      * <p>
@@ -928,6 +930,12 @@ public class SceneEditController extends BaseController {
         return cutModelService.deleteCutModel(param);
     }
 
+    @CheckPermit
+    @GetMapping(value = "/point/getLatAndLon")
+    public ResultData getPointLatAndLon(@RequestParam String num) throws Exception {
+        return ResultData.ok(visionService.getPointLatAndLon(num));
+    }
+
 
 
 }

+ 12 - 0
src/main/java/com/fdkankan/scene/service/IVisionService.java

@@ -0,0 +1,12 @@
+package com.fdkankan.scene.service;
+
+import com.fdkankan.web.response.ResultData;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IVisionService {
+
+    List<Map<String, Object>> getPointLatAndLon(String num);
+
+}

+ 58 - 0
src/main/java/com/fdkankan/scene/service/impl/VisionServiceImpl.java

@@ -0,0 +1,58 @@
+package com.fdkankan.scene.service.impl;
+
+import cn.hutool.core.util.StrUtil;
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.fdkankan.fyun.face.FYunFileServiceInterface;
+import com.fdkankan.model.constants.UploadFilePath;
+import com.fdkankan.scene.service.IVisionService;
+import com.google.common.collect.Lists;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.Objects;
+
+@Service
+@Slf4j
+public class VisionServiceImpl implements IVisionService {
+
+    @Resource
+    private FYunFileServiceInterface fYunFileService;
+
+    @Override
+    public List<Map<String, Object>> getPointLatAndLon(String num) {
+        List<Map<String, Object>> list = Lists.newArrayList();
+        String visionTxt = fYunFileService.getFileContent(String.format(UploadFilePath.IMG_VIEW_PATH, num) + "vision.txt");
+        JSONObject visionJson = JSON.parseObject(visionTxt);
+        if(!visionJson.containsKey("sweepLocations")){
+            return list;
+        }
+        JSONArray sweepLocations = visionJson.getJSONArray("sweepLocations");
+        for (int i = 0; i < sweepLocations.size(); ++i) {
+            JSONObject sweepItem = sweepLocations.getJSONObject(i);
+            String id = sweepItem.getString("id");
+            String uuid = sweepItem.getString("uuid");
+            JSONObject ggaLocation = sweepItem.getJSONObject("ggaLocation");
+            if (Objects.nonNull(ggaLocation)
+                    && StrUtil.isNotEmpty(ggaLocation.getString("lon"))
+                    && StrUtil.isNotEmpty(ggaLocation.getString("lat"))
+                    && StrUtil.isNotEmpty(ggaLocation.getString("alt"))) {
+                Map<String, Object> item = new HashMap<>();
+                item.put("lon", ggaLocation.getString("lon"));
+                item.put("lat", ggaLocation.getString("lat"));
+                item.put("alt", ggaLocation.getString("alt"));
+                item.put("id", id);
+                item.put("uuid", uuid);
+                list.add(item);
+            }
+        }
+
+        return list;
+    }
+}