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

View File

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

View File

@ -78,8 +78,8 @@ public class AirlineFileGroupInfoController extends BaseController {
*/ */
@PostMapping("/parseAndUpload/{groupId}") @PostMapping("/parseAndUpload/{groupId}")
@Operation(summary = " kmz航线文件并转换成waypoint上传 ,仅仅返航URL") @Operation(summary = " kmz航线文件并转换成waypoint上传 ,仅仅返航URL")
public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId")Long groupId) throws BaseException { public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId") Long groupId) throws BaseException {
AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file); AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file, groupId);
AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO(); AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO();
infoDTO.setGroupId(groupId); infoDTO.setGroupId(groupId);
infoDTO.setAirlineFileDTO(dto); infoDTO.setAirlineFileDTO(dto);
@ -98,7 +98,7 @@ public class AirlineFileGroupInfoController extends BaseController {
if (vo.getGroupId() == null) { if (vo.getGroupId() == null) {
throw new BaseException("分组ID不能为空"); throw new BaseException("分组ID不能为空");
} }
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo); AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo);
Long result = iAirlineFileGroupInfoService.save(dto); Long result = iAirlineFileGroupInfoService.save(dto);
if (result > 0) { if (result > 0) {
return success(result); return success(result);
@ -119,13 +119,35 @@ public class AirlineFileGroupInfoController extends BaseController {
if (vo.getGroupId() == null) { if (vo.getGroupId() == null) {
throw new BaseException("分组ID不能为空"); throw new BaseException("分组ID不能为空");
} }
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo); AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo);
Long result = iAirlineFileGroupInfoService.deleteGroupInf(dto); Long result = iAirlineFileGroupInfoService.deleteGroupInfo(dto);
if (result > 0) { if (result > 0) {
return success(result); return success(result);
} }
throw new BaseException("删除失败"); 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; package com.ruoyi.airline.controller.convert;
import java.util.List; import com.ruoyi.common.core.utils.BaseConvert;
import java.util.stream.Collectors;
import com.ruoyi.airline.api.domain.AirLinePointVO; import com.ruoyi.airline.api.domain.AirLinePointVO;
import com.ruoyi.airline.service.dto.AirLinePointDTO; import com.ruoyi.airline.service.dto.AirLinePointDTO;
import java.util.List;
/** /**
* 航线航点Controller转换类 * 航线航点Controller转换类
* 用于Controller层VO和Service层DTO之间的转换 * 用于Controller层VO和Service层DTO之间的转换
@ -13,89 +13,32 @@ import com.ruoyi.airline.service.dto.AirLinePointDTO;
* @author ruoyi * @author ruoyi
* @date 2026-01-26 * @date 2026-01-26
*/ */
public class AirLinePointControllerConvert { public class AirLinePointControllerConvert extends BaseConvert<AirLinePointDTO, AirLinePointVO>
{
/** private static final AirLinePointControllerConvert INSTANCE = new AirLinePointControllerConvert();
* 将Service DTO转换为Controller VO
* private AirLinePointControllerConvert() {
* @param dto Service DTO super(AirLinePointDTO.class, AirLinePointVO.class);
* @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;
} }
/** public static AirLinePointVO from(AirLinePointDTO dto)
* 将Controller VO转换为Service DTO {
* return INSTANCE.innerFrom(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 AirLinePointDTO to(AirLinePointVO vo)
* 将Service DTO列表转换为Controller VO列表 {
* return INSTANCE.innerTo(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 List<AirLinePointVO> fromList(List<AirLinePointDTO> dtoList)
* 将Controller VO列表转换为Service DTO列表 {
* return INSTANCE.innerFromList(dtoList);
* @param voList Controller VO列表 }
* @return Service DTO列表
*/ public static List<AirLinePointDTO> toList(List<AirLinePointVO> voList)
public static List<AirLinePointDTO> toDTOList(List<AirLinePointVO> voList) { {
if (voList == null || voList.isEmpty()) { return INSTANCE.innerToList(voList);
return null;
}
return voList.stream()
.map(AirLinePointControllerConvert::toDTO)
.collect(Collectors.toList());
} }
} }

View File

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

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.controller.convert; package com.ruoyi.airline.controller.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.api.domain.AirlineFileVO; import com.ruoyi.airline.api.domain.AirlineFileVO;
import com.ruoyi.airline.service.dto.AirlineFileDTO; import com.ruoyi.airline.service.dto.AirlineFileDTO;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线文件Controller转换类 * 航线文件Controller转换类
@ -13,80 +13,33 @@ import java.util.stream.Collectors;
* @author 拓恒 * @author 拓恒
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineFileControllerConvert { public class AirlineFileControllerConvert extends BaseConvert<AirlineFileDTO, AirlineFileVO>
{
/** private static final AirlineFileControllerConvert INSTANCE = new AirlineFileControllerConvert();
* 将Service DTO转换为Controller VO
* private AirlineFileControllerConvert() {
* @param dto Service DTO super(AirlineFileDTO.class, AirlineFileVO.class);
* @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;
} }
/** public static AirlineFileVO from(AirlineFileDTO dto)
* 将Controller VO转换为Service DTO {
* return INSTANCE.innerFrom(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 AirlineFileDTO to(AirlineFileVO vo)
* 将Service DTO列表转换为Controller VO列表 {
* return INSTANCE.innerTo(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 List<AirlineFileVO> fromList(List<AirlineFileDTO> dtoList)
* 将Controller VO列表转换为Service DTO列表 {
* return INSTANCE.innerFromList(dtoList);
* @param voList Controller VO列表 }
* @return Service DTO列表
*/ public static List<AirlineFileDTO> toList(List<AirlineFileVO> voList)
public static List<AirlineFileDTO> toDTOList(List<AirlineFileVO> voList) { {
if (voList == null || voList.isEmpty()) { return INSTANCE.innerToList(voList);
return null;
}
return voList.stream()
.map(AirlineFileControllerConvert::toDTO)
.collect(Collectors.toList());
} }
public static List<AirlineFileVO> toApiDomainList(List<AirlineFileDTO> dtoList) { public static List<AirlineFileVO> toApiDomainList(List<AirlineFileDTO> dtoList) {
@ -94,6 +47,6 @@ public class AirlineFileControllerConvert {
{ {
return null; 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; package com.ruoyi.airline.controller.convert;
import com.ruoyi.airline.api.domain.AirlineFileGroupVO; 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.airline.service.dto.AirlineFileGroupDTO;
import com.ruoyi.common.core.utils.BaseConvert;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线文件分组Domain转换类 * 航线文件分组Domain转换类
@ -15,89 +13,39 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineFileGroupControllerConvert { public class AirlineFileGroupControllerConvert extends BaseConvert<AirlineFileGroupDTO, AirlineFileGroupVO> {
/** private static final AirlineFileGroupControllerConvert INSTANCE = new AirlineFileGroupControllerConvert();
* 将Service DTO转换为Controller VO
* private AirlineFileGroupControllerConvert() {
* @param dto Service DTO super(AirlineFileGroupDTO.class, AirlineFileGroupVO.class);
* @return Controller VO }
*/
public static AirlineFileGroupVO toVO(AirlineFileGroupDTO dto) { public static AirlineFileGroupVO from(AirlineFileGroupDTO dto) {
if (dto == null) { AirlineFileGroupVO vo = INSTANCE.innerFrom(dto);
return null; vo.setGroupInfos(AirlineFileControllerConvert.fromList(dto.getGroupInfos()));
}
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());
return vo; return vo;
} }
/** public static AirlineFileGroupDTO to(AirlineFileGroupVO vo) {
* 将Controller VO转换为Service DTO AirlineFileGroupDTO dto = INSTANCE.innerTo(vo);
* dto.setGroupInfos(AirlineFileControllerConvert.toList(vo.getGroupInfos()));
* @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());
return dto; return dto;
} }
/** public static List<AirlineFileGroupVO> fromList(List<AirlineFileGroupDTO> dtoList) {
* 将Service DTO列表转换为Controller VO列表 return INSTANCE.innerFromList(dtoList);
*
* @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<AirlineFileGroupDTO> toList(List<AirlineFileGroupVO> voList) {
* 将Controller VO列表转换为Service DTO列表 return INSTANCE.innerToList(voList);
*
* @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<AirlineFileGroupVO> toApiDomainList(List<AirlineFileGroupDTO> dtoList) {
public static List<AirlineFileGroupVO> toApiDomainList(List<AirlineFileGroupDTO> dtoList) { if (dtoList == null) {
if (dtoList == null)
{
return 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; 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.AirlineFileGroupInfoVO;
import com.ruoyi.airline.api.domain.AirlineFileGroupVO; import com.ruoyi.airline.api.domain.AirlineFileGroupVO;
import com.ruoyi.airline.service.convert.AirlineFileServiceConvert; 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 com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线文件Domain转换类 * 航线文件Domain转换类
@ -17,91 +17,44 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineFileGroupInfoControllerConvert { public class AirlineFileGroupInfoControllerConvert extends BaseConvert<AirlineFileGroupInfoDTO, AirlineFileGroupInfoVO>
{
/** private static final AirlineFileGroupInfoControllerConvert INSTANCE = new AirlineFileGroupInfoControllerConvert();
* 将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());
vo.setUpdateBy(dto.getUpdateBy()); private AirlineFileGroupInfoControllerConvert() {
vo.setUpdateTime(dto.getUpdateTime()); super(AirlineFileGroupInfoDTO.class, AirlineFileGroupInfoVO.class);
vo.setRemark(dto.getRemark());
return vo;
} }
/** public static AirlineFileGroupInfoVO from(AirlineFileGroupInfoDTO dto)
* 将Controller VO转换为Service DTO {
* AirlineFileGroupInfoVO vo = INSTANCE.innerFrom(dto);
* @param vo Controller VO vo.setAirlineFileVO(AirlineFileControllerConvert.from(dto.getAirlineFileDTO()));
* @return Service DTO return vo;
*/ }
public static AirlineFileGroupInfoDTO toDTO(AirlineFileGroupInfoVO vo) {
if (vo == null) { public static AirlineFileGroupInfoDTO to(AirlineFileGroupInfoVO vo)
return null; {
} AirlineFileGroupInfoDTO dto = INSTANCE.innerTo(vo);
AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO(); dto.setAirlineFileDTO(AirlineFileControllerConvert.to(vo.getAirlineFileVO()));
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()));
return dto; return dto;
} }
/** public static List<AirlineFileGroupInfoVO> fromList(List<AirlineFileGroupInfoDTO> dtoList)
* 将Service DTO列表转换为Controller VO列表 {
* return INSTANCE.innerFromList(dtoList);
* @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<AirlineFileGroupInfoDTO> toList(List<AirlineFileGroupInfoVO> voList)
* 将Controller VO列表转换为Service DTO列表 {
* return INSTANCE.innerToList(voList);
* @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<AirlineFileGroupInfoVO> toApiDomainList(List<AirlineFileGroupInfoDTO> dtoList) { public static List<AirlineFileGroupInfoVO> toApiDomainList(List<AirlineFileGroupInfoDTO> dtoList) {
if (dtoList == null) if (dtoList == null)
{ {
return 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; package com.ruoyi.airline.controller.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.api.domain.AirlineTempVO; import com.ruoyi.airline.api.domain.AirlineTempVO;
import com.ruoyi.airline.service.dto.AirlineTempDTO; import com.ruoyi.airline.service.dto.AirlineTempDTO;
import org.springframework.beans.BeanUtils;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线临时表Controller层转换器 * 航线临时表Controller层转换器
@ -14,45 +13,40 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineTempControllerConvert public class AirlineTempControllerConvert extends BaseConvert<AirlineTempDTO, AirlineTempVO>
{ {
/** private static final AirlineTempControllerConvert INSTANCE = new AirlineTempControllerConvert();
* DTO API Domain
*/ private AirlineTempControllerConvert() {
public static AirlineTempVO toVO(AirlineTempDTO dto) super(AirlineTempDTO.class, AirlineTempVO.class);
{
if (dto == null)
{
return null;
}
AirlineTempVO apiDomain = new AirlineTempVO();
BeanUtils.copyProperties(dto, apiDomain);
return apiDomain;
} }
/** public static AirlineTempVO from(AirlineTempDTO dto)
* API Domain DTO
*/
public static AirlineTempDTO toDTO(AirlineTempVO apiDomain)
{ {
if (apiDomain == null) return INSTANCE.innerFrom(dto);
{ }
return null;
} public static AirlineTempDTO to(AirlineTempVO vo)
AirlineTempDTO dto = new AirlineTempDTO(); {
BeanUtils.copyProperties(apiDomain, dto); return INSTANCE.innerTo(vo);
return dto; }
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) public static List<AirlineTempVO> toApiDomainList(List<AirlineTempDTO> dtoList)
{ {
if (dtoList == null) if (dtoList == null)
{ {
return 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); Long save(AirlineFile model);
List<AirlineFile> selectFileNameLike(String name); 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 是否存在 * @return 是否存在
*/ */
boolean existsByGroupIdAndAirlineId(Long groupId, Long airlineId); 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; package com.ruoyi.airline.domain.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineData; import com.ruoyi.airline.domain.model.AirlineData;
import com.ruoyi.airline.mapper.entity.AirlineDataEntity; import com.ruoyi.airline.mapper.entity.AirlineDataEntity;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线数据Domain转换类 * 航线数据Domain转换类
@ -13,69 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineDataDomainConvert public class AirlineDataDomainConvert extends BaseConvert<AirlineDataEntity, AirlineData>
{ {
/** private static final AirlineDataDomainConvert INSTANCE = new AirlineDataDomainConvert();
* 将Domain模型转换为Mapper实体
*
* @param model Domain模型
* @return Mapper实体
*/
public static AirlineDataEntity toEntity(AirlineData model)
{
if (model == null) {
return null;
}
AirlineDataEntity entity = new AirlineDataEntity();
return entity; private AirlineDataDomainConvert() {
super(AirlineDataEntity.class, AirlineData.class);
} }
/** public static AirlineData from(AirlineDataEntity entity)
* 将Mapper实体转换为Domain模型
*
* @param entity Mapper实体
* @return Domain模型
*/
public static AirlineData toModel(AirlineDataEntity entity)
{ {
if (entity == null) { return INSTANCE.innerFrom(entity);
return null;
}
AirlineData model = new AirlineData();
return model;
} }
/** public static AirlineDataEntity to(AirlineData model)
* 将Mapper实体列表转换为Domain模型列表
*
* @param entityList Mapper实体列表
* @return Domain模型列表
*/
public static List<AirlineData> toModelList(List<AirlineDataEntity> entityList)
{ {
if (entityList == null || entityList.isEmpty()) { return INSTANCE.innerTo(model);
return null;
}
return entityList.stream()
.map(AirlineDataDomainConvert::toModel)
.collect(Collectors.toList());
} }
/** public static List<AirlineData> fromList(List<AirlineDataEntity> entityList)
* 将Domain模型列表转换为Mapper实体列表
*
* @param modelList Domain模型列表
* @return Mapper实体列表
*/
public static List<AirlineDataEntity> toEntityList(List<AirlineData> modelList)
{ {
if (modelList == null || modelList.isEmpty()) { return INSTANCE.innerFromList(entityList);
return null; }
}
return modelList.stream() public static List<AirlineDataEntity> toList(List<AirlineData> modelList)
.map(AirlineDataDomainConvert::toEntity) {
.collect(Collectors.toList()); return INSTANCE.innerToList(modelList);
} }
} }

View File

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

View File

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

View File

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

View File

@ -1,11 +1,10 @@
package com.ruoyi.airline.domain.convert; package com.ruoyi.airline.domain.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineTemp; import com.ruoyi.airline.domain.model.AirlineTemp;
import com.ruoyi.airline.mapper.entity.AirlineTempEntity; import com.ruoyi.airline.mapper.entity.AirlineTempEntity;
import org.springframework.beans.BeanUtils;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线临时表Domain层转换器 * 航线临时表Domain层转换器
@ -14,45 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineTempDomainConvert public class AirlineTempDomainConvert extends BaseConvert<AirlineTempEntity, AirlineTemp>
{ {
/** private static final AirlineTempDomainConvert INSTANCE = new AirlineTempDomainConvert();
* Entity Model
*/ private AirlineTempDomainConvert() {
public static AirlineTemp toModel(AirlineTempEntity entity) super(AirlineTempEntity.class, AirlineTemp.class);
{
if (entity == null)
{
return null;
}
AirlineTemp model = new AirlineTemp();
BeanUtils.copyProperties(entity, model);
return model;
} }
/** public static AirlineTemp from(AirlineTempEntity entity)
* Model Entity
*/
public static AirlineTempEntity toEntity(AirlineTemp model)
{ {
if (model == null) return INSTANCE.innerFrom(entity);
{
return null;
}
AirlineTempEntity entity = new AirlineTempEntity();
BeanUtils.copyProperties(model, entity);
return entity;
} }
/** public static AirlineTempEntity to(AirlineTemp model)
* Entity List Model List
*/
public static List<AirlineTemp> toModelList(List<AirlineTempEntity> entityList)
{ {
if (entityList == null) return INSTANCE.innerTo(model);
{ }
return null;
} public static List<AirlineTemp> fromList(List<AirlineTempEntity> entityList)
return entityList.stream().map(AirlineTempDomainConvert::toModel).collect(Collectors.toList()); {
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 @Override
public List<AirlineData> selectAirlineDataList(AirlineData airlineData) public List<AirlineData> selectAirlineDataList(AirlineData airlineData)
{ {
AirlineDataEntity entity = AirlineDataDomainConvert.toEntity(airlineData); AirlineDataEntity entity = AirlineDataDomainConvert.to(airlineData);
List<AirlineDataEntity> entityList = airlineDataMapper.selectAirlineDataList(entity); 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) public AirlineData selectAirlineDataById(Long id)
{ {
AirlineDataEntity entity = airlineDataMapper.selectAirlineDataById(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 @Override
public List<AirlineFile> selectFileListByIds(List<Long> ids) { public List<AirlineFile> selectFileListByIds(List<Long> ids) {
return AirlineFileDomainConvert.toModelList(airlineFileMapper.selectFileListByIds(ids)); return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileListByIds(ids));
} }
@Override @Override
public Long save(AirlineFile model) { public Long save(AirlineFile model) {
AirlineFileEntity entity = AirlineFileDomainConvert.toEntity(model); AirlineFileEntity entity = AirlineFileDomainConvert.to(model);
airlineFileMapper.save(entity); airlineFileMapper.save(entity);
return entity.getId(); return entity.getId();
} }
@Override @Override
public List<AirlineFile> selectFileNameLike(String name) { 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 @Override
public int deletegroup(AirlineFileGroup model) { public int deletegroup(AirlineFileGroup model) {
model.setDelFlag(1L); model.setDelFlag(1L);
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.deletegroup(entity); return airlineFileGroupMapper.deletegroup(entity);
} }
@Override @Override
public boolean checkgroupNameUnique(AirlineFileGroup model) { public boolean checkgroupNameUnique(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.checkgroupNameUnique(entity) > 0; return airlineFileGroupMapper.checkgroupNameUnique(entity) > 0;
} }
@Override @Override
public int updateGroup(AirlineFileGroup model) { public int updateGroup(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.updateGroup(entity); return airlineFileGroupMapper.updateGroup(entity);
} }
@Override @Override
public int insertGroup(AirlineFileGroup model) { public int insertGroup(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return airlineFileGroupMapper.insertGroup(entity); return airlineFileGroupMapper.insertGroup(entity);
} }
@Override @Override
public List<AirlineFileGroup> selectGroupList(AirlineFileGroup model) { public List<AirlineFileGroup> selectGroupList(AirlineFileGroup model) {
AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model);
return AirlineFileGroupDomainConvert.toModelList(airlineFileGroupMapper.selectGroupList(entity)); return AirlineFileGroupDomainConvert.fromList(airlineFileGroupMapper.selectGroupList(entity));
} }
} }

View File

@ -26,21 +26,21 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma
public List<AirlineFileGroupInfo> selectGroupInfoListById(Long groupId) { public List<AirlineFileGroupInfo> selectGroupInfoListById(Long groupId) {
AirlineFileGroupInfo dto = new AirlineFileGroupInfo(); AirlineFileGroupInfo dto = new AirlineFileGroupInfo();
dto.setGroupId(groupId); dto.setGroupId(groupId);
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(dto); AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(dto);
List<AirlineFileGroupInfoEntity> entities = airlineFileGroupInfoMapper.selectGroupList(Entity); List<AirlineFileGroupInfoEntity> entities = airlineFileGroupInfoMapper.selectGroupList(Entity);
return AirlineFileGroupInfoDomainConvert.toModelList(entities); return AirlineFileGroupInfoDomainConvert.fromList(entities);
} }
@Override @Override
public Long deleteGroupInfo(AirlineFileGroupInfo model) { public Long deleteGroupInfo(AirlineFileGroupInfo model) {
model.setDelFlag(1L); model.setDelFlag(1L);
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model); AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model);
return airlineFileGroupInfoMapper.deleteGroupInfo(Entity); return airlineFileGroupInfoMapper.deleteGroupInfo(Entity);
} }
@Override @Override
public Long save(AirlineFileGroupInfo model) { public Long save(AirlineFileGroupInfo model) {
AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model); AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model);
return airlineFileGroupInfoMapper.save(Entity); return airlineFileGroupInfoMapper.save(Entity);
} }
@ -49,8 +49,13 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma
AirlineFileGroupInfo model = new AirlineFileGroupInfo(); AirlineFileGroupInfo model = new AirlineFileGroupInfo();
model.setGroupId(groupId); model.setGroupId(groupId);
model.setAirlineId(airlineId); model.setAirlineId(airlineId);
AirlineFileGroupInfoEntity entity = AirlineFileGroupInfoDomainConvert.toEntity(model); AirlineFileGroupInfoEntity entity = AirlineFileGroupInfoDomainConvert.to(model);
int count = airlineFileGroupInfoMapper.countByGroupIdAndAirlineId(entity); int count = airlineFileGroupInfoMapper.countByGroupIdAndAirlineId(entity);
return count > 0; 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 @Override
public List<AirlineTemp> selectAirlineTempList(AirlineTemp airlineTempModel) public List<AirlineTemp> selectAirlineTempList(AirlineTemp airlineTempModel)
{ {
AirlineTempEntity entity = AirlineTempDomainConvert.toEntity(airlineTempModel); AirlineTempEntity entity = AirlineTempDomainConvert.to(airlineTempModel);
List<AirlineTempEntity> entityList = airlineTempMapper.selectAirlineTempList(entity); List<AirlineTempEntity> entityList = airlineTempMapper.selectAirlineTempList(entity);
return AirlineTempDomainConvert.toModelList(entityList); return AirlineTempDomainConvert.fromList(entityList);
} }
@Override @Override
public AirlineTemp selectAirlineTempById(String id) public AirlineTemp selectAirlineTempById(String id)
{ {
AirlineTempEntity entity = airlineTempMapper.selectAirlineTempById(id); AirlineTempEntity entity = airlineTempMapper.selectAirlineTempById(id);
return AirlineTempDomainConvert.toModel(entity); return AirlineTempDomainConvert.from(entity);
} }
} }

View File

@ -26,4 +26,14 @@ public interface AirlineFileGroupInfoMapper {
* @return 存在的记录数 * @return 存在的记录数
*/ */
int countByGroupIdAndAirlineId(AirlineFileGroupInfoEntity entity); 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> selectFileListByIds(List<Long> ids);
List<AirlineFileEntity> selectFileNameLike(String name); 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 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; package com.ruoyi.airline.service.api;
import com.ruoyi.airline.domain.model.AirlineFile;
import com.ruoyi.airline.service.dto.AirlineFileDTO; import com.ruoyi.airline.service.dto.AirlineFileDTO;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
@ -17,9 +16,13 @@ public interface IAirlineFileService {
AirlineFileDTO save(AirlineFileDTO dto); AirlineFileDTO save(AirlineFileDTO dto);
AirlineFileDTO parseAndUplload(MultipartFile file); AirlineFileDTO parseAndUplload(MultipartFile file, Long groupId);
AirlineFileDTO createOrupdate(AirlineFileDTO airlineFile) throws IOException; 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; package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.service.dto.AirLinePointDTO; import com.ruoyi.airline.service.dto.AirLinePointDTO;
import com.ruoyi.airline.domain.model.AirLinePoint; import com.ruoyi.airline.domain.model.AirLinePoint;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线航点Service转换类 * 航线航点Service转换类
@ -13,89 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-26 * @date 2026-01-26
*/ */
public class AirLinePointServiceConvert { public class AirLinePointServiceConvert extends BaseConvert<AirLinePoint, AirLinePointDTO>
{
private static final AirLinePointServiceConvert INSTANCE = new AirLinePointServiceConvert();
/** private AirLinePointServiceConvert() {
* 将Service DTO转换为Domain模型 super(AirLinePoint.class, AirLinePointDTO.class);
*
* @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;
} }
/** public static AirLinePointDTO from(AirLinePoint model)
* 将Domain模型转换为Service DTO {
* return INSTANCE.innerFrom(model);
* @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 AirLinePoint to(AirLinePointDTO dto)
* 将Domain模型列表转换为Service DTO列表 {
* return INSTANCE.innerTo(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 List<AirLinePointDTO> fromList(List<AirLinePoint> modelList)
* 将Service DTO列表转换为Domain模型列表 {
* return INSTANCE.innerFromList(modelList);
* @param dtoList Service DTO列表 }
* @return Domain模型列表
*/ public static List<AirLinePoint> toList(List<AirLinePointDTO> dtoList)
public static List<AirLinePoint> toModelList(List<AirLinePointDTO> dtoList) { {
if (dtoList == null || dtoList.isEmpty()) { return INSTANCE.innerToList(dtoList);
return null;
}
return dtoList.stream()
.map(AirLinePointServiceConvert::toModel)
.collect(Collectors.toList());
} }
} }

View File

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

View File

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

View File

@ -1,13 +1,13 @@
package com.ruoyi.airline.service.convert; 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.AirlineFile;
import com.ruoyi.airline.domain.model.AirlineFileGroup; import com.ruoyi.airline.domain.model.AirlineFileGroup;
import com.ruoyi.airline.service.dto.AirlineFileDTO; import com.ruoyi.airline.service.dto.AirlineFileDTO;
import com.ruoyi.airline.service.dto.AirlineFileGroupDTO; import com.ruoyi.airline.service.dto.AirlineFileGroupDTO;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线文件分组Domain转换类 * 航线文件分组Domain转换类
@ -16,77 +16,32 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineFileGroupServiceConvert { public class AirlineFileGroupServiceConvert extends BaseConvert<AirlineFileGroup, AirlineFileGroupDTO>
{
/** private static final AirlineFileGroupServiceConvert INSTANCE = new AirlineFileGroupServiceConvert();
* 将Domain模型转换为Mapper实体
* private AirlineFileGroupServiceConvert() {
* @param model Domain模型 super(AirlineFileGroup.class, AirlineFileGroupDTO.class);
* @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;
} }
/** public static AirlineFileGroupDTO from(AirlineFileGroup model)
* 将Mapper实体转换为Domain模型 {
* return INSTANCE.innerFrom(model);
* @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 AirlineFileGroup to(AirlineFileGroupDTO dto)
* 将Domain模型列表转换为Service DTO列表 {
* return INSTANCE.innerTo(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 List<AirlineFileGroupDTO> fromList(List<AirlineFileGroup> modelList)
* 将Service DTO列表转换为Domain模型列表 {
* return INSTANCE.innerFromList(modelList);
* @param dtoList Service DTO列表 }
* @return Domain模型列表
*/ public static List<AirlineFileGroup> toList(List<AirlineFileGroupDTO> dtoList)
public static List<AirlineFileGroup> toModelList(List<AirlineFileGroupDTO> dtoList) { {
if (dtoList == null || dtoList.isEmpty()) { return INSTANCE.innerToList(dtoList);
return null;
}
return dtoList.stream()
.map(AirlineFileGroupServiceConvert::toModel)
.collect(Collectors.toList());
} }
} }

View File

@ -1,10 +1,10 @@
package com.ruoyi.airline.service.convert; 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.AirlineFile;
import com.ruoyi.airline.service.dto.AirlineFileDTO; import com.ruoyi.airline.service.dto.AirlineFileDTO;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线文件Service转换类 * 航线文件Service转换类
@ -13,105 +13,32 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineFileServiceConvert { public class AirlineFileServiceConvert extends BaseConvert<AirlineFile, AirlineFileDTO>
{
/** private static final AirlineFileServiceConvert INSTANCE = new AirlineFileServiceConvert();
* 将Service DTO转换为Domain模型
* private AirlineFileServiceConvert() {
* @param dto Service DTO super(AirlineFile.class, AirlineFileDTO.class);
* @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;
} }
/** public static AirlineFileDTO from(AirlineFile model)
* 将Domain模型转换为Service DTO {
* return INSTANCE.innerFrom(model);
* @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 AirlineFile to(AirlineFileDTO dto)
* 将Domain模型列表转换为Service DTO列表 {
* return INSTANCE.innerTo(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 List<AirlineFileDTO> fromList(List<AirlineFile> modelList)
* 将Service DTO列表转换为Domain模型列表 {
* return INSTANCE.innerFromList(modelList);
* @param dtoList Service DTO列表 }
* @return Domain模型列表
*/ public static List<AirlineFile> toList(List<AirlineFileDTO> dtoList)
public static List<AirlineFile> toModelList(List<AirlineFileDTO> dtoList) { {
if (dtoList == null || dtoList.isEmpty()) { return INSTANCE.innerToList(dtoList);
return null;
}
return dtoList.stream()
.map(AirlineFileServiceConvert::toModel)
.collect(Collectors.toList());
} }
} }

View File

@ -1,11 +1,10 @@
package com.ruoyi.airline.service.convert; package com.ruoyi.airline.service.convert;
import com.ruoyi.common.core.utils.BaseConvert;
import com.ruoyi.airline.domain.model.AirlineTemp; import com.ruoyi.airline.domain.model.AirlineTemp;
import com.ruoyi.airline.service.dto.AirlineTempDTO; import com.ruoyi.airline.service.dto.AirlineTempDTO;
import org.springframework.beans.BeanUtils;
import java.util.List; import java.util.List;
import java.util.stream.Collectors;
/** /**
* 航线临时表Service层转换器 * 航线临时表Service层转换器
@ -14,45 +13,31 @@ import java.util.stream.Collectors;
* @author ruoyi * @author ruoyi
* @date 2026-01-17 * @date 2026-01-17
*/ */
public class AirlineTempServiceConvert public class AirlineTempServiceConvert extends BaseConvert<AirlineTemp, AirlineTempDTO>
{ {
/** private static final AirlineTempServiceConvert INSTANCE = new AirlineTempServiceConvert();
* Model DTO
*/ private AirlineTempServiceConvert() {
public static AirlineTempDTO toDTO(AirlineTemp model) super(AirlineTemp.class, AirlineTempDTO.class);
{
if (model == null)
{
return null;
}
AirlineTempDTO dto = new AirlineTempDTO();
BeanUtils.copyProperties(model, dto);
return dto;
} }
/** public static AirlineTempDTO from(AirlineTemp model)
* DTO Model
*/
public static AirlineTemp toModel(AirlineTempDTO dto)
{ {
if (dto == null) return INSTANCE.innerFrom(model);
{
return null;
}
AirlineTemp model = new AirlineTemp();
BeanUtils.copyProperties(dto, model);
return model;
} }
/** public static AirlineTemp to(AirlineTempDTO dto)
* Model List DTO List
*/
public static List<AirlineTempDTO> toDTOList(List<AirlineTemp> modelList)
{ {
if (modelList == null) return INSTANCE.innerTo(dto);
{ }
return null;
} public static List<AirlineTempDTO> fromList(List<AirlineTemp> modelList)
return modelList.stream().map(AirlineTempServiceConvert::toDTO).collect(Collectors.toList()); {
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 @Override
public List<AirlineDataDTO> selectAirlineDataList(AirlineDataDTO airlineDataDTO) public List<AirlineDataDTO> selectAirlineDataList(AirlineDataDTO airlineDataDTO)
{ {
AirlineData model = AirlineDataServiceConvert.toModel(airlineDataDTO); AirlineData model = AirlineDataServiceConvert.to(airlineDataDTO);
List<AirlineData> modelList = airlineDataDomain.selectAirlineDataList(model); 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) public AirlineDataDTO selectAirlineDataById(Long id)
{ {
AirlineData model = airlineDataDomain.selectAirlineDataById(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删除航线信息 // 1删除航线信息
AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO(); AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO();
dto.setGroupId(groupId); dto.setGroupId(groupId);
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto); AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto);
iAirlineFileGroupInfoDomain.deleteGroupInfo(model); iAirlineFileGroupInfoDomain.deleteGroupInfo(model);
// 2删除分组 // 2删除分组
@ -59,19 +59,19 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
@Override @Override
public boolean checkGroupNameUnique(AirlineFileGroupDTO group) { public boolean checkGroupNameUnique(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.checkgroupNameUnique(model); return iAirlineFileGroupDomain.checkgroupNameUnique(model);
} }
@Override @Override
public int updateGroup(AirlineFileGroupDTO group) { public int updateGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.updateGroup(model); return iAirlineFileGroupDomain.updateGroup(model);
} }
@Override @Override
public int insertGroup(AirlineFileGroupDTO group) { public int insertGroup(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return iAirlineFileGroupDomain.insertGroup(model); return iAirlineFileGroupDomain.insertGroup(model);
} }
@ -85,8 +85,8 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
*/ */
@Override @Override
public List<AirlineFileGroupDTO> selectGroupList(AirlineFileGroupDTO group) { public List<AirlineFileGroupDTO> selectGroupList(AirlineFileGroupDTO group) {
AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group);
return AirlineFileGroupServiceConvert.toDTOList(iAirlineFileGroupDomain.selectGroupList(model)); return AirlineFileGroupServiceConvert.fromList(iAirlineFileGroupDomain.selectGroupList(model));
} }
@ -105,7 +105,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService {
if (!CollectionUtils.isEmpty(airlineFileGroupInfoDTOS)) { if (!CollectionUtils.isEmpty(airlineFileGroupInfoDTOS)) {
List<Long> ids = airlineFileGroupInfoDTOS.stream().map(AirlineFileGroupInfo::getAirlineId).toList(); List<Long> ids = airlineFileGroupInfoDTOS.stream().map(AirlineFileGroupInfo::getAirlineId).toList();
List<AirlineFile> airlineFileDTOS = iAirlineFileDomain.selectFileListByIds(ids); List<AirlineFile> airlineFileDTOS = iAirlineFileDomain.selectFileListByIds(ids);
dto.setGroupInfos(AirlineFileServiceConvert.toDTOList(airlineFileDTOS)); dto.setGroupInfos(AirlineFileServiceConvert.fromList(airlineFileDTOS));
} }
return dto; return dto;
} }

View File

@ -1,5 +1,6 @@
package com.ruoyi.airline.service.impl; 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.api.IAirlineFileGroupInfoDomain;
import com.ruoyi.airline.domain.model.AirlineFileGroupInfo; import com.ruoyi.airline.domain.model.AirlineFileGroupInfo;
import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService; import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService;
@ -30,6 +31,9 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
@Autowired @Autowired
private IAirlineFileService iAirlineFileService; private IAirlineFileService iAirlineFileService;
@Autowired
private IAirlineFileDomain iAirlineFileDomain;
@Autowired @Autowired
private IAirlineFileGroupInfoDomain iAirlineFileGroupInfoDomain; private IAirlineFileGroupInfoDomain iAirlineFileGroupInfoDomain;
@ -37,12 +41,13 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
@Override @Override
public List<AirlineFileGroupInfoDTO> selectGroupInfoListById(Long groupId) { public List<AirlineFileGroupInfoDTO> selectGroupInfoListById(Long groupId) {
List<AirlineFileGroupInfo> models = iAirlineFileGroupInfoDomain.selectGroupInfoListById(groupId); List<AirlineFileGroupInfo> models = iAirlineFileGroupInfoDomain.selectGroupInfoListById(groupId);
if (models != null) { List<AirlineFileGroupInfoDTO> result = AirlineFileGroupInfoServiceConvert.fromList(models);
models.forEach(model -> { if (result != null) {
model.setAirlineFile(iAirlineFileService.selectById(model.getAirlineId())); result.forEach(dto -> {
dto.setAirlineFileDTO(iAirlineFileService.selectById(dto.getAirlineId()));
}); });
} }
return AirlineFileGroupInfoServiceConvert.toDtoList(models); return result;
} }
@Override @Override
@ -53,7 +58,7 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
dto.setAirlineId(result.getId()); dto.setAirlineId(result.getId());
// 保存分组信息 // 保存分组信息
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto); AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto);
// 检查唯一性同一个分组下不能有相同的航线 // 检查唯一性同一个分组下不能有相同的航线
@ -62,17 +67,35 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer
} }
@Override @Override
public Long deleteGroupInf(AirlineFileGroupInfoDTO dto) throws BaseException { public Long deleteGroupInfo(AirlineFileGroupInfoDTO dto) throws BaseException {
// 检查参数 // 检查参数
if (dto.getGroupId() == null || dto.getAirlineId() == null) { if (dto.getGroupId() == null || dto.getAirlineId() == null) {
throw new BaseException("分组ID和航线ID不能为空"); throw new BaseException("分组ID和航线ID不能为空");
} }
// 转换为模型 // 转换为模型
AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto); AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto);
// 调用domain层删除方法 // 调用domain层删除方法
return iAirlineFileGroupInfoDomain.deleteGroupInfo(model); 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 @Override
public AirlineFileDTO save(AirlineFileDTO dto) { public AirlineFileDTO save(AirlineFileDTO dto) {
AirlineFile model = AirlineFileServiceConvert.toModel(dto); AirlineFile model = AirlineFileServiceConvert.to(dto);
Long id = iAirlineFileDomain.save(model); Long id = iAirlineFileDomain.save(model);
dto.setId(id); dto.setId(id);
return dto; return dto;
@ -60,17 +60,20 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
* 并且限制航线修改因为暂时没做到 从waypoingt KMZ * 并且限制航线修改因为暂时没做到 从waypoingt KMZ
* *
* @param file * @param file
* @param groupId
* @return * @return
*/ */
@Override @Override
public AirlineFileDTO parseAndUplload(MultipartFile file) { public AirlineFileDTO parseAndUplload(MultipartFile file, Long groupId) {
String originalFilename = file.getOriginalFilename(); String originalFilename = file.getOriginalFilename();
String fileExtension = ""; String fileExtension = "";
if (originalFilename != null && originalFilename.lastIndexOf('.') > 0) { if (originalFilename != null && originalFilename.lastIndexOf('.') > 0) {
fileExtension = originalFilename.substring(originalFilename.lastIndexOf('.') + 1).toLowerCase(); 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 { try {
if ("zip".equals(fileExtension) || "kmz".equals(fileExtension)) { if ("zip".equals(fileExtension) || "kmz".equals(fileExtension)) {
// 处理ZIP/KMZ文件 // 处理ZIP/KMZ文件
@ -91,14 +94,8 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight(); String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight();
AirlineFileDTO dto = new AirlineFileDTO(); 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.setName(newFileName);
dto.setFileName(originalFilename); dto.setFileName(originalFilename);
R<String> fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo)); R<String> fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo));
@ -111,15 +108,8 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
// 直接处理Waypoints文件 // 直接处理Waypoints文件
AirlineFileDTO dto = new AirlineFileDTO(); 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.setName(newFileName);
dto.setFileName(originalFilename); dto.setFileName(originalFilename);
// 直接读取文件内容并上传 // 直接读取文件内容并上传
@ -164,22 +154,43 @@ public class AirlineFileServiceImpl implements IAirlineFileService {
airlineFile.setFileUrl(fileUrl.getData()); airlineFile.setFileUrl(fileUrl.getData());
airlineFile.setSource("airport"); airlineFile.setSource("airport");
airlineFile.setStatus(airlineFile.getStatus() == null ? 1 : airlineFile.getStatus()); airlineFile.setStatus(airlineFile.getStatus() == null ? 1 : airlineFile.getStatus());
AirlineFile model = AirlineFileServiceConvert.toModel(airlineFile); AirlineFile model = AirlineFileServiceConvert.to(airlineFile);
Long id = iAirlineFileDomain.save(model); Long id = iAirlineFileDomain.save(model);
model.setId(id); model.setId(id);
return AirlineFileServiceConvert.toDTO(model); return AirlineFileServiceConvert.from(model);
} }
return null; return null;
} }
@Override @Override
public AirlineFile selectById(Long airlineId) { public AirlineFileDTO selectById(Long airlineId) {
if (airlineId == null) { if (airlineId == null) {
return null; return null;
} }
List<Long> ids = List.of(airlineId); List<Long> ids = List.of(airlineId);
List<AirlineFile> airlineFiles = iAirlineFileDomain.selectFileListByIds(ids); 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 @Override
public List<AirlineTempDTO> selectAirlineTempList(AirlineTempDTO airlineTempDTO) public List<AirlineTempDTO> selectAirlineTempList(AirlineTempDTO airlineTempDTO)
{ {
AirlineTemp model = AirlineTempServiceConvert.toModel(airlineTempDTO); AirlineTemp model = AirlineTempServiceConvert.to(airlineTempDTO);
List<AirlineTemp> modelList = airlineTempDomain.selectAirlineTempList(model); 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) public AirlineTempDTO selectAirlineTempById(String id)
{ {
AirlineTemp model = airlineTempDomain.selectAirlineTempById(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 update airline_file_group_info
set del_flag = 1, set del_flag = 1,
deleted_by = #{deletedBy}, deleted_by = #{deletedBy},
deleted_time = #{deletedTime} deleted_time = now()
<where> <where>
<if test="groupId != null"> <if test="groupId != null">
and group_id = #{groupId} 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 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) 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> </insert>
<!-- 检查是否存在相同的groupId和airlineId --> <!-- 检查是否存在相同的groupId和airlineId -->
@ -65,4 +65,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
and airline_id = #{airlineId} and airline_id = #{airlineId}
</if> </if>
</select> </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> </mapper>

View File

@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update airline_file_group update airline_file_group
set del_flag = 1, set del_flag = 1,
deleted_by = #{deletedBy}, deleted_by = #{deletedBy},
deleted_time = #{deletedTime} deleted_time = now()
where group_id = #{groupId} where group_id = #{groupId}
<if test="userId != null"> <if test="userId != null">
and user_id = #{userId} and user_id = #{userId}
@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
update airline_file_group update airline_file_group
set group_name = #{groupName}, set group_name = #{groupName},
update_by = #{updateBy}, update_by = #{updateBy},
update_time = #{updateTime} update_time = now()
where group_id = #{groupId} where group_id = #{groupId}
and del_flag = 0 and del_flag = 0
<if test="userId != null"> <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 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) 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> </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 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) 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> </insert>
<!-- 根据ID列表查询航线文件 --> <!-- 根据ID列表查询航线文件 -->
@ -39,10 +39,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
</foreach> </foreach>
</select> </select>
<!-- 根据航线名称模糊查询航线文件 --> <!-- 根据航线名称模糊查询航线文件 -->
<select id="selectFileNameLike" parameterType="java.lang.String" resultMap="AirlineFileResult"> <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 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 from airline_file
where name like concat(#{name}, '%') where name like concat(#{name}, '%')
</select> </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> </mapper>