dengsixing 3 gadi atpakaļ
vecāks
revīzija
cca1f4e8a0

+ 5 - 5
4dkankan-center-modeling/src/main/java/com/fdkankan/modeling/receiver/BuildSceneListener.java

@@ -366,6 +366,11 @@ public class BuildSceneListener implements RocketMQListener<String> {
             if(!buildStatus.equals(ModelingBuildStatus.REPEAT)){
                 //释放锁
                 redisUtil.del(String.format(RedisKey.SCENE_BUILDING, message.getSceneNum()));
+
+                //生成status.json文件
+                this.writeStatusJson(message.getSceneStatus(), message.getWebSite(),
+                    message.getSceneNum(),message.getThumb(),message.getPayStatus());
+
                 //如果是重复计算,没有走到计算逻辑,不需要上传日志文件
                 buildLog.setLogDetailPath(prefixAli+ buildLogPath + "console.log");
             }
@@ -376,11 +381,6 @@ public class BuildSceneListener implements RocketMQListener<String> {
             if(buildStatus.equals(ModelingBuildStatus.REPEAT)){
                 return;
             }
-
-            //生成status.json文件
-            this.writeStatusJson(message.getSceneStatus(), message.getWebSite(),
-                message.getSceneNum(),message.getThumb(),message.getPayStatus());
-
         } catch (Exception e) {
             log.error("计算后业务处理出错!", e);
         }finally {

+ 5 - 5
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/SceneEditInfo.java

@@ -88,11 +88,11 @@ public class SceneEditInfo implements Serializable {
     @TableField("floor_plan_user")
     private Byte floorPlanUser;
 
-    /**
-     *
-     */
-    @TableField("cad_info")
-    private String cadInfo;
+//    /**
+//     *
+//     */
+//    @TableField("cad_info")
+//    private String cadInfo;
 
     /**
      * 是否有热点数据(0-否,1-是)

+ 2 - 2
4dkankan-center-scene/src/main/java/com/fdkankan/scene/factory/handler/FloorPlanHandler.java

@@ -83,13 +83,13 @@ public class FloorPlanHandler implements ISaveUploadHandler {
             sceneEditInfoService.update(new LambdaUpdateWrapper<SceneEditInfo>()
                     .setSql("version=version+"+1)
 //                    .set(SceneEditInfo::getFloorPlanPath, filePathBuilder.substring(1))
-                    .set(SceneEditInfo::getCadInfo, cadInfo)
+//                    .set(SceneEditInfo::getCadInfo, cadInfo)
                     .eq(SceneEditInfo::getId, sceneEditInfoDb.getId()));
         }else{
             sceneEditInfoDb = new SceneEditInfo();
             sceneEditInfoDb.setScenePlusId(scenePlus.getId());
 //            sceneEditInfoDb.setFloorPlanPath(filePaths);
-            sceneEditInfoDb.setCadInfo(cadInfo);
+//            sceneEditInfoDb.setCadInfo(cadInfo);
             sceneEditInfoService.save(sceneEditInfoDb);
         }
 

+ 24 - 15
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneEditInfoServiceImpl.java

@@ -615,9 +615,9 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
 //            if(StrUtil.isNotEmpty(filePathStr)){
 //                updateWrapper.set(SceneEditInfo::getFloorPlanPath, filePathStr);
 //            }
-            if(StrUtil.isNotEmpty(cadInfo)){
-                updateWrapper.set(SceneEditInfo::getCadInfo, cadInfo);
-            }
+//            if(StrUtil.isNotEmpty(cadInfo)){
+//                updateWrapper.set(SceneEditInfo::getCadInfo, cadInfo);
+//            }
             if(floorPlanUser != null){
                 updateWrapper.set(SceneEditInfo::getFloorPlanUser, floorPlanUser);
             }
@@ -626,7 +626,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             sceneEditInfoDb = new SceneEditInfo();
             sceneEditInfoDb.setScenePlusId(scenePlus.getId());
 //            sceneEditInfoDb.setFloorPlanPath(filePathStr);
-            sceneEditInfoDb.setCadInfo(cadInfo);
+//            sceneEditInfoDb.setCadInfo(cadInfo);
             sceneEditInfoDb.setFloorPlanUser(floorPlanUser);
             this.save(sceneEditInfoDb);
         }
@@ -719,9 +719,12 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
     public ResultData uploadPanorama(String num, MultipartFile file) throws Exception {
 
         //校验压缩包格式
-        log.info("全景图压缩包文件名:" + file.getOriginalFilename());
-        if(!file.getOriginalFilename().endsWith(".zip")){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_7015);
+//        log.info("全景图压缩包文件名:" + file.getOriginalFilename());
+//        if(!file.getOriginalFilename().endsWith(".zip")){
+//            throw new BusinessException(ErrorCode.FAILURE_CODE_7015);
+//        }
+        if(!file.getOriginalFilename().endsWith(".zip") || !file.getOriginalFilename().endsWith(".jpg")){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_7007, "jpg或者zip");
         }
 
 //        ScenePro scenePro = sceneProService.findBySceneNum(num);
@@ -754,15 +757,19 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         }
         file.transferTo(targetFile);
 
-        //解压zip包
-        FileUtil.unZip(zipTargetFilePath, targetImagesPath);
-        //删除压缩包
-        FileUtil.delFile(zipTargetFilePath);
+        //如果是压缩包上传,需要解压缩
+        if(file.getOriginalFilename().endsWith(".zip")){
+            //解压zip包
+            FileUtil.unZip(zipTargetFilePath, targetImagesPath);
+            //删除压缩包
+            FileUtil.delFile(zipTargetFilePath);
+        }
+
 
         //获取解压后的文件列表
         List<String> uploadFileList = FileUtil.getFileList(targetImagesPath);
         if(CollUtil.isEmpty(uploadFileList)){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_7014);
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5062);
         }
 
         //判断是否有可用的jpg文件
@@ -777,7 +784,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             });
         }
         if(!existJpg){
-            throw new BusinessException(ErrorCode.FAILURE_CODE_5061);
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5062);
         }
 
         //列出caches/images中的文件列表
@@ -803,7 +810,7 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
             });
         }
 
-        //判断成功的图片
+        //判断成功的图片,如果成功图片为0,就直接返回,不需要执行算法
         uploadFileList = FileUtil.getFileList(targetImagesPath);
         if(CollUtil.isEmpty(uploadFileList)){
             if(CollUtil.isNotEmpty(notExistFileList)){
@@ -932,13 +939,15 @@ public class SceneEditInfoServiceImpl extends ServiceImpl<ISceneEditInfoMapper,
         SceneEditInfo sceneEditInfo = this.getByScenePlusId(scenePlus.getId());
         this.upgradeVersionById(sceneEditInfo.getId());
 
+        //如果部分成功,则需要返回成功数量和失败列表
         if(CollUtil.isNotEmpty(notExistFileList)){
             notExistFileList = notExistFileList.stream().map(filePath -> {
                 return filePath.substring(filePath.lastIndexOf(File.separator) + 1);
             }).collect(Collectors.toList());
+            return ResultData.ok(new UploadPanoramaVO(uploadFileList.size(), notExistFileList));
         }
 
-        return ResultData.ok(new UploadPanoramaVO(uploadFileList.size(), notExistFileList));
+        return ResultData.ok();
     }
 
     @Override