a-tuoheng-airline/src/main/java/com/ruoyi/airline/controller/convert/AirlineAreaGroupDetailContr...

82 lines
2.7 KiB
Java
Raw Normal View History

2026-02-25 15:16:28 +08:00
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<AirlineAreaGroupDTO, AirlineAreaGroupDetailVO>
{
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<AirlineAreaGroupDetailVO> fromList(List<AirlineAreaGroupDTO> dtoList)
{
return INSTANCE.innerFromList(dtoList);
}
public static List<AirlineAreaGroupDTO> toList(List<AirlineAreaGroupDetailVO> 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<com.ruoyi.airline.api.domain.AirlineAreaVO> 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;
}
}