fix:优化convert

This commit is contained in:
高大 2026-01-28 20:15:05 +08:00
parent 272aaa637e
commit 5e34d029b6
39 changed files with 572 additions and 1167 deletions

View File

@ -47,7 +47,7 @@ public class AirlineFileController extends BaseController {
@PutMapping("/edit")
@Operation(summary = "编辑航线文件描述信息")
public AjaxResult edit(@RequestBody AirlineFileVO entity) {
AirlineFileDTO dto = AirlineFileControllerConvert.toDTO(entity);
AirlineFileDTO dto = AirlineFileControllerConvert.to(entity);
return success(airlineFileService.save(dto));
}
@ -64,7 +64,7 @@ public class AirlineFileController extends BaseController {
@PostMapping("/createOrUpdate")
@Operation(summary = "编辑航线文件内容,生产航点新文件")
public AjaxResult createOrUpdate(@RequestBody AirlineFileVO vo) {
AirlineFileDTO airlineFile = AirlineFileControllerConvert.toDTO(vo);
AirlineFileDTO airlineFile = AirlineFileControllerConvert.to(vo);
try {
return success(airlineFileService.createOrupdate(airlineFile));
} catch (IOException e) {

View File

@ -45,7 +45,7 @@ public class AirlineFileGroupController extends BaseController {
public TableDataInfo index(AirlineFileGroupVO airlineFileVO) {
startPage();
airlineFileVO.setUserId(SecurityUtils.getUserId());
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(airlineFileVO);
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(airlineFileVO);
List<AirlineFileGroupDTO> list = iAirlineFileGroupService.selectGroupList(dto);
List<AirlineFileGroupVO> result = AirlineFileGroupControllerConvert.toApiDomainList(list);
return getDataTable(result);
@ -70,7 +70,7 @@ public class AirlineFileGroupController extends BaseController {
@Operation(summary = "新增分组")
public AjaxResult add(@Validated @RequestBody AirlineFileGroupVO group) {
group.setUserId(SecurityUtils.getUserId());
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group);
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(group);
if (iAirlineFileGroupService.checkGroupNameUnique(dto)) {
return error("新增分组'" + group.getGroupName() + "'失败,分组名称已存在");
}
@ -86,7 +86,7 @@ public class AirlineFileGroupController extends BaseController {
@Operation(summary = "修改分组")
public AjaxResult edit(@Validated @RequestBody AirlineFileGroupVO group) {
group.setUserId(SecurityUtils.getUserId());
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group);
AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(group);
if (iAirlineFileGroupService.checkGroupNameUnique(dto)) {
return error("修改分组'" + group.getGroupName() + "'失败,分组名称已存在");
}

View File

@ -78,8 +78,8 @@ public class AirlineFileGroupInfoController extends BaseController {
*/
@PostMapping("/parseAndUpload/{groupId}")
@Operation(summary = " kmz航线文件并转换成waypoint上传 ,仅仅返航URL")
public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId")Long groupId) throws BaseException {
AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file);
public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId") Long groupId) throws BaseException {
AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file, groupId);
AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO();
infoDTO.setGroupId(groupId);
infoDTO.setAirlineFileDTO(dto);
@ -98,7 +98,7 @@ public class AirlineFileGroupInfoController extends BaseController {
if (vo.getGroupId() == null) {
throw new BaseException("分组ID不能为空");
}
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo);
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo);
Long result = iAirlineFileGroupInfoService.save(dto);
if (result > 0) {
return success(result);
@ -119,13 +119,35 @@ public class AirlineFileGroupInfoController extends BaseController {
if (vo.getGroupId() == null) {
throw new BaseException("分组ID不能为空");
}
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo);
Long result = iAirlineFileGroupInfoService.deleteGroupInf(dto);
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo);
Long result = iAirlineFileGroupInfoService.deleteGroupInfo(dto);
if (result > 0) {
return success(result);
}
throw new BaseException("删除失败");
}
/***
* 移动分组详情到新分组
* @param vo
* @param groupId
* @return
* @throws BaseException
*/
@PostMapping("/move/{groupId}")
@Operation(summary = "移动分组详情到新分组")
public AjaxResult move(@RequestBody AirlineFileGroupInfoVO vo, @PathVariable("groupId") Long groupId) throws BaseException {
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo);
Long result = iAirlineFileGroupInfoService.moveGroupInfo(
dto, groupId
);
if (result > 0) {
return success(result);
}
throw new BaseException("移动失败");
}
}

View File

@ -1,11 +1,11 @@
package com.ruoyi.airline.controller.convert;
import java.util.List;
import java.util.stream.Collectors;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.api.domain.AirLinePointVO;
import com.ruoyi.airline.service.dto.AirLinePointDTO;
import java.util.List;
/**
* 航线航点Controller转换类
* 用于Controller层VO和Service层DTO之间的转换
@ -13,89 +13,32 @@ import com.ruoyi.airline.service.dto.AirLinePointDTO;
* @author ruoyi
* @date 2026-01-26
*/
public class AirLinePointControllerConvert {
public class AirLinePointControllerConvert extends BaseConvert<AirLinePointDTO, AirLinePointVO>
{
/**
* 将Service DTO转换为Controller VO
*
* @param dto Service DTO
* @return Controller VO
*/
public static AirLinePointVO toVO(AirLinePointDTO dto) {
if (dto == null) {
return null;
}
AirLinePointVO vo = new AirLinePointVO();
vo.setId(dto.getId());
vo.setCommand(dto.getCommand());
vo.setLat(dto.getLat());
vo.setLon(dto.getLon());
vo.setAlt(dto.getAlt());
vo.setLoiterTime(dto.getLoiterTime());
vo.setCameraPitch(dto.getCameraPitch());
vo.setCameraRoll(dto.getCameraRoll());
vo.setCameraYaw(dto.getCameraYaw());
vo.setSessionControl(dto.getSessionControl());
vo.setShootCommand(dto.getShootCommand());
vo.setZoomAbsolute(dto.getZoomAbsolute());
vo.setRotateDirection(dto.getRotateDirection());
return vo;
private static final AirLinePointControllerConvert INSTANCE = new AirLinePointControllerConvert();
private AirLinePointControllerConvert() {
super(AirLinePointDTO.class, AirLinePointVO.class);
}
/**
* 将Controller VO转换为Service DTO
*
* @param vo Controller VO
* @return Service DTO
*/
public static AirLinePointDTO toDTO(AirLinePointVO vo) {
if (vo == null) {
return null;
}
AirLinePointDTO dto = new AirLinePointDTO();
dto.setId(vo.getId());
dto.setCommand(vo.getCommand());
dto.setLat(vo.getLat());
dto.setLon(vo.getLon());
dto.setAlt(vo.getAlt());
dto.setLoiterTime(vo.getLoiterTime());
dto.setCameraPitch(vo.getCameraPitch());
dto.setCameraRoll(vo.getCameraRoll());
dto.setCameraYaw(vo.getCameraYaw());
dto.setSessionControl(vo.getSessionControl());
dto.setShootCommand(vo.getShootCommand());
dto.setZoomAbsolute(vo.getZoomAbsolute());
dto.setRotateDirection(vo.getRotateDirection());
return dto;
public static AirLinePointVO from(AirLinePointDTO dto)
{
return INSTANCE.innerFrom(dto);
}
/**
* 将Service DTO列表转换为Controller VO列表
*
* @param dtoList Service DTO列表
* @return Controller VO列表
*/
public static List<AirLinePointVO> toVOList(List<AirLinePointDTO> dtoList) {
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirLinePointControllerConvert::toVO)
.collect(Collectors.toList());
public static AirLinePointDTO to(AirLinePointVO vo)
{
return INSTANCE.innerTo(vo);
}
/**
* 将Controller VO列表转换为Service DTO列表
*
* @param voList Controller VO列表
* @return Service DTO列表
*/
public static List<AirLinePointDTO> toDTOList(List<AirLinePointVO> voList) {
if (voList == null || voList.isEmpty()) {
return null;
}
return voList.stream()
.map(AirLinePointControllerConvert::toDTO)
.collect(Collectors.toList());
public static List<AirLinePointVO> fromList(List<AirLinePointDTO> dtoList)
{
return INSTANCE.innerFromList(dtoList);
}
public static List<AirLinePointDTO> toList(List<AirLinePointVO> voList)
{
return INSTANCE.innerToList(voList);
}
}

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.controller.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.api.domain.AirlineDataVO;
import com.ruoyi.airline.service.dto.AirlineDataDTO;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线数据Controller转换类
@ -13,83 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineDataControllerConvert
public class AirlineDataControllerConvert extends BaseConvert<AirlineDataDTO, AirlineDataVO>
{
/**
* 将Service DTO转换为Controller VO
*
* @param dto Service DTO
* @return Controller VO
*/
public static AirlineDataVO toVO(AirlineDataDTO dto)
{
if (dto == null) {
return null;
}
AirlineDataVO vo = new AirlineDataVO();
vo.setId(dto.getId());
vo.setFlightNumber(dto.getFlightNumber());
vo.setDepartureCity(dto.getDepartureCity());
vo.setArrivalCity(dto.getArrivalCity());
vo.setAirspeed(dto.getAirspeed());
vo.setVelocity(dto.getVelocity());
vo.setVspeed(dto.getVspeed());
vo.setHspeed(dto.getHspeed());
return vo;
private static final AirlineDataControllerConvert INSTANCE = new AirlineDataControllerConvert();
private AirlineDataControllerConvert() {
super(AirlineDataDTO.class, AirlineDataVO.class);
}
/**
* 将Controller VO转换为Service DTO
*
* @param vo Controller VO
* @return Service DTO
*/
public static AirlineDataDTO toDTO(AirlineDataVO vo)
public static AirlineDataVO from(AirlineDataDTO dto)
{
if (vo == null) {
return null;
}
AirlineDataDTO dto = new AirlineDataDTO();
dto.setId(vo.getId());
dto.setFlightNumber(vo.getFlightNumber());
dto.setDepartureCity(vo.getDepartureCity());
dto.setArrivalCity(vo.getArrivalCity());
dto.setAirspeed(vo.getAirspeed());
dto.setVelocity(vo.getVelocity());
dto.setVspeed(vo.getVspeed());
dto.setHspeed(vo.getHspeed());
return dto;
return INSTANCE.innerFrom(dto);
}
/**
* 将Service DTO列表转换为Controller VO列表
*
* @param dtoList Service DTO列表
* @return Controller VO列表
*/
public static List<AirlineDataVO> toVOList(List<AirlineDataDTO> dtoList)
public static AirlineDataDTO to(AirlineDataVO vo)
{
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirlineDataControllerConvert::toVO)
.collect(Collectors.toList());
return INSTANCE.innerTo(vo);
}
/**
* 将Controller VO列表转换为Service DTO列表
*
* @param voList Controller VO列表
* @return Service DTO列表
*/
public static List<AirlineDataDTO> toDTOList(List<AirlineDataVO> voList)
public static List<AirlineDataVO> fromList(List<AirlineDataDTO> dtoList)
{
if (voList == null || voList.isEmpty()) {
return null;
}
return voList.stream()
.map(AirlineDataControllerConvert::toDTO)
.collect(Collectors.toList());
return INSTANCE.innerFromList(dtoList);
}
public static List<AirlineDataDTO> toList(List<AirlineDataVO> voList)
{
return INSTANCE.innerToList(voList);
}
}

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.controller.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.api.domain.AirlineFileVO;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件Controller转换类
@ -13,80 +13,33 @@ import java.util.stream.Collectors;
* @author 拓恒
* @date 2026-01-17
*/
public class AirlineFileControllerConvert {
public class AirlineFileControllerConvert extends BaseConvert<AirlineFileDTO, AirlineFileVO>
{
/**
* 将Service DTO转换为Controller VO
*
* @param dto Service DTO
* @return Controller VO
*/
public static AirlineFileVO toVO(AirlineFileDTO dto) {
if (dto == null) {
return null;
}
AirlineFileVO vo = new AirlineFileVO();
vo.setName(dto.getName());
vo.setId(dto.getId());
vo.setFileName(dto.getFileName());
vo.setFileUrl(dto.getFileUrl());
vo.setType(dto.getType());
vo.setLinePointVOList(AirLinePointControllerConvert.toVOList(dto.getLinePointDtoList()));
vo.setStatus(dto.getStatus());
vo.setDjiRthAltitude(dto.getDjiRthAltitude());
return vo;
private static final AirlineFileControllerConvert INSTANCE = new AirlineFileControllerConvert();
private AirlineFileControllerConvert() {
super(AirlineFileDTO.class, AirlineFileVO.class);
}
/**
* 将Controller VO转换为Service DTO
*
* @param vo Controller VO
* @return Service DTO
*/
public static AirlineFileDTO toDTO(AirlineFileVO vo) {
if (vo == null) {
return null;
}
AirlineFileDTO dto = new AirlineFileDTO();
dto.setId(vo.getId());
dto.setName(vo.getName());
dto.setFileName(vo.getFileName());
dto.setFileUrl(vo.getFileUrl());
dto.setType(vo.getType());
dto.setLinePointDtoList(AirLinePointControllerConvert.toDTOList(vo.getLinePointVOList()));
dto.setStatus(vo.getStatus());
dto.setDjiRthAltitude(vo.getDjiRthAltitude());
return dto;
public static AirlineFileVO from(AirlineFileDTO dto)
{
return INSTANCE.innerFrom(dto);
}
/**
* 将Service DTO列表转换为Controller VO列表
*
* @param dtoList Service DTO列表
* @return Controller VO列表
*/
public static List<AirlineFileVO> toVOList(List<AirlineFileDTO> dtoList) {
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirlineFileControllerConvert::toVO)
.collect(Collectors.toList());
public static AirlineFileDTO to(AirlineFileVO vo)
{
return INSTANCE.innerTo(vo);
}
/**
* 将Controller VO列表转换为Service DTO列表
*
* @param voList Controller VO列表
* @return Service DTO列表
*/
public static List<AirlineFileDTO> toDTOList(List<AirlineFileVO> voList) {
if (voList == null || voList.isEmpty()) {
return null;
}
return voList.stream()
.map(AirlineFileControllerConvert::toDTO)
.collect(Collectors.toList());
public static List<AirlineFileVO> fromList(List<AirlineFileDTO> dtoList)
{
return INSTANCE.innerFromList(dtoList);
}
public static List<AirlineFileDTO> toList(List<AirlineFileVO> voList)
{
return INSTANCE.innerToList(voList);
}
public static List<AirlineFileVO> toApiDomainList(List<AirlineFileDTO> dtoList) {
@ -94,6 +47,6 @@ public class AirlineFileControllerConvert {
{
return null;
}
return dtoList.stream().map(AirlineFileControllerConvert::toVO).collect(Collectors.toList());
return fromList(dtoList);
}
}

View File

@ -1,12 +1,10 @@
package com.ruoyi.airline.controller.convert;
import com.ruoyi.airline.api.domain.AirlineFileGroupVO;
import com.ruoyi.airline.api.domain.AirlineFileVO;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import com.ruoyi.common.core.utils.BaseConvert;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件分组Domain转换类
@ -15,89 +13,39 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileGroupControllerConvert {
public class AirlineFileGroupControllerConvert extends BaseConvert<AirlineFileGroupDTO, AirlineFileGroupVO> {
/**
* 将Service DTO转换为Controller VO
*
* @param dto Service DTO
* @return Controller VO
*/
public static AirlineFileGroupVO toVO(AirlineFileGroupDTO dto) {
if (dto == null) {
return null;
}
AirlineFileGroupVO vo = new AirlineFileGroupVO();
vo.setGroupId(dto.getGroupId());
vo.setGroupName(dto.getGroupName());
vo.setUserId(dto.getUserId());
vo.setCreateBy(dto.getCreateBy());
vo.setCreateTime(dto.getCreateTime());
vo.setUpdateBy(dto.getUpdateBy());
vo.setUpdateTime(dto.getUpdateTime());
vo.setRemark(dto.getRemark());
private static final AirlineFileGroupControllerConvert INSTANCE = new AirlineFileGroupControllerConvert();
private AirlineFileGroupControllerConvert() {
super(AirlineFileGroupDTO.class, AirlineFileGroupVO.class);
}
public static AirlineFileGroupVO from(AirlineFileGroupDTO dto) {
AirlineFileGroupVO vo = INSTANCE.innerFrom(dto);
vo.setGroupInfos(AirlineFileControllerConvert.fromList(dto.getGroupInfos()));
return vo;
}
/**
* 将Controller VO转换为Service DTO
*
* @param vo Controller VO
* @return Service DTO
*/
public static AirlineFileGroupDTO toDTO(AirlineFileGroupVO vo) {
if (vo == null) {
return null;
}
AirlineFileGroupDTO dto = new AirlineFileGroupDTO();
dto.setGroupId(vo.getGroupId());
dto.setGroupName(vo.getGroupName());
dto.setUserId(vo.getUserId());
dto.setCreateBy(vo.getCreateBy());
dto.setCreateTime(vo.getCreateTime());
dto.setUpdateBy(vo.getUpdateBy());
dto.setUpdateTime(vo.getUpdateTime());
dto.setRemark(vo.getRemark());
public static AirlineFileGroupDTO to(AirlineFileGroupVO vo) {
AirlineFileGroupDTO dto = INSTANCE.innerTo(vo);
dto.setGroupInfos(AirlineFileControllerConvert.toList(vo.getGroupInfos()));
return dto;
}
/**
* 将Service DTO列表转换为Controller VO列表
*
* @param dtoList Service DTO列表
* @return Controller VO列表
*/
public static List<AirlineFileGroupVO> toVOList(List<AirlineFileGroupDTO> dtoList) {
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirlineFileGroupControllerConvert::toVO)
.collect(Collectors.toList());
public static List<AirlineFileGroupVO> fromList(List<AirlineFileGroupDTO> dtoList) {
return INSTANCE.innerFromList(dtoList);
}
/**
* 将Controller VO列表转换为Service DTO列表
*
* @param voList Controller VO列表
* @return Service DTO列表
*/
public static List<AirlineFileGroupDTO> toDTOList(List<AirlineFileGroupVO> voList) {
if (voList == null || voList.isEmpty()) {
return null;
}
return voList.stream()
.map(AirlineFileGroupControllerConvert::toDTO)
.collect(Collectors.toList());
public static List<AirlineFileGroupDTO> toList(List<AirlineFileGroupVO> voList) {
return INSTANCE.innerToList(voList);
}
public static List<AirlineFileGroupVO> toApiDomainList(List<AirlineFileGroupDTO> dtoList) {
if (dtoList == null)
{
public static List<AirlineFileGroupVO> toApiDomainList(List<AirlineFileGroupDTO> dtoList) {
if (dtoList == null) {
return null;
}
return dtoList.stream().map(AirlineFileGroupControllerConvert::toVO).collect(Collectors.toList());
return fromList(dtoList);
}
}

View File

@ -1,6 +1,7 @@
package com.ruoyi.airline.controller.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.api.domain.AirlineFileGroupInfoVO;
import com.ruoyi.airline.api.domain.AirlineFileGroupVO;
import com.ruoyi.airline.service.convert.AirlineFileServiceConvert;
@ -8,7 +9,6 @@ import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件Domain转换类
@ -17,91 +17,44 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileGroupInfoControllerConvert {
public class AirlineFileGroupInfoControllerConvert extends BaseConvert<AirlineFileGroupInfoDTO, AirlineFileGroupInfoVO>
{
/**
* 将Service DTO转换为Controller VO
*
* @param dto Service DTO
* @return Controller VO
*/
public static AirlineFileGroupInfoVO toVO(AirlineFileGroupInfoDTO dto) {
if (dto == null) {
return null;
}
AirlineFileGroupInfoVO vo = new AirlineFileGroupInfoVO();
vo.setId(dto.getId());
vo.setAirlineId(dto.getAirlineId());
vo.setGroupId(dto.getGroupId());
vo.setAirlineFileVO(AirlineFileControllerConvert.toVO(dto.getAirlineFileDTO()));
vo.setCreateBy(dto.getCreateBy());
vo.setCreateTime(dto.getCreateTime());
private static final AirlineFileGroupInfoControllerConvert INSTANCE = new AirlineFileGroupInfoControllerConvert();
vo.setUpdateBy(dto.getUpdateBy());
vo.setUpdateTime(dto.getUpdateTime());
vo.setRemark(dto.getRemark());
return vo;
private AirlineFileGroupInfoControllerConvert() {
super(AirlineFileGroupInfoDTO.class, AirlineFileGroupInfoVO.class);
}
/**
* 将Controller VO转换为Service DTO
*
* @param vo Controller VO
* @return Service DTO
*/
public static AirlineFileGroupInfoDTO toDTO(AirlineFileGroupInfoVO vo) {
if (vo == null) {
return null;
}
AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO();
dto.setId(vo.getId());
dto.setGroupId(vo.getGroupId());
dto.setAirlineId(vo.getAirlineId());
dto.setCreateBy(vo.getCreateBy());
dto.setCreateTime(vo.getCreateTime());
dto.setUpdateBy(vo.getUpdateBy());
dto.setUpdateTime(vo.getUpdateTime());
dto.setRemark(vo.getRemark());
dto.setAirlineFileDTO(AirlineFileControllerConvert.toDTO(vo.getAirlineFileVO()));
public static AirlineFileGroupInfoVO from(AirlineFileGroupInfoDTO dto)
{
AirlineFileGroupInfoVO vo = INSTANCE.innerFrom(dto);
vo.setAirlineFileVO(AirlineFileControllerConvert.from(dto.getAirlineFileDTO()));
return vo;
}
public static AirlineFileGroupInfoDTO to(AirlineFileGroupInfoVO vo)
{
AirlineFileGroupInfoDTO dto = INSTANCE.innerTo(vo);
dto.setAirlineFileDTO(AirlineFileControllerConvert.to(vo.getAirlineFileVO()));
return dto;
}
/**
* 将Service DTO列表转换为Controller VO列表
*
* @param dtoList Service DTO列表
* @return Controller VO列表
*/
public static List<AirlineFileGroupInfoVO> toVOList(List<AirlineFileGroupInfoDTO> dtoList) {
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirlineFileGroupInfoControllerConvert::toVO)
.collect(Collectors.toList());
public static List<AirlineFileGroupInfoVO> fromList(List<AirlineFileGroupInfoDTO> dtoList)
{
return INSTANCE.innerFromList(dtoList);
}
/**
* 将Controller VO列表转换为Service DTO列表
*
* @param voList Controller VO列表
* @return Service DTO列表
*/
public static List<AirlineFileGroupInfoDTO> toDTOList(List<AirlineFileGroupInfoVO> voList) {
if (voList == null || voList.isEmpty()) {
return null;
}
return voList.stream()
.map(AirlineFileGroupInfoControllerConvert::toDTO)
.collect(Collectors.toList());
public static List<AirlineFileGroupInfoDTO> toList(List<AirlineFileGroupInfoVO> voList)
{
return INSTANCE.innerToList(voList);
}
public static List<AirlineFileGroupInfoVO> toApiDomainList(List<AirlineFileGroupInfoDTO> dtoList) {
if (dtoList == null)
{
return null;
}
return dtoList.stream().map(AirlineFileGroupInfoControllerConvert::toVO).collect(Collectors.toList());
return fromList(dtoList);
}
}

View File

@ -1,11 +1,10 @@
package com.ruoyi.airline.controller.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.api.domain.AirlineTempVO;
import com.ruoyi.airline.service.dto.AirlineTempDTO;
import org.springframework.beans.BeanUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线临时表Controller层转换器
@ -14,45 +13,40 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineTempControllerConvert
public class AirlineTempControllerConvert extends BaseConvert<AirlineTempDTO, AirlineTempVO>
{
/**
* DTO API Domain
*/
public static AirlineTempVO toVO(AirlineTempDTO dto)
{
if (dto == null)
{
return null;
}
AirlineTempVO apiDomain = new AirlineTempVO();
BeanUtils.copyProperties(dto, apiDomain);
return apiDomain;
private static final AirlineTempControllerConvert INSTANCE = new AirlineTempControllerConvert();
private AirlineTempControllerConvert() {
super(AirlineTempDTO.class, AirlineTempVO.class);
}
/**
* API Domain DTO
*/
public static AirlineTempDTO toDTO(AirlineTempVO apiDomain)
public static AirlineTempVO from(AirlineTempDTO dto)
{
if (apiDomain == null)
{
return null;
}
AirlineTempDTO dto = new AirlineTempDTO();
BeanUtils.copyProperties(apiDomain, dto);
return dto;
return INSTANCE.innerFrom(dto);
}
public static AirlineTempDTO to(AirlineTempVO vo)
{
return INSTANCE.innerTo(vo);
}
public static List<AirlineTempVO> fromList(List<AirlineTempDTO> dtoList)
{
return INSTANCE.innerFromList(dtoList);
}
public static List<AirlineTempDTO> toList(List<AirlineTempVO> voList)
{
return INSTANCE.innerToList(voList);
}
/**
* DTO List API Domain List
*/
public static List<AirlineTempVO> toApiDomainList(List<AirlineTempDTO> dtoList)
{
if (dtoList == null)
{
return null;
}
return dtoList.stream().map(AirlineTempControllerConvert::toVO).collect(Collectors.toList());
return fromList(dtoList);
}
}

View File

@ -19,4 +19,8 @@ public interface IAirlineFileDomain {
Long save(AirlineFile model);
List<AirlineFile> selectFileNameLike(String name);
List<AirlineFile> selectFileNameLikeByGroupId(String name, Long groupId);
Long update(AirlineFile model);
}

View File

@ -31,4 +31,14 @@ public interface IAirlineFileGroupInfoDomain {
* @return 是否存在
*/
boolean existsByGroupIdAndAirlineId(Long groupId, Long airlineId);
/**
* 移动分组详情到新分组
*
* @param oldGroupId 原分组ID
* @param newGroupId 新分组ID
* @param airlineId 航线文件ID
* @return 结果
*/
Long moveGroupInfo(Long oldGroupId, Long newGroupId, Long airlineId);
}

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.domain.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineData;
import com.ruoyi.airline.mapper.entity.AirlineDataEntity;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线数据Domain转换类
@ -13,69 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineDataDomainConvert
public class AirlineDataDomainConvert extends BaseConvert<AirlineDataEntity, AirlineData>
{
/**
* 将Domain模型转换为Mapper实体
*
* @param model Domain模型
* @return Mapper实体
*/
public static AirlineDataEntity toEntity(AirlineData model)
{
if (model == null) {
return null;
}
AirlineDataEntity entity = new AirlineDataEntity();
private static final AirlineDataDomainConvert INSTANCE = new AirlineDataDomainConvert();
return entity;
private AirlineDataDomainConvert() {
super(AirlineDataEntity.class, AirlineData.class);
}
/**
* 将Mapper实体转换为Domain模型
*
* @param entity Mapper实体
* @return Domain模型
*/
public static AirlineData toModel(AirlineDataEntity entity)
public static AirlineData from(AirlineDataEntity entity)
{
if (entity == null) {
return null;
}
AirlineData model = new AirlineData();
return model;
return INSTANCE.innerFrom(entity);
}
/**
* 将Mapper实体列表转换为Domain模型列表
*
* @param entityList Mapper实体列表
* @return Domain模型列表
*/
public static List<AirlineData> toModelList(List<AirlineDataEntity> entityList)
public static AirlineDataEntity to(AirlineData model)
{
if (entityList == null || entityList.isEmpty()) {
return null;
}
return entityList.stream()
.map(AirlineDataDomainConvert::toModel)
.collect(Collectors.toList());
return INSTANCE.innerTo(model);
}
/**
* 将Domain模型列表转换为Mapper实体列表
*
* @param modelList Domain模型列表
* @return Mapper实体列表
*/
public static List<AirlineDataEntity> toEntityList(List<AirlineData> modelList)
public static List<AirlineData> fromList(List<AirlineDataEntity> entityList)
{
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineDataDomainConvert::toEntity)
.collect(Collectors.toList());
return INSTANCE.innerFromList(entityList);
}
public static List<AirlineDataEntity> toList(List<AirlineData> modelList)
{
return INSTANCE.innerToList(modelList);
}
}

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.domain.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.mapper.entity.AirlineFileEntity;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件Domain转换类
@ -13,87 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileDomainConvert {
public class AirlineFileDomainConvert extends BaseConvert<AirlineFileEntity, AirlineFile>
{
private static final AirlineFileDomainConvert INSTANCE = new AirlineFileDomainConvert();
/**
* 将Domain模型转换为Mapper实体
*
* @param model Domain模型
* @return Mapper实体
*/
public static AirlineFileEntity toEntity(AirlineFile model) {
if (model == null) {
return null;
}
AirlineFileEntity entity = new AirlineFileEntity();
entity.setId(model.getId());
entity.setName(model.getName());
entity.setFileName(model.getFileName());
entity.setFileUrl(model.getFileUrl());
entity.setType(model.getType());
entity.setSource(model.getSource());
entity.setStatus(model.getStatus());
entity.setFileMd5(model.getFileMd5());
entity.setCreateBy(model.getCreateBy());
entity.setUpdateBy(model.getUpdateBy());
entity.setRemark(model.getRemark());
return entity;
private AirlineFileDomainConvert() {
super(AirlineFileEntity.class, AirlineFile.class);
}
/**
* 将Mapper实体转换为Domain模型
*
* @param entity Mapper实体
* @return Domain模型
*/
public static AirlineFile toModel(AirlineFileEntity entity) {
if (entity == null) {
return null;
}
AirlineFile model = new AirlineFile();
model.setId(entity.getId());
model.setName(entity.getName());
model.setFileName(entity.getFileName());
model.setFileUrl(entity.getFileUrl());
model.setType(entity.getType());
model.setSource(entity.getSource());
model.setStatus(entity.getStatus());
model.setFileMd5(entity.getFileMd5());
model.setCreateBy(entity.getCreateBy());
model.setCreateTime(entity.getCreateTime() != null ? entity.getCreateTime().toString() : null);
model.setUpdateBy(entity.getUpdateBy());
model.setUpdateTime(entity.getUpdateTime() != null ? entity.getUpdateTime().toString() : null);
model.setRemark(entity.getRemark());
return model;
public static AirlineFile from(AirlineFileEntity entity)
{
return INSTANCE.innerFrom(entity);
}
/**
* 将Mapper实体列表转换为Domain模型列表
*
* @param entityList Mapper实体列表
* @return Domain模型列表
*/
public static List<AirlineFile> toModelList(List<AirlineFileEntity> entityList) {
if (entityList == null || entityList.isEmpty()) {
return null;
}
return entityList.stream()
.map(AirlineFileDomainConvert::toModel)
.collect(Collectors.toList());
public static AirlineFileEntity to(AirlineFile model)
{
return INSTANCE.innerTo(model);
}
/**
* 将Domain模型列表转换为Mapper实体列表
*
* @param modelList Domain模型列表
* @return Mapper实体列表
*/
public static List<AirlineFileEntity> toEntityList(List<AirlineFile> modelList) {
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineFileDomainConvert::toEntity)
.collect(Collectors.toList());
public static List<AirlineFile> fromList(List<AirlineFileEntity> entityList)
{
return INSTANCE.innerFromList(entityList);
}
public static List<AirlineFileEntity> toList(List<AirlineFile> modelList)
{
return INSTANCE.innerToList(modelList);
}
}

View File

@ -1,11 +1,11 @@
package com.ruoyi.airline.domain.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineFileGroup;
import com.ruoyi.airline.mapper.entity.AirlineFileGroupEntity;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件分组Domain转换类
@ -14,77 +14,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileGroupDomainConvert {
public class AirlineFileGroupDomainConvert extends BaseConvert<AirlineFileGroupEntity, AirlineFileGroup>
{
private static final AirlineFileGroupDomainConvert INSTANCE = new AirlineFileGroupDomainConvert();
/**
* 将Domain模型转换为Mapper实体
*
* @param model Domain模型
* @return Mapper实体
*/
public static AirlineFileGroupEntity toEntity(AirlineFileGroup model) {
if (model == null) {
return null;
}
AirlineFileGroupEntity entity = new AirlineFileGroupEntity();
entity.setGroupId(model.getGroupId());
entity.setGroupName(model.getGroupName());
entity.setUserId(model.getUserId());
entity.setCreateBy(model.getCreateBy());
entity.setUpdateBy(model.getUpdateBy());
entity.setRemark(model.getRemark());
return entity;
private AirlineFileGroupDomainConvert() {
super(AirlineFileGroupEntity.class, AirlineFileGroup.class);
}
/**
* 将Mapper实体转换为Domain模型
*
* @param entity Mapper实体
* @return Domain模型
*/
public static AirlineFileGroup toModel(AirlineFileGroupEntity entity) {
if (entity == null) {
return null;
}
AirlineFileGroup model = new AirlineFileGroup();
model.setGroupId(entity.getGroupId());
model.setGroupName(entity.getGroupName());
model.setUserId(entity.getUserId());
model.setCreateBy(entity.getCreateBy());
model.setCreateTime(entity.getCreateTime() != null ? entity.getCreateTime(): null);
model.setUpdateBy(entity.getUpdateBy());
model.setUpdateTime(entity.getUpdateTime() != null ? entity.getUpdateTime(): null);
model.setRemark(entity.getRemark());
return model;
public static AirlineFileGroup from(AirlineFileGroupEntity entity)
{
return INSTANCE.innerFrom(entity);
}
/**
* 将Mapper实体列表转换为Domain模型列表
*
* @param entityList Mapper实体列表
* @return Domain模型列表
*/
public static List<AirlineFileGroup> toModelList(List<AirlineFileGroupEntity> entityList) {
if (entityList == null || entityList.isEmpty()) {
return null;
}
return entityList.stream()
.map(AirlineFileGroupDomainConvert::toModel)
.collect(Collectors.toList());
public static AirlineFileGroupEntity to(AirlineFileGroup model)
{
return INSTANCE.innerTo(model);
}
/**
* 将Domain模型列表转换为Mapper实体列表
*
* @param modelList Domain模型列表
* @return Mapper实体列表
*/
public static List<AirlineFileGroupEntity> toEntityList(List<AirlineFileGroup> modelList) {
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineFileGroupDomainConvert::toEntity)
.collect(Collectors.toList());
public static List<AirlineFileGroup> fromList(List<AirlineFileGroupEntity> entityList)
{
return INSTANCE.innerFromList(entityList);
}
public static List<AirlineFileGroupEntity> toList(List<AirlineFileGroup> modelList)
{
return INSTANCE.innerToList(modelList);
}
}

View File

@ -1,11 +1,11 @@
package com.ruoyi.airline.domain.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineFileGroupInfo;
import com.ruoyi.airline.mapper.entity.AirlineFileGroupInfoEntity;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件Domain转换类
@ -14,69 +14,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileGroupInfoDomainConvert {
public class AirlineFileGroupInfoDomainConvert extends BaseConvert<AirlineFileGroupInfoEntity, AirlineFileGroupInfo>
{
private static final AirlineFileGroupInfoDomainConvert INSTANCE = new AirlineFileGroupInfoDomainConvert();
/**
* 将Domain模型转换为Mapper实体
*
* @param model Domain模型
* @return Mapper实体
*/
public static AirlineFileGroupInfoEntity toEntity(AirlineFileGroupInfo model) {
if (model == null) {
return null;
}
AirlineFileGroupInfoEntity entity = new AirlineFileGroupInfoEntity();
entity.setId(model.getId());
entity.setGroupId(model.getGroupId());
entity.setAirlineId(model.getAirlineId());
return entity;
private AirlineFileGroupInfoDomainConvert() {
super(AirlineFileGroupInfoEntity.class, AirlineFileGroupInfo.class);
}
/**
* 将Mapper实体转换为Domain模型
*
* @param entity Mapper实体
* @return Domain模型
*/
public static AirlineFileGroupInfo toModel(AirlineFileGroupInfoEntity entity) {
if (entity == null) {
return null;
}
AirlineFileGroupInfo model = new AirlineFileGroupInfo();
model.setId(entity.getId());
model.setGroupId(entity.getGroupId());
model.setAirlineId(entity.getAirlineId());
return model;
public static AirlineFileGroupInfo from(AirlineFileGroupInfoEntity entity)
{
return INSTANCE.innerFrom(entity);
}
/**
* 将Mapper实体列表转换为Domain模型列表
*
* @param entityList Mapper实体列表
* @return Domain模型列表
*/
public static List<AirlineFileGroupInfo> toModelList(List<AirlineFileGroupInfoEntity> entityList) {
if (entityList == null || entityList.isEmpty()) {
return null;
}
return entityList.stream()
.map(AirlineFileGroupInfoDomainConvert::toModel)
.collect(Collectors.toList());
public static AirlineFileGroupInfoEntity to(AirlineFileGroupInfo model)
{
return INSTANCE.innerTo(model);
}
/**
* 将Domain模型列表转换为Mapper实体列表
*
* @param modelList Domain模型列表
* @return Mapper实体列表
*/
public static List<AirlineFileGroupInfoEntity> toEntityList(List<AirlineFileGroupInfo> modelList) {
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineFileGroupInfoDomainConvert::toEntity)
.collect(Collectors.toList());
public static List<AirlineFileGroupInfo> fromList(List<AirlineFileGroupInfoEntity> entityList)
{
return INSTANCE.innerFromList(entityList);
}
public static List<AirlineFileGroupInfoEntity> toList(List<AirlineFileGroupInfo> modelList)
{
return INSTANCE.innerToList(modelList);
}
}

View File

@ -1,11 +1,10 @@
package com.ruoyi.airline.domain.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineTemp;
import com.ruoyi.airline.mapper.entity.AirlineTempEntity;
import org.springframework.beans.BeanUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线临时表Domain层转换器
@ -14,45 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineTempDomainConvert
public class AirlineTempDomainConvert extends BaseConvert<AirlineTempEntity, AirlineTemp>
{
/**
* Entity Model
*/
public static AirlineTemp toModel(AirlineTempEntity entity)
{
if (entity == null)
{
return null;
}
AirlineTemp model = new AirlineTemp();
BeanUtils.copyProperties(entity, model);
return model;
private static final AirlineTempDomainConvert INSTANCE = new AirlineTempDomainConvert();
private AirlineTempDomainConvert() {
super(AirlineTempEntity.class, AirlineTemp.class);
}
/**
* Model Entity
*/
public static AirlineTempEntity toEntity(AirlineTemp model)
public static AirlineTemp from(AirlineTempEntity entity)
{
if (model == null)
{
return null;
}
AirlineTempEntity entity = new AirlineTempEntity();
BeanUtils.copyProperties(model, entity);
return entity;
return INSTANCE.innerFrom(entity);
}
/**
* Entity List Model List
*/
public static List<AirlineTemp> toModelList(List<AirlineTempEntity> entityList)
public static AirlineTempEntity to(AirlineTemp model)
{
if (entityList == null)
{
return null;
}
return entityList.stream().map(AirlineTempDomainConvert::toModel).collect(Collectors.toList());
return INSTANCE.innerTo(model);
}
public static List<AirlineTemp> fromList(List<AirlineTempEntity> entityList)
{
return INSTANCE.innerFromList(entityList);
}
public static List<AirlineTempEntity> toList(List<AirlineTemp> modelList)
{
return INSTANCE.innerToList(modelList);
}
}

View File

@ -31,9 +31,9 @@ public class AirlineDataDomainImpl implements IAirlineDataDomain
@Override
public List<AirlineData> selectAirlineDataList(AirlineData airlineData)
{
AirlineDataEntity entity = AirlineDataDomainConvert.toEntity(airlineData);
AirlineDataEntity entity = AirlineDataDomainConvert.to(airlineData);
List<AirlineDataEntity> entityList = airlineDataMapper.selectAirlineDataList(entity);
return AirlineDataDomainConvert.toModelList(entityList);
return AirlineDataDomainConvert.fromList(entityList);
}
/**
@ -46,7 +46,7 @@ public class AirlineDataDomainImpl implements IAirlineDataDomain
public AirlineData selectAirlineDataById(Long id)
{
AirlineDataEntity entity = airlineDataMapper.selectAirlineDataById(id);
return AirlineDataDomainConvert.toModel(entity);
return AirlineDataDomainConvert.from(entity);
}

View File

@ -24,18 +24,31 @@ public class AirlineFileDomainImpl implements IAirlineFileDomain {
@Override
public List<AirlineFile> selectFileListByIds(List<Long> ids) {
return AirlineFileDomainConvert.toModelList(airlineFileMapper.selectFileListByIds(ids));
return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileListByIds(ids));
}
@Override
public Long save(AirlineFile model) {
AirlineFileEntity entity = AirlineFileDomainConvert.toEntity(model);
AirlineFileEntity entity = AirlineFileDomainConvert.to(model);
airlineFileMapper.save(entity);
return entity.getId();
}
@Override
public List<AirlineFile> selectFileNameLike(String name) {
return AirlineFileDomainConvert.toModelList(airlineFileMapper.selectFileNameLike(name));
return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileNameLike(name));
}
@Override
public List<AirlineFile> selectFileNameLikeByGroupId(String name, Long groupId) {
return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileNameLikeByGroupId(groupId, name));
}
@Override
public Long update(AirlineFile model) {
AirlineFileEntity entity = AirlineFileDomainConvert.to(model);
return airlineFileMapper.update(entity);
}
}

View File

@ -24,31 +24,31 @@ public class AirlineFileGroupDomainImpl implements IAirlineFileGroupDomain {
@Override
public int deletegroup(AirlineFileGroup model) {
model.setDelFlag(1L);
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.deletegroup(entity);
}
@Override
public boolean checkgroupNameUnique(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.checkgroupNameUnique(entity) > 0;
}
@Override
public int updateGroup(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.updateGroup(entity);
}
@Override
public int insertGroup(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.insertGroup(entity);
}
@Override
public List<AirlineFileGroup> selectGroupList(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model);
return AirlineFileGroupDomainConvert.toModelList(airlineFileGroupMapper.selectGroupList(entity));
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return AirlineFileGroupDomainConvert.fromList(airlineFileGroupMapper.selectGroupList(entity));
}
}

View File

@ -26,21 +26,21 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma
public List<AirlineFileGroupInfo> selectGroupInfoListById(Long groupId) {
AirlineFileGroupInfo dto = new AirlineFileGroupInfo();
dto.setGroupId(groupId);
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(dto);
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(dto);
List<AirlineFileGroupInfoEntity> entities = airlineFileGroupInfoMapper.selectGroupList(Entity);
return AirlineFileGroupInfoDomainConvert.toModelList(entities);
return AirlineFileGroupInfoDomainConvert.fromList(entities);
}
@Override
public Long deleteGroupInfo(AirlineFileGroupInfo model) {
model.setDelFlag(1L);
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model);
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model);
return airlineFileGroupInfoMapper.deleteGroupInfo(Entity);
}
@Override
public Long save(AirlineFileGroupInfo model) {
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model);
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model);
return airlineFileGroupInfoMapper.save(Entity);
}
@ -49,8 +49,13 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma
AirlineFileGroupInfo model = new AirlineFileGroupInfo();
model.setGroupId(groupId);
model.setAirlineId(airlineId);
AirlineFileGroupInfoEntity entity = AirlineFileGroupInfoDomainConvert.toEntity(model);
AirlineFileGroupInfoEntity entity = AirlineFileGroupInfoDomainConvert.to(model);
int count = airlineFileGroupInfoMapper.countByGroupIdAndAirlineId(entity);
return count > 0;
}
@Override
public Long moveGroupInfo(Long oldGroupId, Long newGroupId, Long airlineId) {
return airlineFileGroupInfoMapper.updateGroupId(oldGroupId, newGroupId, airlineId);
}
}

View File

@ -25,15 +25,15 @@ public class AirlineTempDomainImpl implements IAirlineTempDomain
@Override
public List<AirlineTemp> selectAirlineTempList(AirlineTemp airlineTempModel)
{
AirlineTempEntity entity = AirlineTempDomainConvert.toEntity(airlineTempModel);
AirlineTempEntity entity = AirlineTempDomainConvert.to(airlineTempModel);
List<AirlineTempEntity> entityList = airlineTempMapper.selectAirlineTempList(entity);
return AirlineTempDomainConvert.toModelList(entityList);
return AirlineTempDomainConvert.fromList(entityList);
}
@Override
public AirlineTemp selectAirlineTempById(String id)
{
AirlineTempEntity entity = airlineTempMapper.selectAirlineTempById(id);
return AirlineTempDomainConvert.toModel(entity);
return AirlineTempDomainConvert.from(entity);
}
}

View File

@ -26,4 +26,14 @@ public interface AirlineFileGroupInfoMapper {
* @return 存在的记录数
*/
int countByGroupIdAndAirlineId(AirlineFileGroupInfoEntity entity);
/**
* 更新分组ID将航线文件从一个分组移动到另一个分组
*
* @param oldGroupId 原分组ID
* @param newGroupId 新分组ID
* @param airlineId 航线文件ID
* @return 影响的行数
*/
Long updateGroupId(Long oldGroupId, Long newGroupId, Long airlineId);
}

View File

@ -18,4 +18,15 @@ public interface AirlineFileMapper {
List<AirlineFileEntity> selectFileListByIds(List<Long> ids);
List<AirlineFileEntity> selectFileNameLike(String name);
/**
* 根据分组ID和航线名称模糊查询航线文件
*
* @param groupId 分组ID
* @param name 航线名称
* @return 航线文件列表
*/
List<AirlineFileEntity> selectFileNameLikeByGroupId(Long groupId, String name);
Long update(AirlineFileEntity entity);
}

View File

@ -16,5 +16,14 @@ public interface IAirlineFileGroupInfoService {
Long save(AirlineFileGroupInfoDTO dto) throws BaseException;
Long deleteGroupInf(AirlineFileGroupInfoDTO dto) throws BaseException ;
Long deleteGroupInfo(AirlineFileGroupInfoDTO dto) throws BaseException;
/**
* * 移动分组详情到新分组
* @param dto
* @param groupId
* @return
* @throws BaseException
*/
Long moveGroupInfo(AirlineFileGroupInfoDTO dto, Long groupId) throws BaseException;
}

View File

@ -1,6 +1,5 @@
package com.ruoyi.airline.service.api;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import org.springframework.web.multipart.MultipartFile;
@ -17,9 +16,13 @@ public interface IAirlineFileService {
AirlineFileDTO save(AirlineFileDTO dto);
AirlineFileDTO parseAndUplload(MultipartFile file);
AirlineFileDTO parseAndUplload(MultipartFile file, Long groupId);
AirlineFileDTO createOrupdate(AirlineFileDTO airlineFile) throws IOException;
AirlineFile selectById(Long airlineId);
AirlineFileDTO selectById(Long airlineId);
String getNewFileNameLikeByGroupId(String name, Long groupId);
Long update(AirlineFileDTO airlineFile);
}

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.service.dto.AirLinePointDTO;
import com.ruoyi.airline.domain.model.AirLinePoint;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线航点Service转换类
@ -13,89 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-26
*/
public class AirLinePointServiceConvert {
public class AirLinePointServiceConvert extends BaseConvert<AirLinePoint, AirLinePointDTO>
{
private static final AirLinePointServiceConvert INSTANCE = new AirLinePointServiceConvert();
/**
* 将Service DTO转换为Domain模型
*
* @param dto Service DTO
* @return Domain模型
*/
public static AirLinePoint toModel(AirLinePointDTO dto) {
if (dto == null) {
return null;
}
AirLinePoint model = new AirLinePoint();
model.setId(dto.getId());
model.setCommand(dto.getCommand());
model.setLat(dto.getLat());
model.setLon(dto.getLon());
model.setAlt(dto.getAlt());
model.setLoiterTime(dto.getLoiterTime());
model.setCameraPitch(dto.getCameraPitch());
model.setCameraRoll(dto.getCameraRoll());
model.setCameraYaw(dto.getCameraYaw());
model.setSessionControl(dto.getSessionControl());
model.setShootCommand(dto.getShootCommand());
model.setZoomAbsolute(dto.getZoomAbsolute());
model.setRotateDirection(dto.getRotateDirection());
return model;
private AirLinePointServiceConvert() {
super(AirLinePoint.class, AirLinePointDTO.class);
}
/**
* 将Domain模型转换为Service DTO
*
* @param model Domain模型
* @return Service DTO
*/
public static AirLinePointDTO toDTO(AirLinePoint model) {
if (model == null) {
return null;
}
AirLinePointDTO dto = new AirLinePointDTO();
dto.setId(model.getId());
dto.setCommand(model.getCommand());
dto.setLat(model.getLat());
dto.setLon(model.getLon());
dto.setAlt(model.getAlt());
dto.setLoiterTime(model.getLoiterTime());
dto.setCameraPitch(model.getCameraPitch());
dto.setCameraRoll(model.getCameraRoll());
dto.setCameraYaw(model.getCameraYaw());
dto.setSessionControl(model.getSessionControl());
dto.setShootCommand(model.getShootCommand());
dto.setZoomAbsolute(model.getZoomAbsolute());
dto.setRotateDirection(model.getRotateDirection());
return dto;
public static AirLinePointDTO from(AirLinePoint model)
{
return INSTANCE.innerFrom(model);
}
/**
* 将Domain模型列表转换为Service DTO列表
*
* @param modelList Domain模型列表
* @return Service DTO列表
*/
public static List<AirLinePointDTO> toDTOList(List<AirLinePoint> modelList) {
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirLinePointServiceConvert::toDTO)
.collect(Collectors.toList());
public static AirLinePoint to(AirLinePointDTO dto)
{
return INSTANCE.innerTo(dto);
}
/**
* 将Service DTO列表转换为Domain模型列表
*
* @param dtoList Service DTO列表
* @return Domain模型列表
*/
public static List<AirLinePoint> toModelList(List<AirLinePointDTO> dtoList) {
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirLinePointServiceConvert::toModel)
.collect(Collectors.toList());
public static List<AirLinePointDTO> fromList(List<AirLinePoint> modelList)
{
return INSTANCE.innerFromList(modelList);
}
public static List<AirLinePoint> toList(List<AirLinePointDTO> dtoList)
{
return INSTANCE.innerToList(dtoList);
}
}

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.service.dto.AirlineDataDTO;
import com.ruoyi.airline.domain.model.AirlineData;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线数据Service转换类
@ -13,83 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineDataServiceConvert
public class AirlineDataServiceConvert extends BaseConvert<AirlineData, AirlineDataDTO>
{
/**
* 将Service DTO转换为Domain模型
*
* @param dto Service DTO
* @return Domain模型
*/
public static AirlineData toModel(AirlineDataDTO dto)
{
if (dto == null) {
return null;
}
AirlineData model = new AirlineData();
model.setId(dto.getId());
model.setFlightNumber(dto.getFlightNumber());
model.setDepartureCity(dto.getDepartureCity());
model.setArrivalCity(dto.getArrivalCity());
model.setAirspeed(dto.getAirspeed());
model.setVelocity(dto.getVelocity());
model.setVspeed(dto.getVspeed());
model.setHspeed(dto.getHspeed());
return model;
private static final AirlineDataServiceConvert INSTANCE = new AirlineDataServiceConvert();
private AirlineDataServiceConvert() {
super(AirlineData.class, AirlineDataDTO.class);
}
/**
* 将Domain模型转换为Service DTO
*
* @param model Domain模型
* @return Service DTO
*/
public static AirlineDataDTO toDTO(AirlineData model)
public static AirlineDataDTO from(AirlineData model)
{
if (model == null) {
return null;
}
AirlineDataDTO dto = new AirlineDataDTO();
dto.setId(model.getId());
dto.setFlightNumber(model.getFlightNumber());
dto.setDepartureCity(model.getDepartureCity());
dto.setArrivalCity(model.getArrivalCity());
dto.setAirspeed(model.getAirspeed());
dto.setVelocity(model.getVelocity());
dto.setVspeed(model.getVspeed());
dto.setHspeed(model.getHspeed());
return dto;
return INSTANCE.innerFrom(model);
}
/**
* 将Domain模型列表转换为Service DTO列表
*
* @param modelList Domain模型列表
* @return Service DTO列表
*/
public static List<AirlineDataDTO> toDTOList(List<AirlineData> modelList)
public static AirlineData to(AirlineDataDTO dto)
{
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineDataServiceConvert::toDTO)
.collect(Collectors.toList());
return INSTANCE.innerTo(dto);
}
/**
* 将Service DTO列表转换为Domain模型列表
*
* @param dtoList Service DTO列表
* @return Domain模型列表
*/
public static List<AirlineData> toModelList(List<AirlineDataDTO> dtoList)
public static List<AirlineDataDTO> fromList(List<AirlineData> modelList)
{
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirlineDataServiceConvert::toModel)
.collect(Collectors.toList());
return INSTANCE.innerFromList(modelList);
}
public static List<AirlineData> toList(List<AirlineDataDTO> dtoList)
{
return INSTANCE.innerToList(dtoList);
}
}

View File

@ -1,11 +1,11 @@
package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineFileGroupInfo;
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件Domain转换类
@ -14,71 +14,32 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileGroupInfoServiceConvert {
public class AirlineFileGroupInfoServiceConvert extends BaseConvert<AirlineFileGroupInfo, AirlineFileGroupInfoDTO>
{
/**
* 将Domain模型转换为Mapper实体
*
* @param model Domain模型
* @return Mapper实体
*/
public static AirlineFileGroupInfoDTO toDTO(AirlineFileGroupInfo model) {
if (model == null) {
return null;
}
AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO();
dto.setId(model.getId());
dto.setGroupId(model.getGroupId());
dto.setAirlineId(model.getAirlineId());
dto.setAirlineFileDTO(AirlineFileServiceConvert.toDTO(model.getAirlineFile()));
return dto;
private static final AirlineFileGroupInfoServiceConvert INSTANCE = new AirlineFileGroupInfoServiceConvert();
private AirlineFileGroupInfoServiceConvert() {
super(AirlineFileGroupInfo.class, AirlineFileGroupInfoDTO.class);
}
/**
* 将Mapper实体转换为Domain模型
*
* @param dto Mapper实体
* @return Domain模型
*/
public static AirlineFileGroupInfo toModel(AirlineFileGroupInfoDTO dto) {
if (dto == null) {
return null;
}
AirlineFileGroupInfo model = new AirlineFileGroupInfo();
model.setId(dto.getId());
model.setGroupId(dto.getGroupId());
model.setAirlineId(dto.getAirlineId());
model.setAirlineFile(AirlineFileServiceConvert.toModel(dto.getAirlineFileDTO()));
return model;
public static AirlineFileGroupInfoDTO from(AirlineFileGroupInfo model)
{
return INSTANCE.innerFrom(model);
}
/**
* 将Mapper实体列表转换为Domain模型列表
*
* @param entityList Mapper实体列表
* @return Domain模型列表
*/
public static List<AirlineFileGroupInfo> toModelList(List<AirlineFileGroupInfoDTO> entityList) {
if (entityList == null || entityList.isEmpty()) {
return null;
}
return entityList.stream()
.map(AirlineFileGroupInfoServiceConvert::toModel)
.collect(Collectors.toList());
public static AirlineFileGroupInfo to(AirlineFileGroupInfoDTO dto)
{
return INSTANCE.innerTo(dto);
}
/**
* 将Domain模型列表转换为Mapper实体列表
*
* @param modelList Domain模型列表
* @return Mapper实体列表
*/
public static List<AirlineFileGroupInfoDTO> toDtoList(List<AirlineFileGroupInfo> modelList) {
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineFileGroupInfoServiceConvert::toDTO)
.collect(Collectors.toList());
public static List<AirlineFileGroupInfoDTO> fromList(List<AirlineFileGroupInfo> modelList)
{
return INSTANCE.innerFromList(modelList);
}
public static List<AirlineFileGroupInfo> toList(List<AirlineFileGroupInfoDTO> dtoList)
{
return INSTANCE.innerToList(dtoList);
}
}

View File

@ -1,13 +1,13 @@
package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.domain.model.AirlineFileGroup;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件分组Domain转换类
@ -16,77 +16,32 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileGroupServiceConvert {
public class AirlineFileGroupServiceConvert extends BaseConvert<AirlineFileGroup, AirlineFileGroupDTO>
{
/**
* 将Domain模型转换为Mapper实体
*
* @param model Domain模型
* @return Mapper实体
*/
public static AirlineFileGroupDTO toDTO(AirlineFileGroup model) {
if (model == null) {
return null;
}
AirlineFileGroupDTO dto = new AirlineFileGroupDTO();
dto.setGroupId(model.getGroupId());
dto.setGroupName(model.getGroupName());
dto.setUserId(model.getUserId());
dto.setCreateBy(model.getCreateBy());
dto.setUpdateBy(model.getUpdateBy());
dto.setRemark(model.getRemark());
return dto;
private static final AirlineFileGroupServiceConvert INSTANCE = new AirlineFileGroupServiceConvert();
private AirlineFileGroupServiceConvert() {
super(AirlineFileGroup.class, AirlineFileGroupDTO.class);
}
/**
* 将Mapper实体转换为Domain模型
*
* @param dto Mapper实体
* @return Domain模型
*/
public static AirlineFileGroup toModel(AirlineFileGroupDTO dto) {
if (dto == null) {
return null;
}
AirlineFileGroup model = new AirlineFileGroup();
model.setGroupId(dto.getGroupId());
model.setGroupName(dto.getGroupName());
model.setUserId(dto.getUserId());
model.setCreateBy(dto.getCreateBy());
model.setCreateTime(dto.getCreateTime() != null ? dto.getCreateTime(): null);
model.setUpdateBy(dto.getUpdateBy());
model.setUpdateTime(dto.getUpdateTime() != null ? dto.getUpdateTime(): null);
model.setRemark(dto.getRemark());
return model;
public static AirlineFileGroupDTO from(AirlineFileGroup model)
{
return INSTANCE.innerFrom(model);
}
/**
* 将Domain模型列表转换为Service DTO列表
*
* @param modelList Domain模型列表
* @return Service DTO列表
*/
public static List<AirlineFileGroupDTO> toDTOList(List<AirlineFileGroup> modelList) {
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineFileGroupServiceConvert::toDTO)
.collect(Collectors.toList());
public static AirlineFileGroup to(AirlineFileGroupDTO dto)
{
return INSTANCE.innerTo(dto);
}
/**
* 将Service DTO列表转换为Domain模型列表
*
* @param dtoList Service DTO列表
* @return Domain模型列表
*/
public static List<AirlineFileGroup> toModelList(List<AirlineFileGroupDTO> dtoList) {
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirlineFileGroupServiceConvert::toModel)
.collect(Collectors.toList());
public static List<AirlineFileGroupDTO> fromList(List<AirlineFileGroup> modelList)
{
return INSTANCE.innerFromList(modelList);
}
public static List<AirlineFileGroup> toList(List<AirlineFileGroupDTO> dtoList)
{
return INSTANCE.innerToList(dtoList);
}
}

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线文件Service转换类
@ -13,105 +13,32 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineFileServiceConvert {
public class AirlineFileServiceConvert extends BaseConvert<AirlineFile, AirlineFileDTO>
{
/**
* 将Service DTO转换为Domain模型
*
* @param dto Service DTO
* @return Domain模型
*/
public static AirlineFile toModel(AirlineFileDTO dto) {
if (dto == null) {
return null;
}
AirlineFile model = new AirlineFile();
model.setId(dto.getId());
model.setName(dto.getName());
model.setFileName(dto.getFileName());
model.setFileUrl(dto.getFileUrl());
model.setType(dto.getType());
model.setNote(dto.getNote());
model.setDistance(dto.getDistance());
model.setLinePointDtoList(AirLinePointServiceConvert.toModelList(dto.getLinePointDtoList()));
model.setSource(dto.getSource());
model.setStatus(dto.getStatus());
model.setFileMd5(dto.getFileMd5());
model.setDjiFileUrl(dto.getDjiFileUrl());
model.setDjiRthAltitude(dto.getDjiRthAltitude());
model.setTurnRadius(dto.getTurnRadius());
model.setAutoTakePhoto(dto.getAutoTakePhoto());
model.setAutoTakePhotoInterval(dto.getAutoTakePhotoInterval());
model.setCreateBy(dto.getCreateBy());
model.setCreateTime(dto.getCreateTime());
model.setUpdateBy(dto.getUpdateBy());
model.setUpdateTime(dto.getUpdateTime());
model.setRemark(dto.getRemark());
return model;
private static final AirlineFileServiceConvert INSTANCE = new AirlineFileServiceConvert();
private AirlineFileServiceConvert() {
super(AirlineFile.class, AirlineFileDTO.class);
}
/**
* 将Domain模型转换为Service DTO
*
* @param model Domain模型
* @return Service DTO
*/
public static AirlineFileDTO toDTO(AirlineFile model) {
if (model == null) {
return null;
}
AirlineFileDTO dto = new AirlineFileDTO();
dto.setId(model.getId());
dto.setName(model.getName());
dto.setFileName(model.getFileName());
dto.setFileUrl(model.getFileUrl());
dto.setType(model.getType());
dto.setNote(model.getNote());
dto.setDistance(model.getDistance());
dto.setLinePointDtoList(AirLinePointServiceConvert.toDTOList(model.getLinePointDtoList()));
dto.setSource(model.getSource());
dto.setStatus(model.getStatus());
dto.setFileMd5(model.getFileMd5());
dto.setDjiFileUrl(model.getDjiFileUrl());
dto.setDjiRthAltitude(model.getDjiRthAltitude());
dto.setTurnRadius(model.getTurnRadius());
dto.setAutoTakePhoto(model.getAutoTakePhoto());
dto.setAutoTakePhotoInterval(model.getAutoTakePhotoInterval());
dto.setCreateBy(model.getCreateBy());
dto.setCreateTime(model.getCreateTime());
dto.setUpdateBy(model.getUpdateBy());
dto.setUpdateTime(model.getUpdateTime());
dto.setRemark(model.getRemark());
return dto;
public static AirlineFileDTO from(AirlineFile model)
{
return INSTANCE.innerFrom(model);
}
/**
* 将Domain模型列表转换为Service DTO列表
*
* @param modelList Domain模型列表
* @return Service DTO列表
*/
public static List<AirlineFileDTO> toDTOList(List<AirlineFile> modelList) {
if (modelList == null || modelList.isEmpty()) {
return null;
}
return modelList.stream()
.map(AirlineFileServiceConvert::toDTO)
.collect(Collectors.toList());
public static AirlineFile to(AirlineFileDTO dto)
{
return INSTANCE.innerTo(dto);
}
/**
* 将Service DTO列表转换为Domain模型列表
*
* @param dtoList Service DTO列表
* @return Domain模型列表
*/
public static List<AirlineFile> toModelList(List<AirlineFileDTO> dtoList) {
if (dtoList == null || dtoList.isEmpty()) {
return null;
}
return dtoList.stream()
.map(AirlineFileServiceConvert::toModel)
.collect(Collectors.toList());
public static List<AirlineFileDTO> fromList(List<AirlineFile> modelList)
{
return INSTANCE.innerFromList(modelList);
}
public static List<AirlineFile> toList(List<AirlineFileDTO> dtoList)
{
return INSTANCE.innerToList(dtoList);
}
}

View File

@ -1,11 +1,10 @@
package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineTemp;
import com.ruoyi.airline.service.dto.AirlineTempDTO;
import org.springframework.beans.BeanUtils;
import java.util.List;
import java.util.stream.Collectors;
/**
* 航线临时表Service层转换器
@ -14,45 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi
* @date 2026-01-17
*/
public class AirlineTempServiceConvert
public class AirlineTempServiceConvert extends BaseConvert<AirlineTemp, AirlineTempDTO>
{
/**
* Model DTO
*/
public static AirlineTempDTO toDTO(AirlineTemp model)
{
if (model == null)
{
return null;
}
AirlineTempDTO dto = new AirlineTempDTO();
BeanUtils.copyProperties(model, dto);
return dto;
private static final AirlineTempServiceConvert INSTANCE = new AirlineTempServiceConvert();
private AirlineTempServiceConvert() {
super(AirlineTemp.class, AirlineTempDTO.class);
}
/**
* DTO Model
*/
public static AirlineTemp toModel(AirlineTempDTO dto)
public static AirlineTempDTO from(AirlineTemp model)
{
if (dto == null)
{
return null;
}
AirlineTemp model = new AirlineTemp();
BeanUtils.copyProperties(dto, model);
return model;
return INSTANCE.innerFrom(model);
}
/**
* Model List DTO List
*/
public static List<AirlineTempDTO> toDTOList(List<AirlineTemp> modelList)
public static AirlineTemp to(AirlineTempDTO dto)
{
if (modelList == null)
{
return null;
}
return modelList.stream().map(AirlineTempServiceConvert::toDTO).collect(Collectors.toList());
return INSTANCE.innerTo(dto);
}
public static List<AirlineTempDTO> fromList(List<AirlineTemp> modelList)
{
return INSTANCE.innerFromList(modelList);
}
public static List<AirlineTemp> toList(List<AirlineTempDTO> dtoList)
{
return INSTANCE.innerToList(dtoList);
}
}

View File

@ -31,9 +31,9 @@ public class AirlineDataServiceImpl implements IAirlineDataService
@Override
public List<AirlineDataDTO> selectAirlineDataList(AirlineDataDTO airlineDataDTO)
{
AirlineData model = AirlineDataServiceConvert.toModel(airlineDataDTO);
AirlineData model = AirlineDataServiceConvert.to(airlineDataDTO);
List<AirlineData> modelList = airlineDataDomain.selectAirlineDataList(model);
return AirlineDataServiceConvert.toDTOList(modelList);
return AirlineDataServiceConvert.fromList(modelList);
}
/**
@ -46,7 +46,7 @@ public class AirlineDataServiceImpl implements IAirlineDataService
public AirlineDataDTO selectAirlineDataById(Long id)
{
AirlineData model = airlineDataDomain.selectAirlineDataById(id);
return AirlineDataServiceConvert.toDTO(model);
return AirlineDataServiceConvert.from(model);
}
}

View File

@ -46,7 +46,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
// 1删除航线信息
AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO();
dto.setGroupId(groupId);
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto);
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto);
iAirlineFileGroupInfoDomain.deleteGroupInfo(model);
// 2删除分组
@ -59,19 +59,19 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
@Override
public boolean checkGroupNameUnique(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.checkgroupNameUnique(model);
}
@Override
public int updateGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.updateGroup(model);
}
@Override
public int insertGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.insertGroup(model);
}
@ -85,8 +85,8 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
*/
@Override
public List<AirlineFileGroupDTO> selectGroupList(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group);
return AirlineFileGroupServiceConvert.toDTOList(iAirlineFileGroupDomain.selectGroupList(model));
AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return AirlineFileGroupServiceConvert.fromList(iAirlineFileGroupDomain.selectGroupList(model));
}
@ -105,7 +105,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
if (!CollectionUtils.isEmpty(airlineFileGroupInfoDTOS)) {
List<Long> ids = airlineFileGroupInfoDTOS.stream().map(AirlineFileGroupInfo::getAirlineId).toList();
List<AirlineFile> airlineFileDTOS = iAirlineFileDomain.selectFileListByIds(ids);
dto.setGroupInfos(AirlineFileServiceConvert.toDTOList(airlineFileDTOS));
dto.setGroupInfos(AirlineFileServiceConvert.fromList(airlineFileDTOS));
}
return dto;
}

View File

@ -1,5 +1,6 @@
package com.ruoyi.airline.service.impl;
import com.ruoyi.airline.domain.api.IAirlineFileDomain;
import com.ruoyi.airline.domain.api.IAirlineFileGroupInfoDomain;
import com.ruoyi.airline.domain.model.AirlineFileGroupInfo;
import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService;
@ -30,6 +31,9 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
@Autowired
private IAirlineFileService iAirlineFileService;
@Autowired
private IAirlineFileDomain iAirlineFileDomain;
@Autowired
private IAirlineFileGroupInfoDomain iAirlineFileGroupInfoDomain;
@ -37,12 +41,13 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
@Override
public List<AirlineFileGroupInfoDTO> selectGroupInfoListById(Long groupId) {
List<AirlineFileGroupInfo> models = iAirlineFileGroupInfoDomain.selectGroupInfoListById(groupId);
if (models != null) {
models.forEach(model -> {
model.setAirlineFile(iAirlineFileService.selectById(model.getAirlineId()));
List<AirlineFileGroupInfoDTO> result = AirlineFileGroupInfoServiceConvert.fromList(models);
if (result != null) {
result.forEach(dto -> {
dto.setAirlineFileDTO(iAirlineFileService.selectById(dto.getAirlineId()));
});
}
return AirlineFileGroupInfoServiceConvert.toDtoList(models);
return result;
}
@Override
@ -53,7 +58,7 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
dto.setAirlineId(result.getId());
// 保存分组信息
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto);
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto);
// 检查唯一性同一个分组下不能有相同的航线
@ -62,17 +67,35 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
}
@Override
public Long deleteGroupInf(AirlineFileGroupInfoDTO dto) throws BaseException {
public Long deleteGroupInfo(AirlineFileGroupInfoDTO dto) throws BaseException {
// 检查参数
if (dto.getGroupId() == null || dto.getAirlineId() == null) {
throw new BaseException("分组ID和航线ID不能为空");
}
// 转换为模型
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto);
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto);
// 调用domain层删除方法
return iAirlineFileGroupInfoDomain.deleteGroupInfo(model);
}
@Override
public Long moveGroupInfo(AirlineFileGroupInfoDTO dto, Long groupId) throws BaseException {
// 检查参数
if (dto.getGroupId() == null || dto.getAirlineId() == null || groupId == null) {
throw new BaseException("原分组ID、新分组ID和航线文件ID不能为空");
}
AirlineFileDTO airlineFile = iAirlineFileService.selectById(dto.getAirlineId());
String name = airlineFile.getName();
if (airlineFile != null) {
name = iAirlineFileService.getNewFileNameLikeByGroupId(name, groupId);
}
airlineFile.setName(name);
iAirlineFileService.update(airlineFile);
// 调用domain层移动方法
return iAirlineFileGroupInfoDomain.moveGroupInfo(dto.getGroupId(), groupId, dto.getAirlineId());
}
}

View File

@ -48,7 +48,7 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
@Override
public AirlineFileDTO save(AirlineFileDTO dto) {
AirlineFile model = AirlineFileServiceConvert.toModel(dto);
AirlineFile model = AirlineFileServiceConvert.to(dto);
Long id = iAirlineFileDomain.save(model);
dto.setId(id);
return dto;
@ -60,17 +60,20 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
* 并且限制航线修改因为暂时没做到 从waypoingt KMZ
*
* @param file
* @param groupId
* @return
*/
@Override
public AirlineFileDTO parseAndUplload(MultipartFile file) {
public AirlineFileDTO parseAndUplload(MultipartFile file, Long groupId) {
String originalFilename = file.getOriginalFilename();
String fileExtension = "";
if (originalFilename != null && originalFilename.lastIndexOf('.') > 0) {
fileExtension = originalFilename.substring(originalFilename.lastIndexOf('.') + 1).toLowerCase();
}
int pos = originalFilename.lastIndexOf(".");
String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename;
String newFileName = getNewFileNameLikeByGroupId(fileNameWithoutExtension, groupId);
try {
if ("zip".equals(fileExtension) || "kmz".equals(fileExtension)) {
// 处理ZIP/KMZ文件
@ -91,14 +94,8 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight();
AirlineFileDTO dto = new AirlineFileDTO();
// 去除文件名中的后缀名
int pos = originalFilename.lastIndexOf(".");
String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename;
List<AirlineFile> airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension);
String newFileName = originalFilename;
if (airlineFiles != null && airlineFiles.size() > 0) {
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
}
dto.setName(newFileName);
dto.setFileName(originalFilename);
R<String> fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo));
@ -111,15 +108,8 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
// 直接处理Waypoints文件
AirlineFileDTO dto = new AirlineFileDTO();
// 去除文件名中的后缀名
int pos = originalFilename.lastIndexOf(".");
String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename;
List<AirlineFile> airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension);
String newFileName = originalFilename;
if (airlineFiles != null && airlineFiles.size() > 0) {
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames);
}
dto.setName(newFileName);
dto.setFileName(originalFilename);
// 直接读取文件内容并上传
@ -164,22 +154,43 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
airlineFile.setFileUrl(fileUrl.getData());
airlineFile.setSource("airport");
airlineFile.setStatus(airlineFile.getStatus() == null ? 1 : airlineFile.getStatus());
AirlineFile model = AirlineFileServiceConvert.toModel(airlineFile);
AirlineFile model = AirlineFileServiceConvert.to(airlineFile);
Long id = iAirlineFileDomain.save(model);
model.setId(id);
return AirlineFileServiceConvert.toDTO(model);
return AirlineFileServiceConvert.from(model);
}
return null;
}
@Override
public AirlineFile selectById(Long airlineId) {
public AirlineFileDTO selectById(Long airlineId) {
if (airlineId == null) {
return null;
}
List<Long> ids = List.of(airlineId);
List<AirlineFile> airlineFiles = iAirlineFileDomain.selectFileListByIds(ids);
return airlineFiles != null && !airlineFiles.isEmpty() ? airlineFiles.get(0) : null;
List<AirlineFileDTO> airlineFilesDTO = AirlineFileServiceConvert.fromList(airlineFiles);
return airlineFilesDTO != null && !airlineFilesDTO.isEmpty() ? airlineFilesDTO.get(0) : null;
}
@Override
public String getNewFileNameLikeByGroupId(String name, Long groupId) {
List<AirlineFile> airlineFiles = iAirlineFileDomain.selectFileNameLikeByGroupId(name, groupId);
String newFileName = name;
if (airlineFiles != null && airlineFiles.size() > 0) {
List<String> fileNames = airlineFiles.stream().map(AirlineFile::getName).toList();
newFileName = FileUtils.generateUniqueFileName(name, fileNames);
}
return newFileName;
}
@Override
public Long update(AirlineFileDTO dto) {
AirlineFile model = AirlineFileServiceConvert.to(dto);
return iAirlineFileDomain.update(model);
}
}

View File

@ -31,9 +31,9 @@ public class AirlineTempServiceImpl implements IAirlineTempService
@Override
public List<AirlineTempDTO> selectAirlineTempList(AirlineTempDTO airlineTempDTO)
{
AirlineTemp model = AirlineTempServiceConvert.toModel(airlineTempDTO);
AirlineTemp model = AirlineTempServiceConvert.to(airlineTempDTO);
List<AirlineTemp> modelList = airlineTempDomain.selectAirlineTempList(model);
return AirlineTempServiceConvert.toDTOList(modelList);
return AirlineTempServiceConvert.fromList(modelList);
}
/**
@ -46,6 +46,6 @@ public class AirlineTempServiceImpl implements IAirlineTempService
public AirlineTempDTO selectAirlineTempById(String id)
{
AirlineTemp model = airlineTempDomain.selectAirlineTempById(id);
return AirlineTempServiceConvert.toDTO(model);
return AirlineTempServiceConvert.from(model);
}
}

View File

@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update airline_file_group_info
set del_flag = 1,
deleted_by = #{deletedBy},
deleted_time = #{deletedTime}
deleted_time = now()
<where>
<if test="groupId != null">
and group_id = #{groupId}
@ -50,7 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 保存分组详情 -->
<insert id="save" parameterType="com.ruoyi.airline.mapper.entity.AirlineFileGroupInfoEntity" useGeneratedKeys="true" keyProperty="id">
insert into airline_file_group_info (group_id, airline_id, create_by, create_time, update_by, update_time, del_flag)
values (#{groupId}, #{airlineId}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, 0)
values (#{groupId}, #{airlineId}, #{createBy}, now(), #{updateBy}, now(), 0)
</insert>
<!-- 检查是否存在相同的groupId和airlineId -->
@ -65,4 +65,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and airline_id = #{airlineId}
</if>
</select>
<!-- 更新分组ID将航线文件从一个分组移动到另一个分组 -->
<update id="updateGroupId">
update airline_file_group_info
set group_id = #{newGroupId},
update_time = now()
where del_flag = 0
and group_id = #{oldGroupId}
and airline_id = #{airlineId}
</update>
</mapper>

View File

@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update airline_file_group
set del_flag = 1,
deleted_by = #{deletedBy},
deleted_time = #{deletedTime}
deleted_time = now()
where group_id = #{groupId}
<if test="userId != null">
and user_id = #{userId}
@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update airline_file_group
set group_name = #{groupName},
update_by = #{updateBy},
update_time = #{updateTime}
update_time = now()
where group_id = #{groupId}
and del_flag = 0
<if test="userId != null">
@ -59,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 插入分组 -->
<insert id="insertGroup" parameterType="com.ruoyi.airline.mapper.entity.AirlineFileGroupEntity">
insert into airline_file_group (group_name, user_id, create_by, create_time, update_by, update_time, del_flag)
values (#{groupName}, #{userId}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, 0)
values (#{groupName}, #{userId}, #{createBy}, now(), #{updateBy}, now(), 0)
</insert>
<!-- 查询分组列表 -->

View File

@ -26,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<!-- 保存航线文件 -->
<insert id="save" parameterType="com.ruoyi.airline.mapper.entity.AirlineFileEntity" useGeneratedKeys="true" keyProperty="id" keyColumn="id">
insert into airline_file (name, air_vendor, air_type, file_name, file_url, type, source, status, file_md5, create_by, create_time, update_by, update_time, remark)
values (#{name}, #{airVendor}, #{airType}, #{fileName}, #{fileUrl}, #{type}, #{source}, #{status}, #{fileMd5}, #{createBy}, #{createTime}, #{updateBy}, #{updateTime}, #{remark})
values (#{name}, #{airVendor}, #{airType}, #{fileName}, #{fileUrl}, #{type}, #{source}, #{status}, #{fileMd5}, #{createBy}, now(), #{updateBy}, now(), #{remark})
</insert>
<!-- 根据ID列表查询航线文件 -->
@ -39,10 +39,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach>
</select>
<!-- 根据航线名称模糊查询航线文件 -->
<!-- 根据航线名称模糊查询航线文件 -->
<select id="selectFileNameLike" parameterType="java.lang.String" resultMap="AirlineFileResult">
select id, name, air_vendor, air_type, file_name, file_url, type, source, status, file_md5, create_by, create_time, update_by, update_time, remark
from airline_file
where name like concat(#{name}, '%')
</select>
<!-- 根据分组ID和航线名称模糊查询航线文件 -->
<select id="selectFileNameLikeByGroupId" resultMap="AirlineFileResult">
select af.id, af.name, af.air_vendor, af.air_type, af.file_name, af.file_url, af.type, af.source, af.status, af.file_md5, af.create_by, af.create_time, af.update_by, af.update_time, af.remark
from airline_file af
inner join airline_file_group_info afgi on af.id = afgi.airline_id
where afgi.del_flag = 0
and afgi.group_id = #{groupId}
and af.name like concat(#{name}, '%')
</select>
</mapper>