package com.ruoyi.airline.controller.convert; import com.ruoyi.airline.api.domain.AirlineAreaGroupDetailVO; import com.ruoyi.airline.service.dto.AirlineAreaDTO; import com.ruoyi.airline.service.dto.AirlineAreaGroupDTO; import com.ruoyi.common.core.utils.BaseConvert; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import java.util.ArrayList; import java.util.List; /** * 空域分组详情Controller转换类 * 用于Service DTO和API VO之间的转换 * * @author ruoyi * @date 2026-02-25 */ public class AirlineAreaGroupDetailControllerConvert extends BaseConvert { private static final Logger log = LoggerFactory.getLogger(AirlineAreaGroupDetailControllerConvert.class); private static final AirlineAreaGroupDetailControllerConvert INSTANCE = new AirlineAreaGroupDetailControllerConvert(); private AirlineAreaGroupDetailControllerConvert() { super(AirlineAreaGroupDTO.class, AirlineAreaGroupDetailVO.class); } public static AirlineAreaGroupDetailVO from(AirlineAreaGroupDTO dto) { return INSTANCE.innerFrom(dto); } public static AirlineAreaGroupDTO to(AirlineAreaGroupDetailVO vo) { return INSTANCE.innerTo(vo); } public static List fromList(List dtoList) { return INSTANCE.innerFromList(dtoList); } public static List toList(List voList) { return INSTANCE.innerToList(voList); } @Override protected AirlineAreaGroupDetailVO innerFrom(AirlineAreaGroupDTO dto) { if (dto == null) { return null; } AirlineAreaGroupDetailVO result = new AirlineAreaGroupDetailVO(); result.setGroupId(dto.getGroupId()); if (dto.getGroupInfos() != null && !dto.getGroupInfos().isEmpty()) { List airspaceList = new ArrayList<>(); for (AirlineAreaDTO area : dto.getGroupInfos()) { // 使用 AirlineAreaControllerConvert 进行转换 com.ruoyi.airline.api.domain.AirlineAreaVO vo = AirlineAreaControllerConvert.from(area); airspaceList.add(vo); } result.setAirspaceList(airspaceList); } return result; } @Override protected AirlineAreaGroupDTO innerTo(AirlineAreaGroupDetailVO vo) { if (vo == null) { return null; } AirlineAreaGroupDTO dto = new AirlineAreaGroupDTO(); dto.setGroupId(vo.getGroupId()); // 这里不需要转换 airspaceList 到 groupInfos,因为通常是从服务层到控制层的转换 return dto; } }