From b4cbe90b2f84798a6664bfb57c7dbbe16b3c3c51 Mon Sep 17 00:00:00 2001
From: Xiajijian <1176061145@qq.com>
Date: Tue, 04 Nov 2025 20:15:21 +0800
Subject: [PATCH] 1.文件业务权限管理优化。 2.文件夹业务权限管理优化。 3.航线信息接口业务逻辑优化。 4.解析kmz文件接口,异常处理。 5.增加解析kmz文件接口业务,符合智云3.0整体业务。 6.优化公共方法类。 7.新增文件异常处理优化。 8.解决文件夹查询异常报错。 9.根据前端业务增加业务字段。 10.修改代码注释。 11.抽取公共方法。

---
 ard-route/src/main/java/com/ard/route/service/impl/ArdRouteFolderServiceImpl.java |   34 ++++++++++++++++++++++++++++------
 1 files changed, 28 insertions(+), 6 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 fcd9df0..1625807 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,5 +1,6 @@
 package com.ard.route.service.impl;
 
+import java.util.Arrays;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -79,6 +80,9 @@
     public int insertArdRouteFolder(ArdRouteFolder ardRouteFolder) {
         ardRouteFolder.setId(IdUtils.simpleUUID());
         ardRouteFolder.setCreateTime(DateUtils.getNowDate());
+        // 获取当前数据条数
+        int count = ardRouteFolderMapper.selectArdRouteFolderList(null).size();
+        ardRouteFolder.setSerialNumber(count + 1);
         return ardRouteFolderMapper.insertArdRouteFolder(ardRouteFolder);
     }
 
@@ -90,6 +94,10 @@
      */
     @Override
     public int updateArdRouteFolder(ArdRouteFolder ardRouteFolder) {
+        // 不能修改默认文件夹
+        if ("0".equals(ardRouteFolder.getId())) {
+            throw new RuntimeException("不能修改默认文件夹");
+        }
         ardRouteFolder.setUpdateTime(DateUtils.getNowDate());
         return ardRouteFolderMapper.updateArdRouteFolder(ardRouteFolder);
     }
@@ -103,13 +111,27 @@
     @Override
     @Transactional(rollbackFor = Exception.class)
     public Map<String, Integer> deleteArdRouteFolderByIds(String[] ids) {
+        // 检查是否包含默认文件夹,不能删除默认文件夹
+        for (String id : ids) {
+            if ("0".equals(id)) {
+                throw new RuntimeException("不能删除默认文件夹");
+            }
+        }
+
         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;
+        try {
+            // 先删除文件
+            int fileCount = ardRouteFileMapper.deleteRouteFileByFolderIds(ids);
+            result.put("file", fileCount);
+
+            // 再删除文件夹
+            int folderCount = ardRouteFolderMapper.deleteArdRouteFolderByIds(ids);
+            result.put("folder", folderCount);
+
+            return result;
+        } catch (Exception e) {
+            throw e; // 抛出异常让事务回滚
+        }
     }
 
     /**

--
Gitblit v1.9.3