lyhzzz 2 hónapja
szülő
commit
ac1b11bb9d

+ 1 - 0
src/main/java/com/fdkankan/manage_jp/service/IManageFolderSceneService.java

@@ -17,6 +17,7 @@ import java.util.List;
 public interface IManageFolderSceneService extends IService<ManageFolderScene> {
 
     List<ManageFolderScene> getByFolderId(Integer folderId);
+    List<String> getAllSceneByFolderId(List<Integer> folderIds);
 
     List<ManageFolderScene> getByFolderIds(List<Integer> collect);
 

+ 25 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ManageFolderSceneServiceImpl.java

@@ -1,15 +1,19 @@
 package com.fdkankan.manage_jp.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.fdkankan.manage_jp.entity.ManageFolder;
 import com.fdkankan.manage_jp.entity.ManageFolderScene;
 import com.fdkankan.manage_jp.mapper.IManageFolderSceneMapper;
 import com.fdkankan.manage_jp.service.IManageFolderSceneService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.fdkankan.manage_jp.service.IManageFolderService;
+import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
+import java.util.stream.Collectors;
 
 /**
  * <p>
@@ -71,4 +75,25 @@ public class ManageFolderSceneServiceImpl extends ServiceImpl<IManageFolderScene
         wrapper.eq(ManageFolderScene::getType,type);
         this.remove(wrapper);
     }
+
+    @Autowired
+    IManageFolderService manageFolderService;
+
+    @Override
+    public List<String> getAllSceneByFolderId(List<Integer> folderIds) {
+        List<String> numList = new ArrayList<>();
+        for (Integer folderId : folderIds) {
+            List<ManageFolder> sonList = manageFolderService.getSonList(folderId);
+            if(sonList.isEmpty()){
+                continue;
+            }
+            List<Integer> collect = sonList.stream().map(ManageFolder::getId).collect(Collectors.toList());
+
+            List<ManageFolderScene> folderSceneList = this.getByFolderIds(collect);
+            for (ManageFolderScene manageFolderScene : folderSceneList) {
+                numList.add(manageFolderScene.getNum());
+            }
+        }
+        return numList;
+    }
 }

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/service/impl/ManageFolderServiceImpl.java

@@ -131,4 +131,6 @@ public class ManageFolderServiceImpl extends ServiceImpl<IManageFolderMapper, Ma
         }
         manageFolderSceneService.saveOrUpdateBatch(updateList);
     }
+
+
 }

+ 15 - 1
src/main/java/com/fdkankan/manage_jp/service/impl/TmColdStorageServiceImpl.java

@@ -60,6 +60,10 @@ public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper,
     IProjectSceneGpsService projectSceneGpsService;
     @Autowired
     IProjectNumService projectNumService;
+    @Autowired
+    IManageFolderSceneService manageFolderSceneService;
+    @Autowired
+    IManageFolderService manageFolderService;
 
     @Override
     public Object pageList(ColdStorageParam param) {
@@ -108,9 +112,19 @@ public class TmColdStorageServiceImpl extends ServiceImpl<ITmColdStorageMapper,
     @Override
     @Transactional
     public void coldStorage(SceneParam param) {
-        if(param.getNumList().isEmpty()){
+        if((param.getNumList() == null || param.getNumList().isEmpty()) &&
+                (param.getFolderIdList() == null || param.getFolderIdList().isEmpty())){
             throw new BusinessException(ResultCode.PARAM_ERROR);
         }
+        if(param.getFolderIdList() != null && !param.getFolderIdList().isEmpty()){
+            List<String> numList = manageFolderSceneService.getAllSceneByFolderId(param.getFolderIdList());
+            if(param.getNumList() == null || param.getNumList().isEmpty()){
+                param.setNumList(numList);
+            }else {
+                param.getNumList().addAll(numList);
+            }
+        }
+
         for (String num :param.getNumList()) {
             List<TmColdStorage> tmColdStorages = this.getByNum(num);
             if(!tmColdStorages.isEmpty()){

+ 2 - 0
src/main/java/com/fdkankan/manage_jp/vo/request/SceneParam.java

@@ -42,4 +42,6 @@ public class SceneParam extends RequestBase {
 
     private Integer haveFolder = 0;
     private Integer folderId;
+    private List<Integer> folderIdList;
+
 }