Explorar o código

添加 tour.xml 存数据库

wuweihao %!s(int64=3) %!d(string=hai) anos
pai
achega
c016062883

+ 2 - 0
720yun_fd_consumer/src/main/java/com/gis/entity/FodderEntity.java

@@ -43,6 +43,8 @@ public class FodderEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "场景码")
     private String sceneCode;
 
+    @ApiModelProperty(value = "tour.xml")
+    private String tour;
 
 
 

+ 93 - 0
720yun_fd_consumer/src/main/java/com/gis/exception/BaseRuntimeException.java

@@ -0,0 +1,93 @@
+package com.gis.exception;
+
+import cn.hutool.core.util.StrUtil;
+import org.springframework.util.CollectionUtils;
+
+import java.util.List;
+
+public class BaseRuntimeException extends RuntimeException{
+
+    private static final long serialVersionUID = -1518945670203783450L;
+    private Integer code;
+    private String msg;
+
+    public BaseRuntimeException(String msg){
+        super(msg);
+        this.code = -1;
+        this.msg = msg;
+    }
+
+    /**
+     *
+     * @param code 允许为null
+     * @param msg
+     */
+    public BaseRuntimeException(Integer code, String msg){
+        super(msg);
+        this.code = code == null? -1 : code;
+        this.msg = msg;
+    }
+
+
+    public Integer getCode() {
+        return code;
+    }
+
+    public void setCode(Integer code) {
+        this.code = code;
+    }
+
+    public String getMsg() {
+        return msg;
+    }
+
+    public void setMsg(String msg) {
+        this.msg = msg;
+    }
+
+
+    public static void isNull(Object obj, Integer code, String msg){
+        if (obj == null){
+            getExc(code, msg);
+        }
+    }
+
+    public static void isBlank(Object obj, Integer code, String msg){
+        if (obj == null){
+            getExc(code, msg);
+        }
+
+        if (obj instanceof String && StrUtil.isBlank(obj.toString())){
+            getExc(code, msg);
+        }
+
+    }
+
+
+
+
+    /**
+     *
+     * @param obj 存在抛异常
+     * @param code 允许为null
+     * @param msg
+     */
+    public static void isTrue(boolean obj, Integer code, String msg){
+        if (obj){
+            getExc(code, msg);
+        }
+    }
+
+    public static void  getExc(Integer code, String msg){
+        throw new BaseRuntimeException(code, msg);
+    }
+
+
+
+    public static void isEmpty(List obj, Integer code, String msg){
+        if (CollectionUtils.isEmpty(obj)){
+            getExc(code, msg);
+        }
+    }
+
+}

+ 7 - 0
720yun_fd_consumer/src/main/java/com/gis/listener/Fd720Listener.java

@@ -5,6 +5,7 @@ import com.gis.constant.ConfigConstant;
 import com.gis.constant.RabbitConfig;
 import com.gis.entity.FodderEntity;
 import com.gis.mapper.FodderMapper;
+import com.gis.service.FodderService;
 import com.gis.util.CmdUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
@@ -34,6 +35,10 @@ public class Fd720Listener {
     @Autowired
     FodderMapper fodderMapper;
 
+    @Autowired
+    FodderService fodderService;
+
+
     // 链路id
     static String traceId;
 
@@ -95,6 +100,8 @@ public class Fd720Listener {
         try {
             String obj = future.get(10, TimeUnit.MINUTES); //任务处理超时时间设为 3分钟
             entity.setStatus(3);
+            String tourXmlScene = fodderService.getTourXmlScene(sceneCode);
+            entity.setTour(tourXmlScene);
             // 上传切图
             uploadOss(sceneCode);
             log.info("任务成功返回: " + obj);

+ 7 - 0
720yun_fd_consumer/src/main/java/com/gis/listener/Fd720Listener_2.java

@@ -5,6 +5,7 @@ import com.gis.constant.ConfigConstant;
 import com.gis.constant.RabbitConfig;
 import com.gis.entity.FodderEntity;
 import com.gis.mapper.FodderMapper;
+import com.gis.service.FodderService;
 import com.gis.util.CmdUtils;
 import lombok.extern.slf4j.Slf4j;
 import org.junit.Test;
@@ -36,6 +37,10 @@ public class Fd720Listener_2 {
     @Autowired
     FodderMapper fodderMapper;
 
+    @Autowired
+    FodderService fodderService;
+
+
     // 链路id
     static String traceId;
 
@@ -97,6 +102,8 @@ public class Fd720Listener_2 {
         try {
             String obj = future.get(10, TimeUnit.MINUTES); //任务处理超时时间设为 3分钟
             entity.setStatus(3);
+            String tourXmlScene = fodderService.getTourXmlScene(sceneCode);
+            entity.setTour(tourXmlScene);
             // 上传切图
             uploadOss(sceneCode);
             log.info("任务成功返回: " + obj);

+ 11 - 0
720yun_fd_consumer/src/main/java/com/gis/service/FodderService.java

@@ -0,0 +1,11 @@
+package com.gis.service;
+
+/**
+ * Created by owen on 2022/7/27 0027 16:54
+ */
+public interface FodderService {
+
+    String getTourXmlScene(String code);
+
+
+}

+ 34 - 0
720yun_fd_consumer/src/main/java/com/gis/service/impl/FodderServiceImpl.java

@@ -0,0 +1,34 @@
+package com.gis.service.impl;
+
+import cn.hutool.core.io.FileUtil;
+import cn.hutool.core.util.StrUtil;
+import com.gis.constant.ConfigConstant;
+import com.gis.exception.BaseRuntimeException;
+import com.gis.service.FodderService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * Created by owen on 2022/7/27 0027 16:55
+ */
+@Slf4j
+@Service
+public class FodderServiceImpl implements FodderService {
+
+    @Autowired
+    ConfigConstant configConstant;
+
+    @Override
+    public String getTourXmlScene(String code) {
+        String tourPath = configConstant.serverBasePath + code + "/vtour/tour.xml";
+        BaseRuntimeException.isTrue(FileUtil.isFile(tourPath), null, code + "_tour.xml文件不存在");
+
+        String tour = FileUtil.readString(tourPath, "utf-8");
+        tour = StrUtil.subAfter(tour, "</action>", true);
+        tour = StrUtil.subBefore(tour, "</krpano>", true);
+        String trim = StrUtil.trim(tour);
+
+        return trim;
+    }
+}

+ 3 - 0
720yun_fd_manage/gis_domain/src/main/java/com/gis/domain/entity/FodderEntity.java

@@ -58,6 +58,9 @@ public class FodderEntity extends BaseEntity implements Serializable {
     @ApiModelProperty(value = "上传临时用的id, 前端需要用")
     private String tempId;
 
+    @ApiModelProperty(value = "tour.xml")
+    private String tour;
+
 
 
 

+ 2 - 1
720yun_fd_manage/gis_mapper/src/main/java/com/gis/mapper/provider/FodderProvider.java

@@ -3,12 +3,13 @@ package com.gis.mapper.provider;
 import com.gis.domain.dto.FodderPageDto;
 import com.gis.domain.dto.PageDto;
 import lombok.extern.log4j.Log4j2;
+import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 
 /**
  * Created by owen on 2021/1/8 0008 16:50
  */
-@Log4j2
+@Slf4j
 public class FodderProvider {
 
     public String search(FodderPageDto param, String userId){

+ 1 - 1
720yun_fd_manage/gis_web/src/main/java/com/gis/web/controller/FodderController.java

@@ -35,7 +35,7 @@ import java.util.List;
 @Slf4j
 @Api(tags = "我的素材")
 @RestController
-@RequestMapping("manage/fodder")
+@RequestMapping("/manage/fodder")
 //@RequestMapping("a/fodder")
 public class FodderController extends BaseController {