瀏覽代碼

保存漫游可行,上传文件路径改为上传到发布目录

dengsixing 3 年之前
父節點
當前提交
eb69bef6e9

+ 1 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneCooperationServiceImpl.java

@@ -191,6 +191,7 @@ public class SceneCooperationServiceImpl extends ServiceImpl<ISceneCooperationMa
             }
             }
 
 
             if(sceneIdList.size() > 0){
             if(sceneIdList.size() > 0){
+                param.setSceneIdList(sceneIdList);
                 sceneList = sceneProMapper.selectCooperationSceneList(param);
                 sceneList = sceneProMapper.selectCooperationSceneList(param);
             }
             }
         }
         }

+ 1 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java

@@ -2945,7 +2945,7 @@ public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro>
         if (!directory.exists()) {
         if (!directory.exists()) {
             directory.mkdirs();
             directory.mkdirs();
         }
         }
-        String editImagesPath = String.format(UploadFilePath.IMG_EDIT_PATH, param.getNum());
+        String editImagesPath = String.format(UploadFilePath.IMG_VIEW_PATH, param.getNum());
         String modeldataUrl = ossUrlPrefix + editImagesPath + "vision.modeldata?t=" + System.currentTimeMillis();
         String modeldataUrl = ossUrlPrefix + editImagesPath + "vision.modeldata?t=" + System.currentTimeMillis();
 
 
         //如果是云存储,将vision.modeldata下载到本地,如果是本地存储,场景计算完就已经将这个文件拷贝到编辑目录了存在这个文件了,不需要再下载
         //如果是云存储,将vision.modeldata下载到本地,如果是本地存储,场景计算完就已经将这个文件拷贝到编辑目录了存在这个文件了,不需要再下载

+ 31 - 28
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/UserSceneServiceImpl.java

@@ -1,6 +1,7 @@
 package com.fdkankan.scene.service.impl;
 package com.fdkankan.scene.service.impl;
 
 
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fdkankan.common.constant.ErrorCode;
 import com.fdkankan.common.constant.ErrorCode;
@@ -16,11 +17,14 @@ import com.fdkankan.platform.api.vo.Camera;
 import com.fdkankan.platform.api.vo.User;
 import com.fdkankan.platform.api.vo.User;
 import com.fdkankan.scene.api.vo.SceneCnt;
 import com.fdkankan.scene.api.vo.SceneCnt;
 import com.fdkankan.scene.entity.Folder;
 import com.fdkankan.scene.entity.Folder;
+import com.fdkankan.scene.entity.FolderScene;
 import com.fdkankan.scene.entity.Scene;
 import com.fdkankan.scene.entity.Scene;
 import com.fdkankan.scene.entity.SceneCooperation;
 import com.fdkankan.scene.entity.SceneCooperation;
 import com.fdkankan.scene.entity.ScenePro;
 import com.fdkankan.scene.entity.ScenePro;
 import com.fdkankan.scene.entity.SceneProExt;
 import com.fdkankan.scene.entity.SceneProExt;
 import com.fdkankan.scene.entity.SceneProPO;
 import com.fdkankan.scene.entity.SceneProPO;
+import com.fdkankan.scene.service.IFolderSceneService;
+import com.fdkankan.scene.service.IFolderService;
 import com.fdkankan.scene.service.ISceneCooperationService;
 import com.fdkankan.scene.service.ISceneCooperationService;
 import com.fdkankan.scene.service.ISceneProExtService;
 import com.fdkankan.scene.service.ISceneProExtService;
 import com.fdkankan.scene.service.ISceneProService;
 import com.fdkankan.scene.service.ISceneProService;
@@ -63,6 +67,10 @@ public class UserSceneServiceImpl implements IUserSceneService {
     private ISceneProService sceneProService;
     private ISceneProService sceneProService;
     @Autowired
     @Autowired
     private ISceneProExtService sceneProExtService;
     private ISceneProExtService sceneProExtService;
+    @Autowired
+    private IFolderService folderService;
+    @Autowired
+    private IFolderSceneService folderSceneService;
 
 
     @Override
     @Override
     public Page<SceneVO> getScenes(String token, SceneParamVO param) {
     public Page<SceneVO> getScenes(String token, SceneParamVO param) {
@@ -251,8 +259,8 @@ public class UserSceneServiceImpl implements IUserSceneService {
 
 
     public Map<String, Object> getNewScenesPagerByUserId(Long userId, SceneParamVO param) throws Exception {
     public Map<String, Object> getNewScenesPagerByUserId(Long userId, SceneParamVO param) throws Exception {
 
 
-        List<ScenePro> sceneEntityList = new ArrayList<>();
-        List<Folder> folderEntityList = new ArrayList<>();
+        List<ScenePro> sceneList = new ArrayList<>();
+        List<Folder> folderList = new ArrayList<>();
 
 
         boolean searchCamera = false;
         boolean searchCamera = false;
         List<Camera> cameraList = new ArrayList<>();
         List<Camera> cameraList = new ArrayList<>();
@@ -277,46 +285,41 @@ public class UserSceneServiceImpl implements IUserSceneService {
         //根目录时,需要排除已经归类的场景
         //根目录时,需要排除已经归类的场景
 //        if(param.getFolderId() == null){
 //        if(param.getFolderId() == null){
 //            //查出所有已经归类的场景id
 //            //查出所有已经归类的场景id
-//            Condition condition = new Condition(FolderEntity.class);
-//            condition.and().andEqualTo("userId", userId).andEqualTo("type", param.getFolderType());
-//            List<FolderEntity> folderList = folderService.findAll(condition, "create_time desc");
+//            List<Folder> folderList = folderService.list(
+//                                    new LambdaQueryWrapper<Folder>()
+//                                        .eq(Folder::getUserId, param.getUserId())
+//                                        .eq(Folder::getFolderType, param.getFolderType()));
 //
 //
-//            folderEntityList = folderList.parallelStream().filter(folder->ObjectUtils.isEmpty(folder.getParentId())).collect(Collectors.toList());
+//            folderList = folderList.parallelStream().filter(folder->ObjectUtils.isEmpty(folder.getParentId())).collect(Collectors.toList());
 //            // 查找所有的文件夹
 //            // 查找所有的文件夹
-//            List<Long> folderIds = folderList.parallelStream().map(FolderEntity::getId).collect(Collectors.toList());
+//            List<Long> folderIds = folderList.parallelStream().map(Folder::getId).collect(Collectors.toList());
 //            List<Long> sceneIdList = new ArrayList<>();
 //            List<Long> sceneIdList = new ArrayList<>();
-//            if(!ObjectUtils.isEmpty(folderIds)){
-//                Condition folderSceneCondition = new Condition(FolderSceneEntity.class);
-//                folderSceneCondition.and().andIn("folderId",folderIds);
-//                List<FolderSceneEntity> folderSceneEntities = folderSceneService.findAll(folderSceneCondition);
-//                sceneIdList = folderSceneEntities.parallelStream().map(FolderSceneEntity::getSceneId).collect(Collectors.toList());
+//            if(CollUtil.isNotEmpty(folderIds)){
+//                List<FolderScene> folderSceneList = folderSceneService.list(
+//                            new LambdaQueryWrapper<FolderScene>()
+//                                .select(FolderScene::getSceneId)
+//                                .in(FolderScene::getFolderId, folderIds));
+//                sceneIdList = folderSceneList.parallelStream().map(FolderScene::getSceneId).collect(Collectors.toList());
 //            }
 //            }
 //
 //
 //            Condition sceneCondition = new Condition(SceneProEntity.class);
 //            Condition sceneCondition = new Condition(SceneProEntity.class);
 //            sceneCondition.and().andEqualTo("userId", userId).andNotEqualTo("sceneSource", "11");
 //            sceneCondition.and().andEqualTo("userId", userId).andNotEqualTo("sceneSource", "11");
 //            if(sceneIdList.size() > 0){
 //            if(sceneIdList.size() > 0){
-//                sceneCondition.and().andNotIn("id", sceneIdList);
+//                param.setSceneIdList(sceneIdList);
 //            }
 //            }
 //
 //
 //            //协作者 检索
 //            //协作者 检索
-//            if(param.getKeywordType().equals("userName") && StringUtils.isNotEmpty(param.getSearchKey()) ){
-//                if( param.getSceneNumList()!=null &&  param.getSceneNumList().size()>0) {
-//                    sceneCondition.and().andIn("num", param.getSceneNumList());
-//                }else{
-//                    sceneCondition.and().andEqualTo("num","");
+//            if(param.getKeywordType().equals("userName") && StringUtils.isNotEmpty(param.getSearchKey())){
+//                if(CollUtil.isEmpty(param.getNumList())){
+//                    param.setNum("");
 //                }
 //                }
 //            }
 //            }
 //
 //
-//            if(!ObjectUtils.isEmpty(param.getSceneSource())){
-//                if(param.getSceneSource().contains(",")){
-//                    sceneCondition.and().andIn("sceneSource", Arrays.asList(param.getSceneSource().split(",")));
-//                }else{
-//                    sceneCondition.and().andEqualTo("sceneSource", param.getSceneSource());
-//                }
-//
-//            }
-//            if(StringUtil.isNotEmpty(param.getSceneType())){
-//                sceneCondition.and().andEqualTo("sceneType", param.getSceneType());
+//            if(Objects.nonNull(param.getSceneSource())){
+//                param.setSceneSourceList(
+//                    Arrays.stream(param.getSceneSource().split(","))
+//                        .map(source->Integer.parseInt(source))
+//                        .collect(Collectors.toList()));
 //            }
 //            }
 //            if(StringUtils.isNotEmpty(sceneName)){
 //            if(StringUtils.isNotEmpty(sceneName)){
 //                sceneCondition.and().andLike("sceneName", "%" + sceneName + "%");
 //                sceneCondition.and().andLike("sceneName", "%" + sceneName + "%");

+ 2 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneParamVO.java

@@ -171,4 +171,6 @@ public class SceneParamVO extends RequestBase implements Serializable {
 
 
     private Integer status;
     private Integer status;
 
 
+    private List<Long> sceneIdList;
+
 }
 }

+ 12 - 0
4dkankan-center-scene/src/main/resources/mapper/scene/SceneProMapper.xml

@@ -258,6 +258,9 @@
         left join t_scene_pro_ext ext on t.id = ext.scene_pro_id
         left join t_scene_pro_ext ext on t.id = ext.scene_pro_id
         where t.tb_status = 0
         where t.tb_status = 0
         and ext.scene_source != 11
         and ext.scene_source != 11
+        <if test="num != null">
+            and t.num = #{num}
+        </if>
         <if test="numList != null and numList.size() != 0">
         <if test="numList != null and numList.size() != 0">
             and t.num in
             and t.num in
             <foreach collection="numList" item="num" open="(" close=")" separator=",">
             <foreach collection="numList" item="num" open="(" close=")" separator=",">
@@ -270,9 +273,18 @@
                 #{sceneSource}
                 #{sceneSource}
             </foreach>
             </foreach>
         </if>
         </if>
+        <if test="sceneIdList != null and sceneIdList.size() != 0">
+            and t.id in
+            <foreach collection="sceneIdList" item="id" open="(" close=")" separator=",">
+                #{id}
+            </foreach>
+        </if>
         <if test="sceneType != null and sceneType !=''">
         <if test="sceneType != null and sceneType !=''">
             and t.scene_type = #{sceneType}
             and t.scene_type = #{sceneType}
         </if>
         </if>
+        <if test="sceneName != null and sceneName != ''">
+            and t.scene_name like concat('%', scene_name, '%')
+        </if>
         <if test="startTime != null">
         <if test="startTime != null">
             and t.create_time >= #{startTime}
             and t.create_time >= #{startTime}
         </if>
         </if>