From c136e237fb3ed30ed8c4348179ca2b673e7effb0 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com>
Date: Thu, 29 Jan 2026 15:39:05 +0800
Subject: [PATCH 1/2] =?UTF-8?q?bug:=E4=BF=AE=E5=A4=8D=E4=BF=AE=E6=94=B9?=
=?UTF-8?q?=E8=88=AA=E7=BA=BF=E5=90=8D=E7=A7=B0=E5=AF=BC=E8=87=B4=E7=9A=84?=
=?UTF-8?q?=E9=97=AE=E9=A2=98?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../mapper/airline/AirlineFileMapper.xml | 44 ++++++++++++++-----
1 file changed, 33 insertions(+), 11 deletions(-)
diff --git a/src/main/resources/mapper/airline/AirlineFileMapper.xml b/src/main/resources/mapper/airline/AirlineFileMapper.xml
index 6b4565d..5abd366 100644
--- a/src/main/resources/mapper/airline/AirlineFileMapper.xml
+++ b/src/main/resources/mapper/airline/AirlineFileMapper.xml
@@ -59,18 +59,40 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update airline_file
- set name = #{name},
- air_vendor = #{airVendor},
- air_type = #{airType},
- file_name = #{fileName},
- file_url = #{fileUrl},
- type = #{type},
- source = #{source},
- status = #{status},
- file_md5 = #{fileMd5},
- update_by = #{updateBy},
+
+ name = #{name},
+
+ air_vendor = #{airVendor},
+
+
+ air_type = #{airType},
+
+
+ file_name = #{fileName},
+
+
+ file_url = #{fileUrl},
+
+
+ type = #{type},
+
+
+ source = #{source},
+
+
+ status = #{status},
+
+
+ file_md5 = #{fileMd5},
+
+
+ update_by = #{updateBy},
+
update_time = now(),
- remark = #{remark}
+
+ remark = #{remark},
+
+
where id = #{id}
\ No newline at end of file
From f27bfc33a2b1e1c03733cce007d2f55397f32611 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com>
Date: Thu, 29 Jan 2026 17:49:03 +0800
Subject: [PATCH 2/2] =?UTF-8?q?fit:=E8=88=AA=E7=BA=BF=E7=AE=A1=E7=90=86?=
=?UTF-8?q?=EF=BC=8C=E5=A2=9E=E5=8A=A0=E6=89=B9=E9=87=8F=E7=A7=BB=E5=8A=A8?=
=?UTF-8?q?=E5=88=86=E7=BB=84=E7=9A=84=E5=8A=9F=E8=83=BD?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../AirlineFileGroupInfoController.java | 21 ++++++++++++++++++
.../api/IAirlineFileGroupInfoDomain.java | 10 +++++++++
.../impl/AirlineFileGroupInfoDomainImpl.java | 5 +++++
.../mapper/AirlineFileGroupInfoMapper.java | 10 +++++++++
.../api/IAirlineFileGroupInfoService.java | 10 +++++++++
.../impl/AirlineFileServiceGroupInfoImpl.java | 22 +++++++++++++++++++
.../airline/AirlineFileGroupInfoMapper.xml | 13 +++++++++++
7 files changed, 91 insertions(+)
diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java
index a466512..98ac84c 100644
--- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java
+++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java
@@ -172,5 +172,26 @@ public class AirlineFileGroupInfoController extends BaseController {
throw new BaseException("移动失败");
}
+ @PostMapping("/move/{groupId}/{newGroupId}")
+ @Operation(summary = "批量移动分组详情到新分组")
+ public AjaxResult batchMove(@RequestBody List airlines, @PathVariable("groupId") Long groupId, @PathVariable("newGroupId") Long newGroupId) throws BaseException {
+ if (groupId == null) {
+ throw new BaseException("原分组ID不能为空");
+ }
+ if (newGroupId == null) {
+ throw new BaseException("新分组ID不能为空");
+ }
+ if (CollectionUtils.isEmpty(airlines)) {
+ throw new BaseException("没有需要移动的航线");
+ }
+ Long result = iAirlineFileGroupInfoService.batchMoveGroupInfo(
+ airlines, groupId, newGroupId
+ );
+ if (result > 0) {
+ return success(result);
+ }
+ throw new BaseException("移动失败");
+ }
+
}
diff --git a/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java b/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java
index bba9718..10fe3fc 100644
--- a/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java
+++ b/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java
@@ -50,4 +50,14 @@ public interface IAirlineFileGroupInfoDomain {
* @return 结果
*/
Long deleteGroupInfoBatch(List airLineIds, Long groupId);
+
+ /**
+ * 批量移动分组详情到新分组
+ *
+ * @param oldGroupId 原分组ID
+ * @param newGroupId 新分组ID
+ * @param airLineIds 航线ID列表
+ * @return 结果
+ */
+ Long batchMoveGroupInfo(Long oldGroupId, Long newGroupId, List airLineIds);
}
diff --git a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java
index 3499bb7..f701617 100644
--- a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java
+++ b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java
@@ -63,4 +63,9 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma
public Long deleteGroupInfoBatch(List airLineIds, Long groupId) {
return airlineFileGroupInfoMapper.deleteGroupInfoBatch(airLineIds, groupId);
}
+
+ @Override
+ public Long batchMoveGroupInfo(Long oldGroupId, Long newGroupId, List airLineIds) {
+ return airlineFileGroupInfoMapper.batchUpdateGroupId(oldGroupId, newGroupId, airLineIds);
+ }
}
diff --git a/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java b/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java
index 157257a..876ec6d 100644
--- a/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java
+++ b/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java
@@ -45,4 +45,14 @@ public interface AirlineFileGroupInfoMapper {
* @return 影响的行数
*/
Long deleteGroupInfoBatch(List airLineIds, Long groupId);
+
+ /**
+ * 批量更新分组ID,将航线文件从一个分组移动到另一个分组
+ *
+ * @param oldGroupId 原分组ID
+ * @param newGroupId 新分组ID
+ * @param airLineIds 航线文件ID列表
+ * @return 影响的行数
+ */
+ Long batchUpdateGroupId(Long oldGroupId, Long newGroupId, List airLineIds);
}
diff --git a/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java b/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java
index 03be456..f57114c 100644
--- a/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java
+++ b/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java
@@ -35,4 +35,14 @@ public interface IAirlineFileGroupInfoService {
* @throws BaseException
*/
Long deleteGroupInfoBatch(List airLineIds, Long groupId) throws BaseException;
+
+ /**
+ * 批量移动分组详情到新分组
+ * @param airLineIds 航线ID列表
+ * @param groupId 原分组ID
+ * @param newGroupId 新分组ID
+ * @return
+ * @throws BaseException
+ */
+ Long batchMoveGroupInfo(List airLineIds, Long groupId, Long newGroupId) throws BaseException;
}
diff --git a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java
index 98917ed..9e7ebc9 100644
--- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java
+++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java
@@ -111,4 +111,26 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
// 调用domain层批量删除方法
return iAirlineFileGroupInfoDomain.deleteGroupInfoBatch(airLineIds, groupId);
}
+
+ @Override
+ public Long batchMoveGroupInfo(List airLineIds, Long groupId, Long newGroupId) throws BaseException {
+ // 检查参数
+ if (groupId == null || newGroupId == null || airLineIds == null || airLineIds.isEmpty()) {
+ throw new BaseException("原分组ID、新分组ID和航线ID列表不能为空");
+ }
+
+ // 为每个航线生成新的文件名并更新
+ for (Long airlineId : airLineIds) {
+ AirlineFileDTO airlineFile = iAirlineFileService.selectById(airlineId);
+ if (airlineFile != null) {
+ String name = airlineFile.getName();
+ name = iAirlineFileService.getNewFileNameLikeByGroupId(name, newGroupId);
+ airlineFile.setName(name);
+ iAirlineFileService.update(airlineFile);
+ }
+ }
+
+ // 调用domain层批量移动方法
+ return iAirlineFileGroupInfoDomain.batchMoveGroupInfo(groupId, newGroupId, airLineIds);
+ }
}
\ No newline at end of file
diff --git a/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml b/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml
index ee1aca0..a118959 100644
--- a/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml
+++ b/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml
@@ -88,4 +88,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
#{airlineId}
+
+
+
+ update airline_file_group_info
+ set group_id = #{newGroupId},
+ update_time = now()
+ where del_flag = 0
+ and group_id = #{oldGroupId}
+ and airline_id in
+
+ #{airlineId}
+
+
\ No newline at end of file