82 lines
2.7 KiB
Java
82 lines
2.7 KiB
Java
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;
|
||
}
|
||
|
||
}
|