浏览代码

更新:
消费端改用ossUtil上传目录

wuweihao 4 年之前
父节点
当前提交
22e023db5a

+ 9 - 0
cms_pano_consumer/src/main/java/com/gis/constant/CmdConstant.java

@@ -12,4 +12,13 @@ public class CmdConstant {
     public final static String PANO_KRPANO = "krpanotools makepano -config=templates/vtour-multires.config ";
 
 
+    /**
+     * ossUtil上传目录
+     * ./ossutil cp -r localfolder/ oss://examplebucket/desfolder/
+     * opt/ossutil/ossutil64 cp -r /root/owen/720yun/vtour/ oss://oss-xiaoan/720yun_fd_manage/
+     *
+     */
+    public final static String OSSUTIL_UPLOAD_DIR = "/opt/ossutil/ossutil64 cp -r @input @output";
+
+
 }

+ 26 - 6
cms_pano_consumer/src/main/java/com/gis/listener/PanoConsumer.java

@@ -41,10 +41,6 @@ public class PanoConsumer {
     @Autowired
     AliyunOssUtil aliyunOssUtil;
 
-//    @Autowired
-//    AsyncTask asyncTask;
-
-
     @RabbitHandler
     public void getMessage(String param)  {
         log.warn("run Listener PanoConsumer: " + param);
@@ -75,8 +71,8 @@ public class PanoConsumer {
             CmdUtils.cmdPano(cmd);
             long end = System.currentTimeMillis();
             log.info("切图完成耗时: {} s" ,(end-start)/1000);
-            uploadOss(entity);
-
+//            uploadOss(entity);
+            uploadOssDir(entity);
 
             entity.setStatus(3);
         }  catch (Exception e) {
@@ -89,6 +85,30 @@ public class PanoConsumer {
     }
 
 
+    /**
+     * 2021-04-25 新增
+     * 上传切图目录
+     */
+    public void uploadOssDir(SceneEntity entity){
+        log.info("run uploadOss, id: " + entity.getId());
+        long start = System.currentTimeMillis();
+        String houseId = entity.getHouseId();
+        String sceneCode = entity.getSceneCode();
+        String dirCode = houseId + "/" + sceneCode;
+        String uploadDir = configConstant.filePath + dirCode;
+        log.info("uploadDir:" + uploadDir);
+        String ossDir = "oss://" + configConstant.ossBucket+"/"+configConstant.ossBasePath + dirCode ;
+        log.info("ossDir:" + ossDir);
+
+        String cmd = CmdConstant.OSSUTIL_UPLOAD_DIR;
+        cmd = cmd.replaceAll("@input", uploadDir);
+        cmd = cmd.replaceAll("@output", ossDir);
+        CmdUtils.callshell(cmd);
+        long end = System.currentTimeMillis();
+        log.info("切图上传完成, 耗时:{} s" , (end-start)/1000 );
+    }
+
+
     public void uploadOss(SceneEntity entity) throws IOException {
 
         log.info("run uploadOss, id: " + entity.getId());

+ 22 - 54
cms_pano_consumer/src/main/java/com/gis/util/CmdUtils.java

@@ -14,60 +14,6 @@ import java.io.InputStreamReader;
 @Log4j2
 public class CmdUtils {
 
-
-    public static Integer cmdPano1(String commandStr) {
-
-        // 命令运行结果 1:失败, 0:成功
-        Integer isCmd = null;
-        try {
-//            String[] cmd = new String[]{"/bin/sh", "-c", commandStr};
-            String[] cmd = new String[]{commandStr};
-            Process ps = Runtime.getRuntime().exec(cmd);
-            log.info("run cmdPano");
-
-            BufferedReader br = new BufferedReader(new InputStreamReader(ps.getInputStream()));
-            BufferedReader errorBuf = new BufferedReader(new InputStreamReader(ps.getErrorStream()));
-
-            StringBuffer sb = new StringBuffer();
-            StringBuffer errorStr = new StringBuffer();
-
-            // error : 坑, 控制台信息是从errorBuf这里出来的
-            String errorLine;
-            while ((errorLine = errorBuf.readLine()) != null) {
-                errorStr.append(errorLine).append("\n");
-            }
-            if (StringUtils.isNotEmpty(errorStr)){
-                log.info("error result: {}", errorStr.toString());
-            }
-
-            // success ,没有获取到信息
-            String line;
-            while ((line = br.readLine()) != null) {
-                //执行结果加上回车
-                sb.append(line).append("\n");
-            }
-            log.info("result: {}", sb.toString());
-
-            // 结束命令行
-            isCmd = ps.waitFor();
-
-            // 关闭流
-            br.close();
-            errorBuf.close();
-
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-
-        if (isCmd == 0) {
-            log.info("end exeCmd : {}", isCmd);
-        } else {
-            log.info("wsitFore cmd run error : {}", isCmd);
-        }
-        return isCmd;
-    }
-
-
     /**
      * 命令运行结果 1:失败, 0:成功
      * @param cmd
@@ -117,6 +63,28 @@ public class CmdUtils {
     }
 
 
+    /**
+     * 调用算法 xx.sh 脚本
+     * @param command
+     *
+     * 2021-04-25 新增
+     */
+    public static void callshell(String command){
+        log.info("cmd: " + command);
+        try {
+            String[] cmd = new String[]{"/bin/sh", "-c", command};
+            Process process = Runtime.getRuntime().exec(cmd);
+            StreamGobbler errorGobbler = new StreamGobbler(process.getErrorStream(), "ERROR");
+            errorGobbler.start();
+            StreamGobbler outGobbler = new StreamGobbler(process.getInputStream(), "STDOUT");
+            outGobbler.start();
+            process.waitFor();
+        } catch (Exception e) {
+            e.printStackTrace();
+        }
+    }
+
+
 
 
 }

+ 61 - 0
cms_pano_consumer/src/main/java/com/gis/util/StreamGobbler.java

@@ -0,0 +1,61 @@
+package com.gis.util;
+
+import java.io.*;
+
+public class StreamGobbler extends Thread {
+
+	InputStream is;  
+    String type;  
+    OutputStream os;  
+
+    public StreamGobbler(InputStream is, String type) {  
+        this(is, type, null);  
+    }  
+
+    StreamGobbler(InputStream is, String type, OutputStream redirect) {  
+        this.is = is;  
+        this.type = type;  
+        this.os = redirect;  
+    }  
+
+    public void run() {  
+        InputStreamReader isr = null;  
+        BufferedReader br = null;  
+        PrintWriter pw = null;  
+        try {  
+            if (os != null)  
+                pw = new PrintWriter(os);  
+
+            isr = new InputStreamReader(is);  
+            br = new BufferedReader(isr);  
+            String line=null;  
+            while ( (line = br.readLine()) != null) {  
+                if (pw != null)  
+                    pw.println(line);  
+                System.out.println(type + ">" + line);      
+            }  
+
+            if (pw != null)  
+                pw.flush();  
+        } catch (IOException ioe) {  
+            ioe.printStackTrace();    
+        } finally{  
+            try {  
+            	if(pw!=null)
+            	{
+            		 pw.close();  
+            	}
+            	if(br!=null)
+            	{
+            		br.close();  
+            	}
+            	if(isr!=null)
+            	{
+            		isr.close();  
+            	}
+            } catch (IOException e) {  
+                e.printStackTrace();  
+            }  
+        }  
+    }  
+}

+ 5 - 30
cms_pano_fcb/gis_service/src/main/java/com/gis/service/impl/SceneServiceImpl.java

@@ -764,8 +764,9 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, String> impl
 
 
         SceneEntity entity = null;
-
-//        List<SceneEntity> index = entityMapper.getIndex(param.getHouseId());
+        @NotBlank(message = "场景码不能为空") String sceneCode = param.getSceneCode();
+        @NotBlank(message = "恒大id不能为空") String hengdaId = param.getHengdaId();
+        String webSite = "/hengda.html?m="+ sceneCode + "&prodId=" + hengdaId + "&houseId=" + houseId;
 
         if ( id == null) {
              entity = entityMapper.findByVrModelIdAndHouseId(param.getVrModelId(), houseId);
@@ -782,37 +783,9 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, String> impl
 
             entity = new SceneEntity();
 
-            @NotBlank(message = "场景码不能为空") String sceneCode = param.getSceneCode();
-            @NotBlank(message = "恒大id不能为空") String hengdaId = param.getHengdaId();
-            String webSite = "/hengda.html?m="+ sceneCode + "&prodId=" + hengdaId + "&houseId=" + houseId;
-
 
             BeanUtils.copyProperties(param, entity);
-//            if (index.size() == 0) {
-//                entity.setIsIndex(1);
 
-//                HouseSceneIndexDto indexDto = new HouseSceneIndexDto();
-//                indexDto.setId(entity.getHouseId());
-//                indexDto.setSceneNum(entity.getSceneCode());
-//                indexDto.setUpdateTime(LocalDateTime.now());
-//                // 恒大id必须更新到管理后台 2021-03-08
-//                indexDto.setFcbHouseId(entity.getHengdaId());
-//                Result result = null;
-//                try {
-//                    result = houseFeign.updateHouseSceneIndex(indexDto);
-//
-//                    if (result.getCode() == 0) {
-//                        log.info("更新了初始场景到VR项目完成");
-//                    } else {
-//                        log.error("更新了初始场景到VR项目异常");
-//                        return Result.failure(result.getMsg());
-//                    }
-//                } catch (Exception e) {
-//                    e.printStackTrace();
-//                }
-
-
-//            }
             entity.setId(RandomUtils.getUuid());
             entity.setType("house");
             entity.setStatus(3);
@@ -826,6 +799,8 @@ public class SceneServiceImpl extends IBaseServiceImpl<SceneEntity, String> impl
         } else {
             entity = this.findById(id);
             BeanUtils.copyProperties(param, entity);
+            // 2021-04-16 输入参数没有webSite值,需要后端维护
+            entity.setWebSite(webSite);
             entity.setUpdateTime(new Date());
             this.update(entity);
             log.info("更新VR模型完成");

+ 0 - 444
cms_pano_fcb/gis_web/src/main/java/com/gis/web/controller/TestController.java

@@ -1,444 +0,0 @@
-package com.gis.web.controller;
-
-import cn.hutool.core.io.FileUtil;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.JSONObject;
-import com.gis.common.constant.ConfigConstant;
-import com.gis.common.constant.RabbitConfig;
-import com.gis.common.exception.BaseRuntimeException;
-import com.gis.common.util.FileUtils;
-import com.gis.common.util.Result;
-import com.gis.domain.dto.*;
-import com.gis.domain.entity.SceneEntity;
-import com.gis.feign.HouseFeign;
-import com.gis.feign.UserFeign;
-import com.gis.mapper.SceneMapper;
-import com.gis.service.SceneService;
-import com.github.pagehelper.PageInfo;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.StringUtils;
-import org.junit.Test;
-import org.springframework.amqp.rabbit.core.RabbitTemplate;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.redis.core.RedisTemplate;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.multipart.MultipartFile;
-
-import javax.validation.Valid;
-import java.util.ArrayList;
-import java.util.Date;
-import java.util.List;
-import java.util.Map;
-import java.util.concurrent.TimeUnit;
-
-/**
- * Created by owen on 2021/1/14 0014 19:02
- * 这个类header 不能有token, 否则webLogAspect会报错
- */
-@Slf4j
-@Api(tags = "测试")
-//@RestController
-@RequestMapping("fcb/pano/test")
-public class TestController extends BaseController {
-
-    @Autowired
-    private RabbitTemplate rabbitTemplate;
-
-    @Autowired
-    UserFeign userFeign;
-
-    @Autowired
-    ConfigConstant configConstant;
-
-    @Autowired
-    FileUtils fileUtils;
-
-    @Autowired
-    SceneService sceneService;
-
-    @Autowired
-    HouseFeign houseFeign;
-
-    @Autowired
-    SceneMapper sceneMapper;
-
-    @Autowired
-    private RedisTemplate<String, String> redisTemplate;
-
-
-    @GetMapping("1")
-    @ApiOperation(value = "服务是否正常", position = 1)
-    public Result test(){
-        log.info("dd: " + new Date());
-        return Result.success(new Date());
-    }
-
-    @ApiOperation(value = "VR模模型-根据场景码查询")
-    @GetMapping(value = "vr/findBySceneCode/{sceneCode}" )
-    public Result vrFindBySceneCode(@PathVariable String sceneCode){
-        SceneEntity entity = sceneService.findBySceneCode(sceneCode);
-        boolean flag = true;
-        if (entity == null) {
-            flag = false;
-        }
-        return Result.success(flag);
-    }
-
-
-    @ApiOperation(value = "测试异常" )
-    @PostMapping("ex/{id}")
-    public Result ex(@PathVariable String id) {
-
-
-            log.info("start task cmdPano");
-            SceneEntity entity = sceneService.findById(id);
-            if (entity == null) {
-                throw new BaseRuntimeException("场景不存在: " + id);
-            }
-            log.info("task 1");
-            try {
-                log.info("task 2");
-
-                log.info("1111111");
-
-            }  catch (Exception e) {
-                entity.setStatus(6);
-                e.printStackTrace();
-            } finally {
-                log.info("5555");
-                sceneService.update(entity);
-                log.info("66666");
-            }
-
-
-        return Result.success();
-    }
-
-    @ApiOperation(value = "VR项目状态查询" )
-    @PostMapping("findHouseStatus/{id}")
-    public Result findHouseStatus(@PathVariable String id) {
-
-        log.info("status: " + 1111);
-        // 检查VR项目状态
-        Result status =  getHouseStatus(id);
-       log.info("777777");
-       if (status != null) {
-           log.info("8888");
-           return status;
-       }
-        log.info("9999");
-
-        return Result.success();
-
-    }
-
-
-    /**
-     * 查询VR项目状态
-     * @param houseId
-     * @return
-     */
-    private Result getHouseStatus(String houseId){
-        Result result = null;
-        try {
-            result = houseFeign.findByHouseId(houseId);
-        } catch (Exception e) {
-            e.printStackTrace();
-        }
-//        log.info("result: " + result);
-        String status = null;
-        if (result.getCode() == 0) {
-            Object data = result.getData();
-            JSONObject jsonObject = JSON.parseObject(data.toString());
-            status = jsonObject.getString("status");
-            log.info("house status: " + status);
-
-            if (status.equals("2")) {
-                log.warn("审核中不能编辑");
-                return Result.failure(7005, "审核中不能编辑");
-            }
-            if (status.equals("3")) {
-                log.warn("已审核中不能编辑");
-                return Result.failure(7006, "已审核中不能编辑");
-            }
-
-
-        }
-
-        if (result.getCode() == -1){
-                return Result.failure("查询失败");
-            }
-
-        return null;
-    }
-
-    @ApiOperation(value = "场景排序")
-    @PostMapping(value = "setSort" )
-    public Result setSort(@RequestBody Map<String, String> param){
-        return sceneService.setSort(param);
-    }
-
-
-    @ApiOperation(value = "获取四维看看场景码" , position = 3)
-    @GetMapping("getVrSceneCode/{houseId}/{status}/{type}")
-    public Result getVrSceneCode(@PathVariable String houseId, @PathVariable String status, @PathVariable String type) {
-        return sceneService.getVrSceneCode(houseId, status, type);
-    }
-
-
-    @ApiOperation(value = "VR项目删除" , position = 3)
-    @GetMapping("house/remove/{houseId}")
-    public Result houseRemove(@PathVariable String houseId) {
-        return sceneService.houseRemove(houseId);
-    }
-
-//    @ApiOperation(value = "VR项目审核通过" , position = 3)
-//    @GetMapping("house/audit/{houseId}")
-//    public Result houseAudit(@PathVariable String houseId) {
-//        return sceneService.houseAudit(houseId, status);
-//    }
-
-    @GetMapping("testSendMq")
-    @ApiOperation(value = "rabbitMQ发送", position = 1)
-    public Result testSendMq(){
-        String param = "owen" + new Date();
-        log.info("MQ param: " + param);
-        //发消息到mq
-        rabbitTemplate.convertAndSend(RabbitConfig.TEST_EXCHANGE, RabbitConfig.TEST_QUEUE_ROUTING, param);
-        return Result.success(param);
-    }
-
-
-    @GetMapping("login/{userName}/{password}")
-    @ApiOperation(value = "登录(用户微服务),获取token", position = 1, notes = "p:88888888, u:88888888888")
-    public Result login(@PathVariable String userName, @PathVariable String password){
-        UserDto userDto = new UserDto();
-        userDto.setUserName(userName);
-        userDto.setPassword(password);
-        return Result.success(userFeign.login(userDto));
-    }
-
-
-
-    @GetMapping("setTokenToRedis/{key}")
-    @ApiOperation(value = "设置token到redis")
-    public Result setTokenToRedis(@PathVariable String key){
-        //        // 更新到 redis, 有效期24h, 旧token无效, 用来处理退出登录
-        String token = "123";
-        redisTemplate.opsForValue().set(key, token, Long.parseLong("2300000"), TimeUnit.HOURS);
-        return Result.success(key);
-    }
-
-    @ApiOperation(value = "上传-全景图(创建场景)", position = 2)
-    @PostMapping("uploadPano/{houseId}/{type}/{hengdaId}")
-    public Result uploadPano(MultipartFile file, @PathVariable String houseId, @PathVariable String type, @PathVariable String hengdaId) {
-
-        if (file == null) {
-            log.error("文件不能为空");
-            return Result.failure("文件不能为空");
-        }
-
-        return sceneService.uploadPanoRabbitMq(file, houseId, type, hengdaId);
-    }
-
-
-
-
-    @GetMapping("getUserInfo")
-    @ApiOperation(value = "获取用户信息")
-    public Result getUserInfo(){
-        return Result.success(userInfo());
-    }
-
-
-    @PostMapping("uploadOss")
-    @ApiOperation(value = "文件上传oss")
-    public Result uploadOss(MultipartFile file){
-        return Result.success(fileUtils.renameUploadOssMap(file, configConstant.filePath, configConstant.ossBasePath, configConstant.ossDomain));
-    }
-
-
-    @PostMapping("uploadOssBye")
-    @ApiOperation(value = "文件上传oss-字节上传")
-    public Result uploadOssBye(MultipartFile file){
-        return Result.success(fileUtils.renameUploadOssBye(file, configConstant.ossBasePath, configConstant.ossDomain));
-    }
-
-
-    @Test
-    public void testReadFileToString(){
-        String path = "C:\\Users\\Administrator\\Desktop\\test\\tour.xml";
-        String string = FileUtil.readUtf8String(path);
-        String trim = StringUtils.trim(string);
-        System.out.println(trim);
-    }
-
-    @ApiOperation("保存VR模型")
-    @PostMapping("saveVrModel")
-    public Result saveVrModel(@RequestBody VrModelDto param) {
-        return sceneService.saveVrModel(param);
-    }
-
-
-//
-//    @ApiOperation("房源更新场景码")
-//    @PostMapping("updateHouseSceneIndex")
-//    public Result updateHouseSceneIndex(@RequestBody HouseSceneIndexDto param) {
-//        return houseFeign.updateHouseSceneIndex(param);
-//    }
-
-
-//    @ApiOperation("获取Result")
-//    @PostMapping("getResult/{houseId}")
-//    public Result testResult(@PathVariable String houseId ){
-//        Result result = sceneService.getIndex(houseId);
-//        if (result.getCode() == 0) {
-//            log.info("result:" + result);
-//            log.info("正常");
-////            String data = (String)result.getData();
-//
-//
-////            JSONObject jsonObject = JSONObject.parseObject(data);
-//        } else {
-//            log.info("异常");
-//            log.info("msg: {}" + result.getMsg());
-//        }
-//
-//        return result;
-//    }
-
-    /**
-     * 测试正常
-     * @param houseId
-     * @return
-     */
-//    @ApiOperation(value = "房源详情" , position = 3)
-//    @GetMapping("house/detail/{houseId}")
-//    public Result houseDetail(@PathVariable String houseId) {
-//        Result re = houseFeign.findByHouseId(houseId);
-//        if (re.getCode() == 0) {
-//            log.info("正常");
-//            Object data = re.getData();
-//            log.info("data: " + data.toString());
-//            JSONObject jsonObject = JSON.parseObject(data.toString());
-//            String sceneNum = jsonObject.getString("sceneNum");
-//            log.info("sceneNum: " + sceneNum);
-//        } else {
-//            log.info("异常");
-//            Result.failure(re.getMsg());
-//        }
-//        return houseFeign.findByHouseId(houseId);
-//    }
-
-
-
-
-    /**
-     * 测试,传json是可以的
-     * @param houseId
-     * @return
-     */
-//    @ApiOperation(value = "Feign Json参数" , position = 3)
-//    @GetMapping("houseUpdate/{houseId}/{sceneNum}/{fcbHouseId}")
-//    public Result houseUpdate(@PathVariable String houseId, @PathVariable String sceneNum, @PathVariable String fcbHouseId) {
-//        JSONObject jsonObject = new JSONObject();
-//
-//
-//        jsonObject.put("id", houseId);
-//        jsonObject.put("sceneNum", sceneNum);
-//        jsonObject.put("fcbHouseId", fcbHouseId);
-//
-//        Result result = houseFeign.updateHouseJson(jsonObject);
-//        if (result.getCode() == 0) {
-//            return Result.success();
-//        } else {
-//            log.error("异常");
-//            return Result.failure(result.getMsg());
-//        }
-//
-//    }
-
-
-    @ApiOperation(value = "解析page" , position = 3)
-    @GetMapping("page/{houseId}")
-    public Result page(@PathVariable String houseId) {
-        Result result = sceneService.findByHouseId(houseId);
-        // 过滤已添加的数据
-        if (result.getCode() == 0) {
-
-            log.info("1111");
-            Object data = result.getData();
-            System.out.println(data.toString());
-            PageInfo<Object> page = JSON.parseObject(data.toString(), PageInfo.class);
-            log.info("page: " + page.toString());
-
-            log.info("2222");
-            List<Object> list = page.getList();
-            log.info("list size: " + list.size());
-
-            ArrayList<Object> newList = new ArrayList<>();
-
-
-            for (int i = 0; i < list.size(); i++) {
-                log.info("list: " + list.get(i));
-                JSONObject scenePro = JSON.parseObject(list.get(i).toString());
-                log.info("scenePro: " + scenePro);
-
-                String isIndex = scenePro.getString("isIndex");
-                String  use = "0";
-                // 过滤掉存在的数据
-                if (isIndex.equals("1")) {
-                    use = "1";
-                    i ++ ;
-                }
-                scenePro.put("isUse", use);
-                newList.add(scenePro);
-            }
-            log.info("list update size: " + list.size());
-            page.setList(newList);
-            log.info("newList size: " + newList.size());
-
-            log.info("5555");
-            return Result.success(page);
-        } else {
-            log.error("异常了");
-            return Result.failure(result.getMsg());
-        }
-
-    }
-
-//    @ApiOperation(value = "VR模型查找", position = 3)
-//    @PostMapping("findVrModel")
-//    public Result findVrModel(@Valid @RequestBody SceneRroPageDto param) {
-//        return sceneService.findVrModel2(param);
-//    }
-
-    @ApiOperation(value = "房源首页获取", position = 3)
-    @PostMapping("findAllHouseId")
-    public Result findAllHouseId(@RequestBody HouseIndexPageDto param) {
-
-        return sceneService.findAllHouseIdIndex(param);
-    }
-
-
-    @Test
-    public void test2(){
-        List<Object> objects = new ArrayList<>();
-        objects.add("1");
-        objects.add("2");
-        objects.add("3");
-
-        System.out.println(objects);
-
-    }
-
-    @ApiOperation(value = "上传-图标", position = 2)
-    @PostMapping(value = "upload")
-    public Result upload(@RequestParam("file") MultipartFile file) {
-        return sceneService.upload(file);
-    }
-
-
-}

+ 21 - 1
cms_pano_fcb/remark.md

@@ -159,6 +159,18 @@ sit:
    88888888888   Fcb20210225
     https://vr-web01-uat.fcb.com.cn/
     https://vr-mc01-uat.fcb.com.cn/
+    
+    
+   查询4dkk 场景被那个楼盘绑定
+   select id, house_id, scene_code from tb_scene where is_delete=0 and scene_code='HDtcapGhji' ;
+   select id, house_id, scene_code from tb_scene where is_delete=0 and scene_code='HDxcAX2Lox' ;
+   
+   得到 house_id 然后查伟玉tm_house
+   select id, house_title , estate_id from tm_house where id = 'houseId';
+   
+   select * from tm_estate where id = 'estate_id';
+   
+    
 # 720yun 需求
  1. 先上传全景图
  2. 在编辑场景
@@ -192,8 +204,16 @@ sit:
     20210408
         判读全景图文件名不能为空   
         
-        
+    2021-04-16 *
+        sit 发现需要修复的bug
+        1. 户型分组里, 修改VR模型 需要更新webSite (这个由后生成, 前端传的是不对的) 已更新
+        2. 当删除,或者修改VR模型是,会影响初始场景
+        3. 建议将初始场景的表的数据存sceneCode 改 sceneId;
+        4. 初始场景目前会有多个,删除vr模型会对这里有影响, 确认修改后,需要认真测试这个问题 
+        5. 需要修改tb_scene、tb_scene_init 的存量数据
      
+     2021-04-25 *
+        消费端,java上传目录,文档多造成内存溢出。目前已改用ossUtil上传目录
     
 # uat 更新日志
     20210301-1700