From 29cca79264271ff81f51fb173e43595e747baf05 Mon Sep 17 00:00:00 2001 From: gyb Date: Fri, 20 Mar 2026 10:43:42 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E7=A9=BA=E5=9F=9F=E8=AF=A6=E6=83=85?= =?UTF-8?q?=E9=99=84=E5=B8=A6=E8=BF=94=E5=9B=9Egroupid?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../convert/AirlineAreaControllerConvert.java | 3 ++ .../airline/service/dto/AirlineAreaDTO.java | 5 +++ .../impl/AirlineAreaGroupServiceImpl.java | 31 +++++++++++++------ 3 files changed, 30 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirlineAreaControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirlineAreaControllerConvert.java index 18e3cac..6bce049 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirlineAreaControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirlineAreaControllerConvert.java @@ -80,6 +80,9 @@ public class AirlineAreaControllerConvert extends BaseConvert ids = airlineAreaGroupInfoList.stream().map(AirlineAreaGroupInfo::getAreaId).toList(); List airlineAreaList = iAirlineAreaDomain.selectAreaListByIds(ids); - List areaDTOs = AirlineAreaServiceConvert.fromList(airlineAreaList); - - // 为每个空域添加时间规则 - for (AirlineAreaDTO areaDTO : areaDTOs) { - List timeRules = iAirlineAreaTimeRuleService.selectTimeRuleListByAreaId(areaDTO.getId()); - areaDTO.setTimeRules(timeRules); + + // 建立 areaId -> groupId 的映射 + java.util.Map areaGroupMap = new java.util.HashMap<>(); + for (AirlineAreaGroupInfo info : airlineAreaGroupInfoList) { + areaGroupMap.put(info.getAreaId(), info.getGroupId()); } - // 转换createBy为用户名称 - for (AirlineAreaDTO areaDTO : areaDTOs) { + // 转换空域列表并设置 groupId + List areaDTOs = new java.util.ArrayList<>(); + for (AirlineArea area : airlineAreaList) { + AirlineAreaDTO areaDTO = AirlineAreaServiceConvert.from(area); + // 设置 groupId + if (areaGroupMap.containsKey(area.getId())) { + areaDTO.setGroupId(areaGroupMap.get(area.getId())); + } + + // 为每个空域添加时间规则 + List timeRules = + iAirlineAreaTimeRuleService.selectTimeRuleListByAreaId(areaDTO.getId()); + areaDTO.setTimeRules(timeRules); + + // 转换createBy为用户名称 if (areaDTO.getCreateBy() != null && !areaDTO.getCreateBy().isEmpty()) { try { Long createByUserId = Long.parseLong(areaDTO.getCreateBy()); - com.ruoyi.common.core.domain.R userNameResult = remoteUserService.getUserName(createByUserId, SecurityConstants.INNER); + com.ruoyi.common.core.domain.R userNameResult = + remoteUserService.getUserName(createByUserId, SecurityConstants.INNER); if (userNameResult != null && userNameResult.getCode() == 200) { areaDTO.setCreateByName(userNameResult.getData()); }