Parcourir la source

1、增加官网账号密码登录接口
2、增加获取oss用户编辑数据文件接口

dsx il y a 2 ans
Parent
commit
14fe9e67a4

+ 3 - 3
src/main/java/com/fdkankan/openApi/controller/system/SsoUserController.java

@@ -66,9 +66,9 @@ public class SsoUserController extends BaseController {
         }
         StpUtil.login(users.getUserName(), saLoginModel);
         StpUtil.getSession().set("user", users);
-        data.getUser().setFdkkId(data.getUser().getId());
-        data.getUser().setId(users.getId());
-        return ResultData.ok(data);
+//        data.getUser().setFdkkId(data.getUser().getId());
+//        data.getUser().setId(users.getId());
+        return ResultData.ok(data.getAppKey());
     }
 
 

+ 11 - 1
src/main/java/com/fdkankan/openApi/controller/www/SceneController.java

@@ -12,7 +12,6 @@ import com.fdkankan.openApi.service.laser.SceneService;
 import com.fdkankan.openApi.service.www.IScenePlusService;
 import com.fdkankan.openApi.vo.BaseSceneParamVo;
 import com.fdkankan.openApi.vo.www.PageScenesParamVo;
-import com.fdkankan.openApi.vo.www.SceneVO;
 import com.fdkankan.web.response.ResultData;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.util.ObjectUtils;
@@ -100,5 +99,16 @@ public class SceneController extends BaseController {
         }
         return ResultData.ok(scenePlusService.getScenePanoramicImageFiles(param.getSceneCode()));
     }
+
+    /**
+     * 获取用户编辑数据
+     * @return
+     */
+    @SaIgnore
+    @PostMapping("/getSceneViewUserFile")
+    @ValidateApi(method = "scene:getSceneViewUserFile")
+    public ResultData getSceneViewUserFile(@RequestBody @Validated BaseSceneParamVo param) {
+        return ResultData.ok(scenePlusService.getSceneViewUserFile(param.getSceneCode(), this.getUserId()));
+    }
 }
 

+ 2 - 0
src/main/java/com/fdkankan/openApi/service/www/ICameraDetailService.java

@@ -18,4 +18,6 @@ public interface ICameraDetailService extends IService<CameraDetail> {
 
     List<CameraDetail> listByCameraIds(Set<Long> cameraIds);
 
+    CameraDetail getByCameraId(Long cameraId);
+
 }

+ 5 - 0
src/main/java/com/fdkankan/openApi/service/www/IScenePlusService.java

@@ -3,10 +3,13 @@ package com.fdkankan.openApi.service.www;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.fdkankan.openApi.common.PageInfo;
 import com.fdkankan.openApi.entity.www.ScenePlus;
+import com.fdkankan.openApi.vo.BaseSceneParamVo;
 import com.fdkankan.openApi.vo.www.CreateFicTitiousSceneParamVO;
 import com.fdkankan.openApi.vo.www.PageScenesParamVo;
 import com.fdkankan.openApi.vo.www.SceneVO;
 import com.fdkankan.web.response.ResultData;
+import org.springframework.validation.annotation.Validated;
+import org.springframework.web.bind.annotation.RequestBody;
 
 import java.util.List;
 
@@ -33,4 +36,6 @@ public interface IScenePlusService extends IService<ScenePlus> {
     List<String> getSceneObjFilePaths(String sceneCode);
 
     List<String> getScenePanoramicImageFiles(String sceneCode);
+
+    ResultData getSceneViewUserFile(String sceneCode, Long userId);
 }

+ 5 - 0
src/main/java/com/fdkankan/openApi/service/www/impl/CameraDetailServiceImpl.java

@@ -27,4 +27,9 @@ public class CameraDetailServiceImpl extends ServiceImpl<ICameraDetailMapper, Ca
     public List<CameraDetail> listByCameraIds(Set<Long> cameraIds) {
         return this.list(new LambdaQueryWrapper<CameraDetail>().in(CameraDetail::getCameraId, cameraIds));
     }
+
+    @Override
+    public CameraDetail getByCameraId(Long cameraId) {
+        return this.getOne(new LambdaQueryWrapper<CameraDetail>().eq(CameraDetail::getCameraId, cameraId));
+    }
 }

+ 38 - 0
src/main/java/com/fdkankan/openApi/service/www/impl/ScenePlusServiceImpl.java

@@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.io.FileUtil;
 import cn.hutool.core.util.StrUtil;
+import cn.hutool.core.util.ZipUtil;
 import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
@@ -29,6 +30,7 @@ import com.fdkankan.openApi.mapper.www.IScenePlusMapper;
 import com.fdkankan.openApi.service.laser.FilterService;
 import com.fdkankan.openApi.service.laser.SceneService;
 import com.fdkankan.openApi.service.www.*;
+import com.fdkankan.openApi.vo.BaseSceneParamVo;
 import com.fdkankan.openApi.vo.www.CreateFicTitiousSceneParamVO;
 import com.fdkankan.openApi.vo.www.PageScenesParamVo;
 import com.fdkankan.openApi.vo.www.SceneEditControlsVO;
@@ -41,6 +43,7 @@ import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
 
+import java.io.File;
 import java.util.*;
 import java.util.stream.Collectors;
 
@@ -60,6 +63,8 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
     private String mainUrl;
     @Value("${scene.pro.new.url}")
     private String sceneUrl;
+    @Value("#{'${camType.laser:}'.split(',')}")
+    private List<Integer> laserCamTypeList;
 
     @Autowired
     private FYunFileServiceInterface fYunFileService;
@@ -415,4 +420,37 @@ public class ScenePlusServiceImpl extends ServiceImpl<IScenePlusMapper, ScenePlu
                         + UploadFilePath.scene_result_data_path, sceneCode).concat("caches/images/")
                         + ((JSONObject) json).getString("uuid").concat(".jpg")).collect(Collectors.toList());
     }
+
+    @Override
+    public ResultData getSceneViewUserFile(String sceneCode, Long userId) {
+        ScenePlus scenePlus = this.getByNumAndUserId(userId, sceneCode);
+        if (ObjectUtils.isEmpty(scenePlus)) {
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5005);
+        }
+        if(Objects.isNull(scenePlus.getCameraId())){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_7010);
+        }
+        CameraDetail cameraDetail = cameraDetailService.getByCameraId(scenePlus.getCameraId());
+        Integer cameraType = cameraDetail.getType();
+        if(laserCamTypeList.contains(cameraType)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_4004);
+        }
+
+        String userOssPath = String.format(UploadFilePath.USER_VIEW_PATH, scenePlus.getNum());
+        List<String> userFileList = fYunFileService.listRemoteFiles(userOssPath);
+        if(CollUtil.isEmpty(userFileList)){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_5027);
+        }
+        String userDowbloadPath = String.format(ConstantFilePath.OPENAPI_DOWNLOAD_PATH, scenePlus.getNum());
+        String userLocalPath = userDowbloadPath.concat("user");
+        String zipName = scenePlus.getNum().concat("_user.zip");
+        String usesZipPath = userDowbloadPath.concat(zipName);
+        fYunFileService.downloadFileByCommand(userLocalPath, userOssPath);
+
+        ZipUtil.zip(userLocalPath, usesZipPath);
+        String usesZipOssPath = String.format("downloads/scene/%s/user/", scenePlus.getNum()).concat(zipName);
+        fYunFileService.uploadFileByCommand(usesZipPath, usesZipOssPath);
+
+        return ResultData.ok(fYunFileConfig.getHost().concat(usesZipOssPath));
+    }
 }