feat:空域详情附带返回groupid

This commit is contained in:
gyb 2026-03-20 10:43:42 +08:00
parent 894b69e2f2
commit 29cca79264
3 changed files with 30 additions and 9 deletions

View File

@ -80,6 +80,9 @@ public class AirlineAreaControllerConvert extends BaseConvert<AirlineAreaDTO, Ai
// 复制创建者名称
vo.setCreateByName(dto.getCreateByName());
// 复制分组ID
vo.setGroupId(dto.getGroupId());
return vo;
}

View File

@ -21,6 +21,11 @@ public class AirlineAreaDTO extends BaseEntity {
*/
private Long id;
/**
* 分组ID
*/
private Long groupId;
/**
* 空域名称
*/

View File

@ -118,20 +118,33 @@ public class AirlineAreaGroupServiceImpl implements IAirlineAreaGroupService {
if (!CollectionUtils.isEmpty(airlineAreaGroupInfoList)) {
List<Long> ids = airlineAreaGroupInfoList.stream().map(AirlineAreaGroupInfo::getAreaId).toList();
List<AirlineArea> airlineAreaList = iAirlineAreaDomain.selectAreaListByIds(ids);
List<AirlineAreaDTO> areaDTOs = AirlineAreaServiceConvert.fromList(airlineAreaList);
// 为每个空域添加时间规则
for (AirlineAreaDTO areaDTO : areaDTOs) {
List<com.ruoyi.airline.service.dto.AirlineAreaTimeRuleDTO> timeRules = iAirlineAreaTimeRuleService.selectTimeRuleListByAreaId(areaDTO.getId());
areaDTO.setTimeRules(timeRules);
// 建立 areaId -> groupId 的映射
java.util.Map<Long, Long> areaGroupMap = new java.util.HashMap<>();
for (AirlineAreaGroupInfo info : airlineAreaGroupInfoList) {
areaGroupMap.put(info.getAreaId(), info.getGroupId());
}
// 转换createBy为用户名称
for (AirlineAreaDTO areaDTO : areaDTOs) {
// 转换空域列表并设置 groupId
List<AirlineAreaDTO> 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<com.ruoyi.airline.service.dto.AirlineAreaTimeRuleDTO> 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<String> userNameResult = remoteUserService.getUserName(createByUserId, SecurityConstants.INNER);
com.ruoyi.common.core.domain.R<String> userNameResult =
remoteUserService.getUserName(createByUserId, SecurityConstants.INNER);
if (userNameResult != null && userNameResult.getCode() == 200) {
areaDTO.setCreateByName(userNameResult.getData());
}