From ba482fb9b73b43e5fbe6a0e206a103535f8a0c42 Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Wed, 29 Oct 2025 17:20:34 +0800
Subject: [PATCH] 1.航线(kmz)业务增加,Minio文件路径字段。 2.增加方法从URL中提取文件路径部分。

---
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java |   43 ++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 38 insertions(+), 5 deletions(-)

diff --git a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java
index 8837a9d..fcd9df0 100644
--- a/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java
+++ b/ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java
@@ -1,14 +1,20 @@
 package com.ard.route.service.impl;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import com.ard.common.annotation.DataScope;
+import com.ard.common.utils.DateUtils;
 import com.ard.common.utils.uuid.IdUtils;
+import com.ard.route.domain.route.ArdRouteFile;
+import com.ard.route.mapper.ArdRouteFileMapper;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import com.ard.route.mapper.ArdRouteFolderMapper;
-import com.ard.route.domain.ArdRouteFolder;
+import com.ard.route.domain.route.ArdRouteFolder;
 import com.ard.route.service.IArdRouteFolderService;
+import org.springframework.transaction.annotation.Transactional;
 
 /**
  * 文件夹Service业务层处理
@@ -22,6 +28,9 @@
     @Autowired
     private ArdRouteFolderMapper ardRouteFolderMapper;
 
+    @Autowired
+    private ArdRouteFileMapper ardRouteFileMapper;
+
     /**
      * 查询文件夹
      * 
@@ -30,7 +39,9 @@
      */
     @Override
     public ArdRouteFolder selectArdRouteFolderById(String id) {
-        return ardRouteFolderMapper.selectArdRouteFolderById(id);
+        ArdRouteFolder ardRouteFolder = ardRouteFolderMapper.selectArdRouteFolderById(id);
+        ardRouteFolder.setArdRouteFileLs(getArdRouteFiles(id));
+        return ardRouteFolder;
     }
 
     /**
@@ -42,7 +53,20 @@
     @Override
     @DataScope(deptAlias = "d", userAlias = "u")
     public List<ArdRouteFolder> selectArdRouteFolderList(ArdRouteFolder ardRouteFolder) {
-        return ardRouteFolderMapper.selectArdRouteFolderList(ardRouteFolder);
+        List<ArdRouteFolder> list = ardRouteFolderMapper.selectArdRouteFolderList(ardRouteFolder);
+        for (ArdRouteFolder routeFolder : list) {
+            routeFolder.setArdRouteFileLs(getArdRouteFiles(routeFolder.getId()));
+        }
+        return list;
+    }
+
+    /**
+     * 查询文件列表
+     */
+    private List<ArdRouteFile> getArdRouteFiles(String folderId) {
+        ArdRouteFile ardRouteFile = new ArdRouteFile();
+        ardRouteFile.setFolderId(folderId);
+        return ardRouteFileMapper.selectArdRouteFileList(ardRouteFile);
     }
 
     /**
@@ -54,6 +78,7 @@
     @Override
     public int insertArdRouteFolder(ArdRouteFolder ardRouteFolder) {
         ardRouteFolder.setId(IdUtils.simpleUUID());
+        ardRouteFolder.setCreateTime(DateUtils.getNowDate());
         return ardRouteFolderMapper.insertArdRouteFolder(ardRouteFolder);
     }
 
@@ -65,6 +90,7 @@
      */
     @Override
     public int updateArdRouteFolder(ArdRouteFolder ardRouteFolder) {
+        ardRouteFolder.setUpdateTime(DateUtils.getNowDate());
         return ardRouteFolderMapper.updateArdRouteFolder(ardRouteFolder);
     }
 
@@ -75,8 +101,15 @@
      * @return 结果
      */
     @Override
-    public int deleteArdRouteFolderByIds(String[] ids) {
-        return ardRouteFolderMapper.deleteArdRouteFolderByIds(ids);
+    @Transactional(rollbackFor = Exception.class)
+    public Map<String, Integer> deleteArdRouteFolderByIds(String[] ids) {
+        Map<String, Integer> result = new HashMap<>();
+        // 删除文件夹的同时也删除文件夹下的所有文件
+        int fileAdd = ardRouteFileMapper.deleteRouteFileByFolderIds(ids);
+        result.put("file", fileAdd);
+        int folderCount = ardRouteFolderMapper.deleteArdRouteFolderByIds(ids);
+        result.put("folder", folderCount);
+        return result;
     }
 
     /**

--
Gitblit v1.9.3