浏览代码

场景中心代码迁移

by su 3 年之前
父节点
当前提交
af94e9c99e
共有 43 个文件被更改,包括 511 次插入422 次删除
  1. 1 15
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/FolderController.java
  2. 3 4
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/Folder.java
  3. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/FolderMapper.java
  4. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/FolderSceneMapper.java
  5. 4 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/IFolderSceneMapper.java
  6. 3 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/ISceneProMapper.java
  7. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/Scene3dNumMapper.java
  8. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/Scene3dfamilyMapper.java
  9. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneCooperationMapper.java
  10. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneDataDownloadMapper.java
  11. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneDownloadLogMapper.java
  12. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneFeedbackMapper.java
  13. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneFileBuildMapper.java
  14. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneFileUploadMapper.java
  15. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneMapper.java
  16. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneModuleVideoMapper.java
  17. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProEditExtMapper.java
  18. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProEditMapper.java
  19. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProExtMapper.java
  20. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProMapper.java
  21. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneRecordMapper.java
  22. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneResourceCameraMapper.java
  23. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneResourceCooperationMapper.java
  24. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneResourceMapper.java
  25. 0 18
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneStatisticsMapper.java
  26. 10 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IFolderSceneService.java
  27. 17 1
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IFolderService.java
  28. 2 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java
  29. 35 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/FolderSceneServiceImpl.java
  30. 217 3
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/FolderServiceImpl.java
  31. 6 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/SceneProServiceImpl.java
  32. 19 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/FolderSceneVO.java
  33. 46 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/FolderVO.java
  34. 17 0
      4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneProVo.java
  35. 36 1
      4dkankan-center-scene/src/main/resources/mapper/scene/FolderMapper.xml
  36. 13 0
      4dkankan-center-scene/src/main/resources/mapper/scene/FolderSceneMapper.xml
  37. 7 0
      4dkankan-center-scene/src/main/resources/mapper/scene/SceneProMapper.xml
  38. 5 0
      4dkankan-common/src/main/java/com/fdkankan/common/constant/ErrorCode.java
  39. 24 0
      4dkankan-common/src/main/java/com/fdkankan/common/constant/RecStatus.java
  40. 24 0
      4dkankan-common/src/main/java/com/fdkankan/common/constant/TbStatus.java
  41. 15 0
      4dkankan-common/src/main/java/com/fdkankan/common/util/DateExtUtil.java
  42. 6 0
      4dkankan-common/src/main/java/com/fdkankan/common/util/StrExtUtil.java
  43. 1 20
      4dkankan-pom/src/test/java/AutoGenerate.java

+ 1 - 15
4dkankan-center-scene/src/main/java/com/fdkankan/scene/controller/FolderController.java

@@ -1,35 +1,21 @@
 package com.fdkankan.scene.controller;
 
 
-import com.fdkankan.scene.entity.Folder;
-import com.fdkankan.scene.service.IFolderService;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 
 import org.springframework.web.bind.annotation.RestController;
 
-import java.util.List;
-
 /**
  * <p>
  * 文件夹表 前端控制器
  * </p>
  *
  * @author dengsixing
- * @since 2021-12-23
+ * @since 2021-12-24
  */
 @RestController
 @RequestMapping("/scene/folder")
 public class FolderController {
 
-    @Autowired
-    private IFolderService folderService;
-
-    @GetMapping
-    public List<Folder> test(){
-        return folderService.list();
-    }
-
 }
 

+ 3 - 4
4dkankan-center-scene/src/main/java/com/fdkankan/scene/entity/Folder.java

@@ -4,11 +4,10 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.baomidou.mybatisplus.annotation.TableName;
-import lombok.Getter;
-import lombok.Setter;
-
 import java.io.Serializable;
 import java.util.Date;
+import lombok.Getter;
+import lombok.Setter;
 
 /**
  * <p>
@@ -16,7 +15,7 @@ import java.util.Date;
  * </p>
  *
  * @author dengsixing
- * @since 2021-12-23
+ * @since 2021-12-24
  */
 @Getter
 @Setter

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/FolderMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.Folder;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 文件夹表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface FolderMapper extends BaseMapper<Folder> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/FolderSceneMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.FolderScene;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 文件夹和场景关联表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface FolderSceneMapper extends BaseMapper<FolderScene> {
-
-}

+ 4 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/IFolderSceneMapper.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.mapper;
 
 import com.fdkankan.scene.entity.FolderScene;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.scene.vo.FolderSceneVO;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -15,4 +16,7 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface IFolderSceneMapper extends BaseMapper<FolderScene> {
 
+    public FolderScene findByConditoin(FolderSceneVO param);
+
+
 }

+ 3 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/ISceneProMapper.java

@@ -2,6 +2,7 @@ package com.fdkankan.scene.mapper;
 
 import com.fdkankan.scene.entity.ScenePro;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.fdkankan.scene.vo.SceneProVo;
 import org.apache.ibatis.annotations.Mapper;
 
 /**
@@ -15,4 +16,6 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface ISceneProMapper extends BaseMapper<ScenePro> {
 
+    Integer findFolderIdScence(SceneProVo param);
+
 }

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/Scene3dNumMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.Scene3dNum;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 八目场景编码表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface Scene3dNumMapper extends BaseMapper<Scene3dNum> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/Scene3dfamilyMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.Scene3dfamily;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 三维家表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface Scene3dfamilyMapper extends BaseMapper<Scene3dfamily> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneCooperationMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneCooperation;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- *  Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneCooperationMapper extends BaseMapper<SceneCooperation> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneDataDownloadMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneDataDownload;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 安居客场景数据下载 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneDataDownloadMapper extends BaseMapper<SceneDataDownload> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneDownloadLogMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneDownloadLog;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景下载记录 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneDownloadLogMapper extends BaseMapper<SceneDownloadLog> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneFeedbackMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneFeedback;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 大场景反馈信息表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneFeedbackMapper extends BaseMapper<SceneFeedback> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneFileBuildMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneFileBuild;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景文件建模表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneFileBuildMapper extends BaseMapper<SceneFileBuild> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneFileUploadMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneFileUpload;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景文件上传表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneFileUploadMapper extends BaseMapper<SceneFileUpload> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.Scene;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneMapper extends BaseMapper<Scene> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneModuleVideoMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneModuleVideo;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景模块视频 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneModuleVideoMapper extends BaseMapper<SceneModuleVideo> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProEditExtMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneProEditExt;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * pro场景编辑数据表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneProEditExtMapper extends BaseMapper<SceneProEditExt> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProEditMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneProEdit;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * pro场景编辑数据表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneProEditMapper extends BaseMapper<SceneProEdit> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProExtMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneProExt;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * pro场景表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneProExtMapper extends BaseMapper<SceneProExt> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneProMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.ScenePro;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * pro场景表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneProMapper extends BaseMapper<ScenePro> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneRecordMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneRecord;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 大场景编辑记录表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneRecordMapper extends BaseMapper<SceneRecord> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneResourceCameraMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneResourceCamera;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景资源和相机关联表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneResourceCameraMapper extends BaseMapper<SceneResourceCamera> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneResourceCooperationMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneResourceCooperation;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景资源和协作用户关联表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneResourceCooperationMapper extends BaseMapper<SceneResourceCooperation> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneResourceMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneResource;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 场景资源表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneResourceMapper extends BaseMapper<SceneResource> {
-
-}

+ 0 - 18
4dkankan-center-scene/src/main/java/com/fdkankan/scene/mapper/SceneStatisticsMapper.java

@@ -1,18 +0,0 @@
-package com.fdkankan.scene.mapper;
-
-import com.fdkankan.scene.entity.SceneStatistics;
-import com.baomidou.mybatisplus.core.mapper.BaseMapper;
-import org.apache.ibatis.annotations.Mapper;
-
-/**
- * <p>
- * 百度统计场景流量量表 Mapper 接口
- * </p>
- *
- * @author dengsixing
- * @since 2021-12-23
- */
-@Mapper
-public interface SceneStatisticsMapper extends BaseMapper<SceneStatistics> {
-
-}

+ 10 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IFolderSceneService.java

@@ -3,6 +3,8 @@ package com.fdkankan.scene.service;
 import com.fdkankan.scene.entity.FolderScene;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.util.List;
+
 /**
  * <p>
  * 文件夹和场景关联表 服务类
@@ -13,4 +15,12 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IFolderSceneService extends IService<FolderScene> {
 
+    void deleteByFolderId(Long folderId);
+
+    void deleteBySceneId(Long sceneId);
+
+    FolderScene findByType(Long sceneId, Integer folderType);
+
+    List<FolderScene> findByFolderId(Long folderId);
+
 }

+ 17 - 1
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/IFolderService.java

@@ -2,6 +2,10 @@ package com.fdkankan.scene.service;
 
 import com.fdkankan.scene.entity.Folder;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.fdkankan.scene.vo.FolderVO;
+
+import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -9,8 +13,20 @@ import com.baomidou.mybatisplus.extension.service.IService;
  * </p>
  *
  * @author dengsixing
- * @since 2021-12-23
+ * @since 2021-12-24
  */
 public interface IFolderService extends IService<Folder> {
 
+    List<Folder> findByParentId(Long parentId);
+
+    List<Folder> findByParentIdAndName(Long parentId, String folderName, Long userId);
+
+    List<Folder> findByUserIdAndType(Long userId, Integer folderType, String folderName);
+
+    void deleteAllFile(Long id, Set<Long> ids);
+
+    void move(FolderVO folderVO);
+
+    List<FolderVO> convert(List<Folder> list);
+
 }

+ 2 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/ISceneProService.java

@@ -13,4 +13,6 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface ISceneProService extends IService<ScenePro> {
 
+    Integer findFolderIdScence(Long folderId, Long userId);
+
 }

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

@@ -1,11 +1,17 @@
 package com.fdkankan.scene.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fdkankan.common.constant.TbStatus;
 import com.fdkankan.scene.entity.FolderScene;
 import com.fdkankan.scene.mapper.IFolderSceneMapper;
 import com.fdkankan.scene.service.IFolderSceneService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.scene.vo.FolderSceneVO;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.List;
+
 /**
  * <p>
  * 文件夹和场景关联表 服务实现类
@@ -17,4 +23,33 @@ import org.springframework.stereotype.Service;
 @Service
 public class FolderSceneServiceImpl extends ServiceImpl<IFolderSceneMapper, FolderScene> implements IFolderSceneService {
 
+    @Autowired
+    private IFolderSceneMapper folderSceneMapper;
+
+    @Override
+    public void deleteByFolderId(Long folderId) {
+//        FolderScene folderScene  = new FolderScene();
+//        folderScene.setTbStatus(TbStatus.DELETE.code());
+//        folderSceneMapper.update(folderScene, new QueryWrapper<FolderScene>().eq("folderId", folderId));
+        remove(new QueryWrapper<FolderScene>().eq("folderId", folderId));
+    }
+
+    @Override
+    public void deleteBySceneId(Long sceneId) {
+//        FolderScene folderScene  = new FolderScene();
+//        folderScene.setTbStatus(TbStatus.DELETE.code());
+//        folderSceneMapper.update(folderScene, new QueryWrapper<FolderScene>().eq("sceneId", sceneId));
+        remove(new QueryWrapper<FolderScene>().eq("sceneId", sceneId));
+    }
+
+    @Override
+    public FolderScene findByType(Long sceneId, Integer folderType) {
+        return folderSceneMapper.findByConditoin(FolderSceneVO.builder().sceneId(sceneId).folderType(folderType).build());
+    }
+
+    @Override
+    public List<FolderScene> findByFolderId(Long folderId) {
+        return folderSceneMapper.selectList(new QueryWrapper<FolderScene>().eq("folderId", folderId).eq("tbStatus", TbStatus.VALID.code()));
+    }
+
 }

+ 217 - 3
4dkankan-center-scene/src/main/java/com/fdkankan/scene/service/impl/FolderServiceImpl.java

@@ -1,20 +1,234 @@
 package com.fdkankan.scene.service.impl;
 
+import cn.hutool.core.collection.CollUtil;
+import cn.hutool.core.date.DateUtil;
+import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fdkankan.common.constant.ErrorCode;
+import com.fdkankan.common.constant.RecStatus;
+import com.fdkankan.common.constant.TbStatus;
+import com.fdkankan.common.exception.BusinessException;
+import com.fdkankan.common.util.DateExtUtil;
 import com.fdkankan.scene.entity.Folder;
-import com.fdkankan.scene.mapper.FolderMapper;
+import com.fdkankan.scene.entity.FolderScene;
+import com.fdkankan.scene.entity.ScenePro;
+import com.fdkankan.scene.mapper.IFolderMapper;
+import com.fdkankan.scene.service.IFolderSceneService;
 import com.fdkankan.scene.service.IFolderService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.scene.service.ISceneProService;
+import com.fdkankan.scene.vo.FolderVO;
+import org.springframework.beans.BeanUtils;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.List;
+import java.util.Objects;
+import java.util.Set;
+
 /**
  * <p>
  * 文件夹表 服务实现类
  * </p>
  *
  * @author dengsixing
- * @since 2021-12-23
+ * @since 2021-12-24
  */
 @Service
-public class FolderServiceImpl extends ServiceImpl<FolderMapper, Folder> implements IFolderService {
+public class FolderServiceImpl extends ServiceImpl<IFolderMapper, Folder> implements IFolderService {
+
+    @Autowired
+    IFolderMapper folderMapper;
+    @Autowired
+    IFolderSceneService folderSceneService;
+    @Autowired
+    ISceneProService sceneProService;
+
+    @Override
+    public List<Folder> findByParentId(Long parentId) {
+        return folderMapper.selectList(
+                new QueryWrapper<Folder>()
+                        .eq("tbStatus", TbStatus.VALID.code())
+                        .eq("recStatus", RecStatus.VALID.code())
+                        .eq("parentId", parentId));
+    }
+
+    @Override
+    public List<Folder> findByParentIdAndName(Long parentId, String folderName, Long userId) {
+        return folderMapper.selectByCondition(
+                FolderVO.builder()
+                        .recStatus(RecStatus.VALID.code())
+                        .folderName(folderName)
+                        .userId(userId)
+                        .parentId(parentId).build());
+    }
+
+    @Override
+    public List<Folder> findByUserIdAndType(Long userId, Integer folderType, String folderName) {
+        return folderMapper.selectByUserIdAndType(
+                FolderVO.builder()
+                        .folderName(folderName)
+                        .userId(userId)
+                        .folderType(folderType).build());
+    }
+
+    /**
+     * 这里的ids似乎没用
+     * @param id
+     * @param ids
+     */
+    @Override
+    public void deleteAllFile(Long id, Set<Long> ids) {
+        Folder folder = new Folder();
+        folder.setRecStatus(RecStatus.DISABLE.code());
+        folderMapper.update(folder, new QueryWrapper<Folder>().eq("id", id));
+
+        List<FolderScene> folderSceneList = folderSceneService.findByFolderId(id);
+        if(CollUtil.isNotEmpty(folderSceneList)){
+            folderSceneList.forEach(folderScene -> ids.add(folderScene.getSceneId()));
+        }
+
+        folderSceneService.deleteByFolderId(id);
+
+        List<Folder> list = this.findByParentId(id);
+        if(CollUtil.isNotEmpty(list)){
+            for (Folder item : list) {
+                deleteAllFile(item.getId(), ids);
+            }
+        }
+    }
+
+    @Override
+    public void move(FolderVO folderVO) {
+
+        if(StrUtil.isEmpty(folderVO.getFolderIds()) && StrUtil.isEmpty(folderVO.getSceneIds())){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_3001.code(), ErrorCode.FAILURE_CODE_3001.message());
+        }
+
+        if(Objects.isNull(folderVO.getFolderType())){
+            throw new BusinessException(ErrorCode.FAILURE_CODE_3001.code(), ErrorCode.FAILURE_CODE_3001.message());
+        }
+
+        String[] folderIds = folderVO.getFolderIds().split(",");
+
+        Folder folder = null;
+        for (String folderId : folderIds) {
+            folder = this.getOne(
+                    new QueryWrapper<Folder>()
+                            .eq("tbStatus", TbStatus.VALID.code())
+                            .eq("resStatus", RecStatus.VALID.code())
+                            .eq("id",Long.valueOf(folderId)));
+            if(Objects.isNull(folder)){
+                continue;
+            }
+            folder.setParentId(folderVO.getParentId());
+
+            List<Folder> subList = this.findByParentIdAndName(folderVO.getParentId(), folder.getFolderName(), folderVO.getUserId());
+            if(CollUtil.isNotEmpty(subList)){
+                //表示迁移回当前目录,不做处理
+                if(subList.get(0).getId().equals(Long.parseLong(folderId))){
+                    return;
+                }
+                throw new BusinessException(ErrorCode.FAILURE_CODE_5030.code(), ErrorCode.FAILURE_CODE_5030.message());
+            }
+
+            updateById(folder);
+        }
+
+        if(StrUtil.isNotEmpty(folderVO.getSceneIds())){
+            String[] sceneIds = folderVO.getSceneIds().split(",");
+
+            FolderScene folderScene = null;
+            for (String sceneId : sceneIds) {
+                folderScene = folderSceneService.findByType(Long.valueOf(sceneId), folderVO.getFolderType());
+                if(Objects.nonNull(folderScene)){
+                    folderSceneService.removeById(folderScene.getId());
+                }
+
+                if(Objects.nonNull(folderVO.getParentId())){
+                    folderScene = new FolderScene();
+                    folderScene.setSceneId(Long.valueOf(sceneId));
+                    folderScene.setFolderId(folderVO.getParentId());
+
+                    folderSceneService.save(folderScene);
+                }
+            }
+        }
+
+
+    }
+
+    @Override
+    public List<FolderVO> convert(List<Folder> list) {
+        List<FolderVO> responseFolders = new ArrayList<>();
+        Integer sceneNumFile = 0;
+        for (Folder folder : list){
+            sceneNumFile = 0;
+            FolderVO folderVO = FolderVO.builder().build();
+            BeanUtils.copyProperties(folder, folderVO);
+            if(folder.getCreateTime() != null){
+                folderVO.setCreateTimeStr(DateUtil.format(folder.getCreateTime(), DateExtUtil.dateStyle4));
+            }
+            folderVO.setIsFolder(1);
+
+            Integer sceneNum = 0;
+
+            List<FolderScene> folderSceneList =
+                    folderSceneService.list(
+                            new QueryWrapper<FolderScene>()
+                                    .eq("recStatus", RecStatus.VALID.code())
+                                    .eq("tbStatus", TbStatus.VALID.code())
+                                    .eq("folderId", folder.getId())
+                                    .orderByDesc("id"));
+
+            if(CollUtil.isNotEmpty(folderSceneList)){
+                sceneNumFile =  sceneProService.findFolderIdScence(folder.getId(),folder.getUserId());
+            }
+
+            sceneNum += sceneNumFile;
+
+            //获取当前文件夹里面文件夹的场景数
+            sceneNum = folderChildrenSceneNum(folderVO.getId(), sceneNum);
+//                log.info(responseFolder.getName() + ",该场景最终数量:" + sceneNum);
+            folderVO.setSceneNum(sceneNum);
+            if(CollUtil.isNotEmpty(folderSceneList)){
+                ScenePro scenePro = sceneProService.getOne(
+                            new QueryWrapper<ScenePro>()
+                                .eq("tbStatus", TbStatus.VALID.code())
+                                .eq("resStatus", RecStatus.VALID.code())
+                                .eq("id",folderSceneList.get(0).getSceneId()));
+                folderVO.setImg(scenePro == null? "" : scenePro.getThumb());
+            }
+
+            responseFolders.add(folderVO);
+        }
+        return responseFolders;
+    }
+
+    //根据文件夹,递归获取该文件夹中所有文件夹的场景数量之和
+    public int folderChildrenSceneNum(Long parentId, Integer sceneNum){
+        List<Folder> byParentId = this.findByParentId(parentId);
+        if(byParentId != null && byParentId.size() > 0){
+            Integer sceneNumFile = 0;
+            for (Folder folder : byParentId) {
+                sceneNumFile = 0;
+                List<FolderScene> folderSceneList =
+                        folderSceneService.list(
+                                new QueryWrapper<FolderScene>()
+                                        .eq("recStatus", RecStatus.VALID.code())
+                                        .eq("tbStatus", TbStatus.VALID.code())
+                                        .eq("folderId", folder.getId())
+                                        .orderByDesc("id"));
+
+                if(CollUtil.isNotEmpty(folderSceneList)){
+                    sceneNumFile =  sceneProService.findFolderIdScence(folder.getId(),folder.getUserId());
+                }
 
+                sceneNum += sceneNumFile;
+                sceneNum = folderChildrenSceneNum(folder.getId(), sceneNum);
+            }
+        }
+        return sceneNum;
+    }
 }

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

@@ -4,6 +4,7 @@ import com.fdkankan.scene.entity.ScenePro;
 import com.fdkankan.scene.mapper.ISceneProMapper;
 import com.fdkankan.scene.service.ISceneProService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.scene.vo.SceneProVo;
 import org.springframework.stereotype.Service;
 
 /**
@@ -17,4 +18,9 @@ import org.springframework.stereotype.Service;
 @Service
 public class SceneProServiceImpl extends ServiceImpl<ISceneProMapper, ScenePro> implements ISceneProService {
 
+    @Override
+    public Integer findFolderIdScence(Long folderId, Long userId) {
+        return baseMapper.findFolderIdScence(SceneProVo.builder().folderId(folderId).userId(userId).build());
+    }
+
 }

+ 19 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/FolderSceneVO.java

@@ -0,0 +1,19 @@
+package com.fdkankan.scene.vo;
+
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FolderSceneVO {
+
+    private Long sceneId;
+
+    private Integer folderType;
+
+}

+ 46 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/FolderVO.java

@@ -0,0 +1,46 @@
+package com.fdkankan.scene.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.util.Date;
+
+@Data
+@Builder
+@NoArgsConstructor
+@AllArgsConstructor
+public class FolderVO {
+
+    private Long id;
+
+    private Long userId;
+
+    private String folderName;
+
+    /**
+     * 文件夹类型,0我的场景,1协作场景
+     */
+    private Integer folderType;
+
+    private Long parentId;
+
+    private String folderIds;
+
+    private String sceneIds;
+
+    private Date createTime;
+
+    private String createTimeStr;
+
+    private Integer sceneNum;
+
+    private Integer isFolder;
+
+    private String img;
+
+    private String recStatus;
+
+
+}

+ 17 - 0
4dkankan-center-scene/src/main/java/com/fdkankan/scene/vo/SceneProVo.java

@@ -0,0 +1,17 @@
+package com.fdkankan.scene.vo;
+
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+@Builder
+@Data
+@NoArgsConstructor
+@AllArgsConstructor
+public class SceneProVo {
+
+    private Long userId;
+
+    private Long folderId;
+}

+ 36 - 1
4dkankan-center-scene/src/main/resources/mapper/scene/FolderMapper.xml

@@ -1,5 +1,40 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
-<mapper namespace="com.fdkankan.scene.mapper.FolderMapper">
+<mapper namespace="com.fdkankan.scene.mapper.IFolderMapper">
+
+    <select id="selectByCondition" resultType="com.fdkankan.scene.entity.Folder">
+
+        SELECT *
+        FROM t_folder
+        WHERE tb_status = 0
+        <if test="recStatus != null and recStatus != ''">
+            and rec_status = #{recStatus}
+        </if>
+        <if test="folderName != null and folderName != ''">
+            and folder_name = #{folderName}
+        </if>
+        <if test="userId != null">
+            and user_id = #{userId}
+        </if>
+        <if test= 'parentId != null'>
+            and parent_id = #{parentId}
+        </if>
+        <if test= 'parentId == null'>
+            and parent_id is null
+        </if>
+
+    </select>
+
+    <select id="selectByUserIdAndType" resultType="com.fdkankan.scene.entity.Folder">
+        SELECT *
+        FROM t_folder
+        WHERE tb_status = 0
+        and rec_status = 'A'
+        and user_id = #{userId}
+        and folder_type = #{folderType}
+        <if test= "name != null">
+            and folder_name like CONCAT('%',#{folderName},'%')
+        </if>
+    </select>
 
 </mapper>

+ 13 - 0
4dkankan-center-scene/src/main/resources/mapper/scene/FolderSceneMapper.xml

@@ -2,4 +2,17 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.scene.mapper.IFolderSceneMapper">
 
+    <select id="findByConditoin" resultType="com.fdkankan.scene.entity.FolderScene">
+        SELECT b.*
+        FROM t_folder a
+        LEFT JOIN t_folder_scene b ON a.id = b.folder_id
+        WHERE a.`tb_status` = 0 AND b.`tb_status` = 0
+        <if test="sceneId != null">
+            AND b.scene_id = #{sceneId}
+        </if>
+        <if test="folderType != null">
+            AND a.folder_type = #{folderType}
+        </if>
+    </select>
+
 </mapper>

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

@@ -2,4 +2,11 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.fdkankan.scene.mapper.ISceneProMapper">
 
+    <select id="findFolderIdScence">
+        SELECT count(id)
+        FROM t_scene_pro
+        WHERE id in (SELECT scene_id from t_folder_scene WHERE folder_id = #{folderId})
+        and user_id = #{userId}
+    </select>
+
 </mapper>

+ 5 - 0
4dkankan-common/src/main/java/com/fdkankan/common/constant/ErrorCode.java

@@ -50,6 +50,11 @@ public enum ErrorCode {
     FAILURE_CODE_3031(3031, "相机已绑定"),
     FAILURE_CODE_3032(3032, "当前相机已被授权,请选择另外相机绑定"),
     FAILURE_CODE_3033(3033, "60秒内不能重复获取验证码"),
+
+
+    FAILURE_CODE_5030(5030, "同级文件夹名称不能重复"),
+
+
     ;
 
     private Integer code;

+ 24 - 0
4dkankan-common/src/main/java/com/fdkankan/common/constant/RecStatus.java

@@ -0,0 +1,24 @@
+package com.fdkankan.common.constant;
+
+public enum RecStatus {
+
+    VALID("A", "生效"),
+    DISABLE("I", "禁用");
+
+    private String code;
+    private String message;
+
+    private RecStatus(String code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public String code() {
+        return code;
+    }
+
+    public String message() {
+        return message;
+    }
+
+}

+ 24 - 0
4dkankan-common/src/main/java/com/fdkankan/common/constant/TbStatus.java

@@ -0,0 +1,24 @@
+package com.fdkankan.common.constant;
+
+public enum TbStatus {
+
+    VALID(0, "有效的"),
+    DELETE(1, "已删除");
+
+    private Integer code;
+    private String message;
+
+    private TbStatus(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public Integer code() {
+        return code;
+    }
+
+    public String message() {
+        return message;
+    }
+
+}

+ 15 - 0
4dkankan-common/src/main/java/com/fdkankan/common/util/DateExtUtil.java

@@ -0,0 +1,15 @@
+package com.fdkankan.common.util;
+
+public class DateExtUtil {
+
+    public static final String dateStyle = "yyyy-MM-dd HH:mm:ss";
+    public static final String dateStyle2 = "HH:mm:ss";
+    public static final String dateStyle3 = "HH:mm";
+    public static final String dateStyle4 = "yyyy-MM-dd";
+    public static final String dateStyle5 = "yyyy-MM";
+    public static final String dateStyle6 = "yyyyMMdd";
+    public static final String dateStyle7 = "yyMMddHHmm";
+    public static final String dateStyle8 = "yyyy-MM-dd HH:mm";
+    public static final String dateStyle9 = "yyyy.MM.dd";
+
+}

+ 6 - 0
4dkankan-common/src/main/java/com/fdkankan/common/util/StrExtUtil.java

@@ -3,4 +3,10 @@ package com.fdkankan.common.util;
 import cn.hutool.core.util.StrUtil;
 
 public class StrExtUtil extends StrUtil {
+
+    public static void main(String[] args) {
+        String test = "";
+        System.out.println(isBlank(test));
+    }
+
 }

+ 1 - 20
4dkankan-pom/src/test/java/AutoGenerate.java

@@ -15,26 +15,7 @@ public class AutoGenerate {
     public  void generate() {
         String path ="F:\\code2\\4dkankan-parent\\4dkankan-center-scene";
         List<String> tables = new ArrayList<>();
-        tables.add("t_folder_scene");
-        tables.add("t_scene");
-        tables.add("t_scene_3d_num");
-        tables.add("t_scene_3dfamily");
-        tables.add("t_scene_cooperation");
-        tables.add("t_scene_data_download");
-        tables.add("t_scene_download_log");
-        tables.add("t_scene_feedback");
-        tables.add("t_scene_file_build");
-        tables.add("t_scene_file_upload");
-        tables.add("t_scene_module_video");
-        tables.add("t_scene_pro");
-        tables.add("t_scene_pro_edit");
-        tables.add("t_scene_pro_edit_ext");
-        tables.add("t_scene_pro_ext");
-        tables.add("t_scene_record");
-        tables.add("t_scene_resource");
-        tables.add("t_scene_resource_camera");
-        tables.add("t_scene_resource_cooperation");
-        tables.add("t_scene_statistics");
+        tables.add("t_folder");
 
 
         String moduleName ="scene";