From 5e34d029b675a3ef2cbd496943f7c20e5df1680c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Wed, 28 Jan 2026 20:15:05 +0800 Subject: [PATCH] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96convert?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/AirlineFileController.java | 4 +- .../AirlineFileGroupController.java | 6 +- .../AirlineFileGroupInfoController.java | 32 ++++- .../AirLinePointControllerConvert.java | 103 ++++------------ .../convert/AirlineDataControllerConvert.java | 86 +++---------- .../convert/AirlineFileControllerConvert.java | 91 ++++---------- .../AirlineFileGroupControllerConvert.java | 94 ++++---------- ...AirlineFileGroupInfoControllerConvert.java | 95 ++++----------- .../convert/AirlineTempControllerConvert.java | 54 ++++---- .../domain/api/IAirlineFileDomain.java | 4 + .../api/IAirlineFileGroupInfoDomain.java | 10 ++ .../convert/AirlineDataDomainConvert.java | 70 +++-------- .../convert/AirlineFileDomainConvert.java | 96 +++------------ .../AirlineFileGroupDomainConvert.java | 86 +++---------- .../AirlineFileGroupInfoDomainConvert.java | 78 +++--------- .../convert/AirlineTempDomainConvert.java | 55 +++------ .../domain/impl/AirlineDataDomainImpl.java | 6 +- .../domain/impl/AirlineFileDomainImpl.java | 19 ++- .../impl/AirlineFileGroupDomainImpl.java | 12 +- .../impl/AirlineFileGroupInfoDomainImpl.java | 15 ++- .../domain/impl/AirlineTempDomainImpl.java | 6 +- .../mapper/AirlineFileGroupInfoMapper.java | 10 ++ .../airline/mapper/AirlineFileMapper.java | 11 ++ .../api/IAirlineFileGroupInfoService.java | 11 +- .../service/api/IAirlineFileService.java | 9 +- .../convert/AirLinePointServiceConvert.java | 98 +++------------ .../convert/AirlineDataServiceConvert.java | 86 +++---------- .../AirlineFileGroupInfoServiceConvert.java | 81 ++++-------- .../AirlineFileGroupServiceConvert.java | 87 ++++--------- .../convert/AirlineFileServiceConvert.java | 115 ++++-------------- .../convert/AirlineTempServiceConvert.java | 55 +++------ .../service/impl/AirlineDataServiceImpl.java | 6 +- .../impl/AirlineFileServiceGroupImpl.java | 14 +-- .../impl/AirlineFileServiceGroupInfoImpl.java | 37 ++++-- .../service/impl/AirlineFileServiceImpl.java | 57 +++++---- .../service/impl/AirlineTempServiceImpl.java | 6 +- .../airline/AirlineFileGroupInfoMapper.xml | 14 ++- .../mapper/airline/AirlineFileGroupMapper.xml | 6 +- .../mapper/airline/AirlineFileMapper.xml | 14 ++- 39 files changed, 572 insertions(+), 1167 deletions(-) diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java index e04509a..571a974 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java @@ -47,7 +47,7 @@ public class AirlineFileController extends BaseController { @PutMapping("/edit") @Operation(summary = "编辑航线文件描述信息") public AjaxResult edit(@RequestBody AirlineFileVO entity) { - AirlineFileDTO dto = AirlineFileControllerConvert.toDTO(entity); + AirlineFileDTO dto = AirlineFileControllerConvert.to(entity); return success(airlineFileService.save(dto)); } @@ -64,7 +64,7 @@ public class AirlineFileController extends BaseController { @PostMapping("/createOrUpdate") @Operation(summary = "编辑航线文件内容,生产航点新文件") public AjaxResult createOrUpdate(@RequestBody AirlineFileVO vo) { - AirlineFileDTO airlineFile = AirlineFileControllerConvert.toDTO(vo); + AirlineFileDTO airlineFile = AirlineFileControllerConvert.to(vo); try { return success(airlineFileService.createOrupdate(airlineFile)); } catch (IOException e) { diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java index 9121580..fce59fd 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java @@ -45,7 +45,7 @@ public class AirlineFileGroupController extends BaseController { public TableDataInfo index(AirlineFileGroupVO airlineFileVO) { startPage(); airlineFileVO.setUserId(SecurityUtils.getUserId()); - AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(airlineFileVO); + AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(airlineFileVO); List list = iAirlineFileGroupService.selectGroupList(dto); List result = AirlineFileGroupControllerConvert.toApiDomainList(list); return getDataTable(result); @@ -70,7 +70,7 @@ public class AirlineFileGroupController extends BaseController { @Operation(summary = "新增分组") public AjaxResult add(@Validated @RequestBody AirlineFileGroupVO group) { group.setUserId(SecurityUtils.getUserId()); - AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group); + AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(group); if (iAirlineFileGroupService.checkGroupNameUnique(dto)) { return error("新增分组'" + group.getGroupName() + "'失败,分组名称已存在"); } @@ -86,7 +86,7 @@ public class AirlineFileGroupController extends BaseController { @Operation(summary = "修改分组") public AjaxResult edit(@Validated @RequestBody AirlineFileGroupVO group) { group.setUserId(SecurityUtils.getUserId()); - AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group); + AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.to(group); if (iAirlineFileGroupService.checkGroupNameUnique(dto)) { return error("修改分组'" + group.getGroupName() + "'失败,分组名称已存在"); } diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java index fef0b60..fafcb8c 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java @@ -78,8 +78,8 @@ public class AirlineFileGroupInfoController extends BaseController { */ @PostMapping("/parseAndUpload/{groupId}") @Operation(summary = " kmz航线文件,并转换成waypoint上传 ,仅仅返航URL") - public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId")Long groupId) throws BaseException { - AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file); + public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, @PathVariable("groupId") Long groupId) throws BaseException { + AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file, groupId); AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO(); infoDTO.setGroupId(groupId); infoDTO.setAirlineFileDTO(dto); @@ -98,7 +98,7 @@ public class AirlineFileGroupInfoController extends BaseController { if (vo.getGroupId() == null) { throw new BaseException("分组ID不能为空"); } - AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo); + AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo); Long result = iAirlineFileGroupInfoService.save(dto); if (result > 0) { return success(result); @@ -119,13 +119,35 @@ public class AirlineFileGroupInfoController extends BaseController { if (vo.getGroupId() == null) { throw new BaseException("分组ID不能为空"); } - AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo); - Long result = iAirlineFileGroupInfoService.deleteGroupInf(dto); + AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo); + Long result = iAirlineFileGroupInfoService.deleteGroupInfo(dto); if (result > 0) { return success(result); } throw new BaseException("删除失败"); } + /*** + * 移动分组详情到新分组 + * @param vo + * @param groupId + * @return + * @throws BaseException + */ + + + @PostMapping("/move/{groupId}") + @Operation(summary = "移动分组详情到新分组") + public AjaxResult move(@RequestBody AirlineFileGroupInfoVO vo, @PathVariable("groupId") Long groupId) throws BaseException { + AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.to(vo); + Long result = iAirlineFileGroupInfoService.moveGroupInfo( + dto, groupId + ); + if (result > 0) { + return success(result); + } + throw new BaseException("移动失败"); + } + } diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirLinePointControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirLinePointControllerConvert.java index 6d23acf..35b36c8 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirLinePointControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirLinePointControllerConvert.java @@ -1,11 +1,11 @@ package com.ruoyi.airline.controller.convert; -import java.util.List; -import java.util.stream.Collectors; - +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.api.domain.AirLinePointVO; import com.ruoyi.airline.service.dto.AirLinePointDTO; +import java.util.List; + /** * 航线航点Controller转换类 * 用于Controller层VO和Service层DTO之间的转换 @@ -13,89 +13,32 @@ import com.ruoyi.airline.service.dto.AirLinePointDTO; * @author ruoyi * @date 2026-01-26 */ -public class AirLinePointControllerConvert { +public class AirLinePointControllerConvert extends BaseConvert +{ - /** - * 将Service DTO转换为Controller VO - * - * @param dto Service DTO - * @return Controller VO - */ - public static AirLinePointVO toVO(AirLinePointDTO dto) { - if (dto == null) { - return null; - } - AirLinePointVO vo = new AirLinePointVO(); - vo.setId(dto.getId()); - vo.setCommand(dto.getCommand()); - vo.setLat(dto.getLat()); - vo.setLon(dto.getLon()); - vo.setAlt(dto.getAlt()); - vo.setLoiterTime(dto.getLoiterTime()); - vo.setCameraPitch(dto.getCameraPitch()); - vo.setCameraRoll(dto.getCameraRoll()); - vo.setCameraYaw(dto.getCameraYaw()); - vo.setSessionControl(dto.getSessionControl()); - vo.setShootCommand(dto.getShootCommand()); - vo.setZoomAbsolute(dto.getZoomAbsolute()); - vo.setRotateDirection(dto.getRotateDirection()); - return vo; + private static final AirLinePointControllerConvert INSTANCE = new AirLinePointControllerConvert(); + + private AirLinePointControllerConvert() { + super(AirLinePointDTO.class, AirLinePointVO.class); } - /** - * 将Controller VO转换为Service DTO - * - * @param vo Controller VO - * @return Service DTO - */ - public static AirLinePointDTO toDTO(AirLinePointVO vo) { - if (vo == null) { - return null; - } - AirLinePointDTO dto = new AirLinePointDTO(); - dto.setId(vo.getId()); - dto.setCommand(vo.getCommand()); - dto.setLat(vo.getLat()); - dto.setLon(vo.getLon()); - dto.setAlt(vo.getAlt()); - dto.setLoiterTime(vo.getLoiterTime()); - dto.setCameraPitch(vo.getCameraPitch()); - dto.setCameraRoll(vo.getCameraRoll()); - dto.setCameraYaw(vo.getCameraYaw()); - dto.setSessionControl(vo.getSessionControl()); - dto.setShootCommand(vo.getShootCommand()); - dto.setZoomAbsolute(vo.getZoomAbsolute()); - dto.setRotateDirection(vo.getRotateDirection()); - return dto; + public static AirLinePointVO from(AirLinePointDTO dto) + { + return INSTANCE.innerFrom(dto); } - /** - * 将Service DTO列表转换为Controller VO列表 - * - * @param dtoList Service DTO列表 - * @return Controller VO列表 - */ - public static List toVOList(List dtoList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirLinePointControllerConvert::toVO) - .collect(Collectors.toList()); + public static AirLinePointDTO to(AirLinePointVO vo) + { + return INSTANCE.innerTo(vo); } - /** - * 将Controller VO列表转换为Service DTO列表 - * - * @param voList Controller VO列表 - * @return Service DTO列表 - */ - public static List toDTOList(List voList) { - if (voList == null || voList.isEmpty()) { - return null; - } - return voList.stream() - .map(AirLinePointControllerConvert::toDTO) - .collect(Collectors.toList()); + public static List fromList(List dtoList) + { + return INSTANCE.innerFromList(dtoList); + } + + public static List toList(List voList) + { + return INSTANCE.innerToList(voList); } } diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirlineDataControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirlineDataControllerConvert.java index 228e516..20a8398 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirlineDataControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirlineDataControllerConvert.java @@ -1,10 +1,10 @@ package com.ruoyi.airline.controller.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.api.domain.AirlineDataVO; import com.ruoyi.airline.service.dto.AirlineDataDTO; import java.util.List; -import java.util.stream.Collectors; /** * 航线数据Controller转换类 @@ -13,83 +13,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineDataControllerConvert +public class AirlineDataControllerConvert extends BaseConvert { - /** - * 将Service DTO转换为Controller VO - * - * @param dto Service DTO - * @return Controller VO - */ - public static AirlineDataVO toVO(AirlineDataDTO dto) - { - if (dto == null) { - return null; - } - AirlineDataVO vo = new AirlineDataVO(); - vo.setId(dto.getId()); - vo.setFlightNumber(dto.getFlightNumber()); - vo.setDepartureCity(dto.getDepartureCity()); - vo.setArrivalCity(dto.getArrivalCity()); - vo.setAirspeed(dto.getAirspeed()); - vo.setVelocity(dto.getVelocity()); - vo.setVspeed(dto.getVspeed()); - vo.setHspeed(dto.getHspeed()); - return vo; + private static final AirlineDataControllerConvert INSTANCE = new AirlineDataControllerConvert(); + + private AirlineDataControllerConvert() { + super(AirlineDataDTO.class, AirlineDataVO.class); } - /** - * 将Controller VO转换为Service DTO - * - * @param vo Controller VO - * @return Service DTO - */ - public static AirlineDataDTO toDTO(AirlineDataVO vo) + public static AirlineDataVO from(AirlineDataDTO dto) { - if (vo == null) { - return null; - } - AirlineDataDTO dto = new AirlineDataDTO(); - dto.setId(vo.getId()); - dto.setFlightNumber(vo.getFlightNumber()); - dto.setDepartureCity(vo.getDepartureCity()); - dto.setArrivalCity(vo.getArrivalCity()); - dto.setAirspeed(vo.getAirspeed()); - dto.setVelocity(vo.getVelocity()); - dto.setVspeed(vo.getVspeed()); - dto.setHspeed(vo.getHspeed()); - return dto; + return INSTANCE.innerFrom(dto); } - /** - * 将Service DTO列表转换为Controller VO列表 - * - * @param dtoList Service DTO列表 - * @return Controller VO列表 - */ - public static List toVOList(List dtoList) + public static AirlineDataDTO to(AirlineDataVO vo) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirlineDataControllerConvert::toVO) - .collect(Collectors.toList()); + return INSTANCE.innerTo(vo); } - /** - * 将Controller VO列表转换为Service DTO列表 - * - * @param voList Controller VO列表 - * @return Service DTO列表 - */ - public static List toDTOList(List voList) + public static List fromList(List dtoList) { - if (voList == null || voList.isEmpty()) { - return null; - } - return voList.stream() - .map(AirlineDataControllerConvert::toDTO) - .collect(Collectors.toList()); + return INSTANCE.innerFromList(dtoList); + } + + public static List toList(List voList) + { + return INSTANCE.innerToList(voList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileControllerConvert.java index 2fb8023..e01511e 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileControllerConvert.java @@ -1,10 +1,10 @@ package com.ruoyi.airline.controller.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.api.domain.AirlineFileVO; import com.ruoyi.airline.service.dto.AirlineFileDTO; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件Controller转换类 @@ -13,80 +13,33 @@ import java.util.stream.Collectors; * @author 拓恒 * @date 2026-01-17 */ -public class AirlineFileControllerConvert { +public class AirlineFileControllerConvert extends BaseConvert +{ - /** - * 将Service DTO转换为Controller VO - * - * @param dto Service DTO - * @return Controller VO - */ - public static AirlineFileVO toVO(AirlineFileDTO dto) { - if (dto == null) { - return null; - } - AirlineFileVO vo = new AirlineFileVO(); - vo.setName(dto.getName()); - vo.setId(dto.getId()); - vo.setFileName(dto.getFileName()); - vo.setFileUrl(dto.getFileUrl()); - vo.setType(dto.getType()); - vo.setLinePointVOList(AirLinePointControllerConvert.toVOList(dto.getLinePointDtoList())); - vo.setStatus(dto.getStatus()); - vo.setDjiRthAltitude(dto.getDjiRthAltitude()); - return vo; + private static final AirlineFileControllerConvert INSTANCE = new AirlineFileControllerConvert(); + + private AirlineFileControllerConvert() { + super(AirlineFileDTO.class, AirlineFileVO.class); } - /** - * 将Controller VO转换为Service DTO - * - * @param vo Controller VO - * @return Service DTO - */ - public static AirlineFileDTO toDTO(AirlineFileVO vo) { - if (vo == null) { - return null; - } - AirlineFileDTO dto = new AirlineFileDTO(); - dto.setId(vo.getId()); - dto.setName(vo.getName()); - dto.setFileName(vo.getFileName()); - dto.setFileUrl(vo.getFileUrl()); - dto.setType(vo.getType()); - dto.setLinePointDtoList(AirLinePointControllerConvert.toDTOList(vo.getLinePointVOList())); - dto.setStatus(vo.getStatus()); - dto.setDjiRthAltitude(vo.getDjiRthAltitude()); - return dto; + public static AirlineFileVO from(AirlineFileDTO dto) + { + return INSTANCE.innerFrom(dto); } - /** - * 将Service DTO列表转换为Controller VO列表 - * - * @param dtoList Service DTO列表 - * @return Controller VO列表 - */ - public static List toVOList(List dtoList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirlineFileControllerConvert::toVO) - .collect(Collectors.toList()); + public static AirlineFileDTO to(AirlineFileVO vo) + { + return INSTANCE.innerTo(vo); } - /** - * 将Controller VO列表转换为Service DTO列表 - * - * @param voList Controller VO列表 - * @return Service DTO列表 - */ - public static List toDTOList(List voList) { - if (voList == null || voList.isEmpty()) { - return null; - } - return voList.stream() - .map(AirlineFileControllerConvert::toDTO) - .collect(Collectors.toList()); + public static List fromList(List dtoList) + { + return INSTANCE.innerFromList(dtoList); + } + + public static List toList(List voList) + { + return INSTANCE.innerToList(voList); } public static List toApiDomainList(List dtoList) { @@ -94,6 +47,6 @@ public class AirlineFileControllerConvert { { return null; } - return dtoList.stream().map(AirlineFileControllerConvert::toVO).collect(Collectors.toList()); + return fromList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupControllerConvert.java index 488bacc..2d164b2 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupControllerConvert.java @@ -1,12 +1,10 @@ package com.ruoyi.airline.controller.convert; import com.ruoyi.airline.api.domain.AirlineFileGroupVO; -import com.ruoyi.airline.api.domain.AirlineFileVO; -import com.ruoyi.airline.service.dto.AirlineFileDTO; import com.ruoyi.airline.service.dto.AirlineFileGroupDTO; +import com.ruoyi.common.core.utils.BaseConvert; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件分组Domain转换类 @@ -15,89 +13,39 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileGroupControllerConvert { +public class AirlineFileGroupControllerConvert extends BaseConvert { - /** - * 将Service DTO转换为Controller VO - * - * @param dto Service DTO - * @return Controller VO - */ - public static AirlineFileGroupVO toVO(AirlineFileGroupDTO dto) { - if (dto == null) { - return null; - } - AirlineFileGroupVO vo = new AirlineFileGroupVO(); - vo.setGroupId(dto.getGroupId()); - vo.setGroupName(dto.getGroupName()); - vo.setUserId(dto.getUserId()); - vo.setCreateBy(dto.getCreateBy()); - vo.setCreateTime(dto.getCreateTime()); - vo.setUpdateBy(dto.getUpdateBy()); - vo.setUpdateTime(dto.getUpdateTime()); - vo.setRemark(dto.getRemark()); + private static final AirlineFileGroupControllerConvert INSTANCE = new AirlineFileGroupControllerConvert(); + + private AirlineFileGroupControllerConvert() { + super(AirlineFileGroupDTO.class, AirlineFileGroupVO.class); + } + + public static AirlineFileGroupVO from(AirlineFileGroupDTO dto) { + AirlineFileGroupVO vo = INSTANCE.innerFrom(dto); + vo.setGroupInfos(AirlineFileControllerConvert.fromList(dto.getGroupInfos())); return vo; } - /** - * 将Controller VO转换为Service DTO - * - * @param vo Controller VO - * @return Service DTO - */ - public static AirlineFileGroupDTO toDTO(AirlineFileGroupVO vo) { - if (vo == null) { - return null; - } - AirlineFileGroupDTO dto = new AirlineFileGroupDTO(); - dto.setGroupId(vo.getGroupId()); - dto.setGroupName(vo.getGroupName()); - dto.setUserId(vo.getUserId()); - dto.setCreateBy(vo.getCreateBy()); - dto.setCreateTime(vo.getCreateTime()); - dto.setUpdateBy(vo.getUpdateBy()); - dto.setUpdateTime(vo.getUpdateTime()); - dto.setRemark(vo.getRemark()); + public static AirlineFileGroupDTO to(AirlineFileGroupVO vo) { + AirlineFileGroupDTO dto = INSTANCE.innerTo(vo); + dto.setGroupInfos(AirlineFileControllerConvert.toList(vo.getGroupInfos())); return dto; } - /** - * 将Service DTO列表转换为Controller VO列表 - * - * @param dtoList Service DTO列表 - * @return Controller VO列表 - */ - public static List toVOList(List dtoList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirlineFileGroupControllerConvert::toVO) - .collect(Collectors.toList()); + public static List fromList(List dtoList) { + return INSTANCE.innerFromList(dtoList); } - /** - * 将Controller VO列表转换为Service DTO列表 - * - * @param voList Controller VO列表 - * @return Service DTO列表 - */ - public static List toDTOList(List voList) { - if (voList == null || voList.isEmpty()) { - return null; - } - return voList.stream() - .map(AirlineFileGroupControllerConvert::toDTO) - .collect(Collectors.toList()); + public static List toList(List voList) { + return INSTANCE.innerToList(voList); } - - public static List toApiDomainList(List dtoList) { - if (dtoList == null) - { + public static List toApiDomainList(List dtoList) { + if (dtoList == null) { return null; } - return dtoList.stream().map(AirlineFileGroupControllerConvert::toVO).collect(Collectors.toList()); + return fromList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupInfoControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupInfoControllerConvert.java index 79f08da..ac4f090 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupInfoControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirlineFileGroupInfoControllerConvert.java @@ -1,6 +1,7 @@ package com.ruoyi.airline.controller.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.api.domain.AirlineFileGroupInfoVO; import com.ruoyi.airline.api.domain.AirlineFileGroupVO; import com.ruoyi.airline.service.convert.AirlineFileServiceConvert; @@ -8,7 +9,6 @@ import com.ruoyi.airline.service.dto.AirlineFileGroupDTO; import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件Domain转换类 @@ -17,91 +17,44 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileGroupInfoControllerConvert { +public class AirlineFileGroupInfoControllerConvert extends BaseConvert +{ - /** - * 将Service DTO转换为Controller VO - * - * @param dto Service DTO - * @return Controller VO - */ - public static AirlineFileGroupInfoVO toVO(AirlineFileGroupInfoDTO dto) { - if (dto == null) { - return null; - } - AirlineFileGroupInfoVO vo = new AirlineFileGroupInfoVO(); - vo.setId(dto.getId()); - vo.setAirlineId(dto.getAirlineId()); - vo.setGroupId(dto.getGroupId()); - vo.setAirlineFileVO(AirlineFileControllerConvert.toVO(dto.getAirlineFileDTO())); - vo.setCreateBy(dto.getCreateBy()); - vo.setCreateTime(dto.getCreateTime()); + private static final AirlineFileGroupInfoControllerConvert INSTANCE = new AirlineFileGroupInfoControllerConvert(); - vo.setUpdateBy(dto.getUpdateBy()); - vo.setUpdateTime(dto.getUpdateTime()); - vo.setRemark(dto.getRemark()); - return vo; + private AirlineFileGroupInfoControllerConvert() { + super(AirlineFileGroupInfoDTO.class, AirlineFileGroupInfoVO.class); } - /** - * 将Controller VO转换为Service DTO - * - * @param vo Controller VO - * @return Service DTO - */ - public static AirlineFileGroupInfoDTO toDTO(AirlineFileGroupInfoVO vo) { - if (vo == null) { - return null; - } - AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO(); - dto.setId(vo.getId()); - dto.setGroupId(vo.getGroupId()); - dto.setAirlineId(vo.getAirlineId()); - dto.setCreateBy(vo.getCreateBy()); - dto.setCreateTime(vo.getCreateTime()); - dto.setUpdateBy(vo.getUpdateBy()); - dto.setUpdateTime(vo.getUpdateTime()); - dto.setRemark(vo.getRemark()); - dto.setAirlineFileDTO(AirlineFileControllerConvert.toDTO(vo.getAirlineFileVO())); + public static AirlineFileGroupInfoVO from(AirlineFileGroupInfoDTO dto) + { + AirlineFileGroupInfoVO vo = INSTANCE.innerFrom(dto); + vo.setAirlineFileVO(AirlineFileControllerConvert.from(dto.getAirlineFileDTO())); + return vo; + } + + public static AirlineFileGroupInfoDTO to(AirlineFileGroupInfoVO vo) + { + AirlineFileGroupInfoDTO dto = INSTANCE.innerTo(vo); + dto.setAirlineFileDTO(AirlineFileControllerConvert.to(vo.getAirlineFileVO())); return dto; } - /** - * 将Service DTO列表转换为Controller VO列表 - * - * @param dtoList Service DTO列表 - * @return Controller VO列表 - */ - public static List toVOList(List dtoList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirlineFileGroupInfoControllerConvert::toVO) - .collect(Collectors.toList()); + public static List fromList(List dtoList) + { + return INSTANCE.innerFromList(dtoList); } - /** - * 将Controller VO列表转换为Service DTO列表 - * - * @param voList Controller VO列表 - * @return Service DTO列表 - */ - public static List toDTOList(List voList) { - if (voList == null || voList.isEmpty()) { - return null; - } - return voList.stream() - .map(AirlineFileGroupInfoControllerConvert::toDTO) - .collect(Collectors.toList()); + public static List toList(List voList) + { + return INSTANCE.innerToList(voList); } - public static List toApiDomainList(List dtoList) { if (dtoList == null) { return null; } - return dtoList.stream().map(AirlineFileGroupInfoControllerConvert::toVO).collect(Collectors.toList()); + return fromList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/controller/convert/AirlineTempControllerConvert.java b/src/main/java/com/ruoyi/airline/controller/convert/AirlineTempControllerConvert.java index 3ceace3..1017860 100644 --- a/src/main/java/com/ruoyi/airline/controller/convert/AirlineTempControllerConvert.java +++ b/src/main/java/com/ruoyi/airline/controller/convert/AirlineTempControllerConvert.java @@ -1,11 +1,10 @@ package com.ruoyi.airline.controller.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.api.domain.AirlineTempVO; import com.ruoyi.airline.service.dto.AirlineTempDTO; -import org.springframework.beans.BeanUtils; import java.util.List; -import java.util.stream.Collectors; /** * 航线临时表Controller层转换器 @@ -14,45 +13,40 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineTempControllerConvert +public class AirlineTempControllerConvert extends BaseConvert { - /** - * DTO 转 API Domain - */ - public static AirlineTempVO toVO(AirlineTempDTO dto) - { - if (dto == null) - { - return null; - } - AirlineTempVO apiDomain = new AirlineTempVO(); - BeanUtils.copyProperties(dto, apiDomain); - return apiDomain; + private static final AirlineTempControllerConvert INSTANCE = new AirlineTempControllerConvert(); + + private AirlineTempControllerConvert() { + super(AirlineTempDTO.class, AirlineTempVO.class); } - /** - * API Domain 转 DTO - */ - public static AirlineTempDTO toDTO(AirlineTempVO apiDomain) + public static AirlineTempVO from(AirlineTempDTO dto) { - if (apiDomain == null) - { - return null; - } - AirlineTempDTO dto = new AirlineTempDTO(); - BeanUtils.copyProperties(apiDomain, dto); - return dto; + return INSTANCE.innerFrom(dto); + } + + public static AirlineTempDTO to(AirlineTempVO vo) + { + return INSTANCE.innerTo(vo); + } + + public static List fromList(List dtoList) + { + return INSTANCE.innerFromList(dtoList); + } + + public static List toList(List voList) + { + return INSTANCE.innerToList(voList); } - /** - * DTO List 转 API Domain List - */ public static List toApiDomainList(List dtoList) { if (dtoList == null) { return null; } - return dtoList.stream().map(AirlineTempControllerConvert::toVO).collect(Collectors.toList()); + return fromList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileDomain.java b/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileDomain.java index 00137e4..8232741 100644 --- a/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileDomain.java +++ b/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileDomain.java @@ -19,4 +19,8 @@ public interface IAirlineFileDomain { Long save(AirlineFile model); List selectFileNameLike(String name); + + List selectFileNameLikeByGroupId(String name, Long groupId); + + Long update(AirlineFile model); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java b/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java index ec72c96..77b4ce8 100644 --- a/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java +++ b/src/main/java/com/ruoyi/airline/domain/api/IAirlineFileGroupInfoDomain.java @@ -31,4 +31,14 @@ public interface IAirlineFileGroupInfoDomain { * @return 是否存在 */ boolean existsByGroupIdAndAirlineId(Long groupId, Long airlineId); + + /** + * 移动分组详情到新分组 + * + * @param oldGroupId 原分组ID + * @param newGroupId 新分组ID + * @param airlineId 航线文件ID + * @return 结果 + */ + Long moveGroupInfo(Long oldGroupId, Long newGroupId, Long airlineId); } diff --git a/src/main/java/com/ruoyi/airline/domain/convert/AirlineDataDomainConvert.java b/src/main/java/com/ruoyi/airline/domain/convert/AirlineDataDomainConvert.java index 9cd2476..5c0a5e0 100644 --- a/src/main/java/com/ruoyi/airline/domain/convert/AirlineDataDomainConvert.java +++ b/src/main/java/com/ruoyi/airline/domain/convert/AirlineDataDomainConvert.java @@ -1,10 +1,10 @@ package com.ruoyi.airline.domain.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineData; import com.ruoyi.airline.mapper.entity.AirlineDataEntity; import java.util.List; -import java.util.stream.Collectors; /** * 航线数据Domain转换类 @@ -13,69 +13,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineDataDomainConvert +public class AirlineDataDomainConvert extends BaseConvert { - /** - * 将Domain模型转换为Mapper实体 - * - * @param model Domain模型 - * @return Mapper实体 - */ - public static AirlineDataEntity toEntity(AirlineData model) - { - if (model == null) { - return null; - } - AirlineDataEntity entity = new AirlineDataEntity(); + private static final AirlineDataDomainConvert INSTANCE = new AirlineDataDomainConvert(); - return entity; + private AirlineDataDomainConvert() { + super(AirlineDataEntity.class, AirlineData.class); } - /** - * 将Mapper实体转换为Domain模型 - * - * @param entity Mapper实体 - * @return Domain模型 - */ - public static AirlineData toModel(AirlineDataEntity entity) + public static AirlineData from(AirlineDataEntity entity) { - if (entity == null) { - return null; - } - AirlineData model = new AirlineData(); - - return model; + return INSTANCE.innerFrom(entity); } - /** - * 将Mapper实体列表转换为Domain模型列表 - * - * @param entityList Mapper实体列表 - * @return Domain模型列表 - */ - public static List toModelList(List entityList) + public static AirlineDataEntity to(AirlineData model) { - if (entityList == null || entityList.isEmpty()) { - return null; - } - return entityList.stream() - .map(AirlineDataDomainConvert::toModel) - .collect(Collectors.toList()); + return INSTANCE.innerTo(model); } - /** - * 将Domain模型列表转换为Mapper实体列表 - * - * @param modelList Domain模型列表 - * @return Mapper实体列表 - */ - public static List toEntityList(List modelList) + public static List fromList(List entityList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineDataDomainConvert::toEntity) - .collect(Collectors.toList()); + return INSTANCE.innerFromList(entityList); + } + + public static List toList(List modelList) + { + return INSTANCE.innerToList(modelList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileDomainConvert.java b/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileDomainConvert.java index 4a10397..5cb2522 100644 --- a/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileDomainConvert.java +++ b/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileDomainConvert.java @@ -1,10 +1,10 @@ package com.ruoyi.airline.domain.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineFile; import com.ruoyi.airline.mapper.entity.AirlineFileEntity; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件Domain转换类 @@ -13,87 +13,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileDomainConvert { +public class AirlineFileDomainConvert extends BaseConvert +{ + private static final AirlineFileDomainConvert INSTANCE = new AirlineFileDomainConvert(); - /** - * 将Domain模型转换为Mapper实体 - * - * @param model Domain模型 - * @return Mapper实体 - */ - public static AirlineFileEntity toEntity(AirlineFile model) { - if (model == null) { - return null; - } - AirlineFileEntity entity = new AirlineFileEntity(); - entity.setId(model.getId()); - entity.setName(model.getName()); - entity.setFileName(model.getFileName()); - entity.setFileUrl(model.getFileUrl()); - entity.setType(model.getType()); - entity.setSource(model.getSource()); - entity.setStatus(model.getStatus()); - entity.setFileMd5(model.getFileMd5()); - entity.setCreateBy(model.getCreateBy()); - entity.setUpdateBy(model.getUpdateBy()); - entity.setRemark(model.getRemark()); - return entity; + private AirlineFileDomainConvert() { + super(AirlineFileEntity.class, AirlineFile.class); } - /** - * 将Mapper实体转换为Domain模型 - * - * @param entity Mapper实体 - * @return Domain模型 - */ - public static AirlineFile toModel(AirlineFileEntity entity) { - if (entity == null) { - return null; - } - AirlineFile model = new AirlineFile(); - model.setId(entity.getId()); - model.setName(entity.getName()); - model.setFileName(entity.getFileName()); - model.setFileUrl(entity.getFileUrl()); - model.setType(entity.getType()); - model.setSource(entity.getSource()); - model.setStatus(entity.getStatus()); - model.setFileMd5(entity.getFileMd5()); - model.setCreateBy(entity.getCreateBy()); - model.setCreateTime(entity.getCreateTime() != null ? entity.getCreateTime().toString() : null); - model.setUpdateBy(entity.getUpdateBy()); - model.setUpdateTime(entity.getUpdateTime() != null ? entity.getUpdateTime().toString() : null); - model.setRemark(entity.getRemark()); - return model; + public static AirlineFile from(AirlineFileEntity entity) + { + return INSTANCE.innerFrom(entity); } - /** - * 将Mapper实体列表转换为Domain模型列表 - * - * @param entityList Mapper实体列表 - * @return Domain模型列表 - */ - public static List toModelList(List entityList) { - if (entityList == null || entityList.isEmpty()) { - return null; - } - return entityList.stream() - .map(AirlineFileDomainConvert::toModel) - .collect(Collectors.toList()); + public static AirlineFileEntity to(AirlineFile model) + { + return INSTANCE.innerTo(model); } - /** - * 将Domain模型列表转换为Mapper实体列表 - * - * @param modelList Domain模型列表 - * @return Mapper实体列表 - */ - public static List toEntityList(List modelList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineFileDomainConvert::toEntity) - .collect(Collectors.toList()); + public static List fromList(List entityList) + { + return INSTANCE.innerFromList(entityList); + } + + public static List toList(List modelList) + { + return INSTANCE.innerToList(modelList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupDomainConvert.java b/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupDomainConvert.java index 892cfcc..98d1f37 100644 --- a/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupDomainConvert.java +++ b/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupDomainConvert.java @@ -1,11 +1,11 @@ package com.ruoyi.airline.domain.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineFileGroup; import com.ruoyi.airline.mapper.entity.AirlineFileGroupEntity; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件分组Domain转换类 @@ -14,77 +14,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileGroupDomainConvert { +public class AirlineFileGroupDomainConvert extends BaseConvert +{ + private static final AirlineFileGroupDomainConvert INSTANCE = new AirlineFileGroupDomainConvert(); - /** - * 将Domain模型转换为Mapper实体 - * - * @param model Domain模型 - * @return Mapper实体 - */ - public static AirlineFileGroupEntity toEntity(AirlineFileGroup model) { - if (model == null) { - return null; - } - AirlineFileGroupEntity entity = new AirlineFileGroupEntity(); - entity.setGroupId(model.getGroupId()); - entity.setGroupName(model.getGroupName()); - entity.setUserId(model.getUserId()); - entity.setCreateBy(model.getCreateBy()); - entity.setUpdateBy(model.getUpdateBy()); - entity.setRemark(model.getRemark()); - return entity; + private AirlineFileGroupDomainConvert() { + super(AirlineFileGroupEntity.class, AirlineFileGroup.class); } - /** - * 将Mapper实体转换为Domain模型 - * - * @param entity Mapper实体 - * @return Domain模型 - */ - public static AirlineFileGroup toModel(AirlineFileGroupEntity entity) { - if (entity == null) { - return null; - } - AirlineFileGroup model = new AirlineFileGroup(); - model.setGroupId(entity.getGroupId()); - model.setGroupName(entity.getGroupName()); - model.setUserId(entity.getUserId()); - model.setCreateBy(entity.getCreateBy()); - model.setCreateTime(entity.getCreateTime() != null ? entity.getCreateTime(): null); - model.setUpdateBy(entity.getUpdateBy()); - model.setUpdateTime(entity.getUpdateTime() != null ? entity.getUpdateTime(): null); - model.setRemark(entity.getRemark()); - return model; + public static AirlineFileGroup from(AirlineFileGroupEntity entity) + { + return INSTANCE.innerFrom(entity); } - /** - * 将Mapper实体列表转换为Domain模型列表 - * - * @param entityList Mapper实体列表 - * @return Domain模型列表 - */ - public static List toModelList(List entityList) { - if (entityList == null || entityList.isEmpty()) { - return null; - } - return entityList.stream() - .map(AirlineFileGroupDomainConvert::toModel) - .collect(Collectors.toList()); + public static AirlineFileGroupEntity to(AirlineFileGroup model) + { + return INSTANCE.innerTo(model); } - /** - * 将Domain模型列表转换为Mapper实体列表 - * - * @param modelList Domain模型列表 - * @return Mapper实体列表 - */ - public static List toEntityList(List modelList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineFileGroupDomainConvert::toEntity) - .collect(Collectors.toList()); + public static List fromList(List entityList) + { + return INSTANCE.innerFromList(entityList); + } + + public static List toList(List modelList) + { + return INSTANCE.innerToList(modelList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupInfoDomainConvert.java b/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupInfoDomainConvert.java index 8c0c223..25a101a 100644 --- a/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupInfoDomainConvert.java +++ b/src/main/java/com/ruoyi/airline/domain/convert/AirlineFileGroupInfoDomainConvert.java @@ -1,11 +1,11 @@ package com.ruoyi.airline.domain.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineFileGroupInfo; import com.ruoyi.airline.mapper.entity.AirlineFileGroupInfoEntity; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件Domain转换类 @@ -14,69 +14,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileGroupInfoDomainConvert { +public class AirlineFileGroupInfoDomainConvert extends BaseConvert +{ + private static final AirlineFileGroupInfoDomainConvert INSTANCE = new AirlineFileGroupInfoDomainConvert(); - /** - * 将Domain模型转换为Mapper实体 - * - * @param model Domain模型 - * @return Mapper实体 - */ - public static AirlineFileGroupInfoEntity toEntity(AirlineFileGroupInfo model) { - if (model == null) { - return null; - } - AirlineFileGroupInfoEntity entity = new AirlineFileGroupInfoEntity(); - entity.setId(model.getId()); - entity.setGroupId(model.getGroupId()); - entity.setAirlineId(model.getAirlineId()); - return entity; + private AirlineFileGroupInfoDomainConvert() { + super(AirlineFileGroupInfoEntity.class, AirlineFileGroupInfo.class); } - /** - * 将Mapper实体转换为Domain模型 - * - * @param entity Mapper实体 - * @return Domain模型 - */ - public static AirlineFileGroupInfo toModel(AirlineFileGroupInfoEntity entity) { - if (entity == null) { - return null; - } - AirlineFileGroupInfo model = new AirlineFileGroupInfo(); - model.setId(entity.getId()); - model.setGroupId(entity.getGroupId()); - model.setAirlineId(entity.getAirlineId()); - return model; + public static AirlineFileGroupInfo from(AirlineFileGroupInfoEntity entity) + { + return INSTANCE.innerFrom(entity); } - /** - * 将Mapper实体列表转换为Domain模型列表 - * - * @param entityList Mapper实体列表 - * @return Domain模型列表 - */ - public static List toModelList(List entityList) { - if (entityList == null || entityList.isEmpty()) { - return null; - } - return entityList.stream() - .map(AirlineFileGroupInfoDomainConvert::toModel) - .collect(Collectors.toList()); + public static AirlineFileGroupInfoEntity to(AirlineFileGroupInfo model) + { + return INSTANCE.innerTo(model); } - /** - * 将Domain模型列表转换为Mapper实体列表 - * - * @param modelList Domain模型列表 - * @return Mapper实体列表 - */ - public static List toEntityList(List modelList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineFileGroupInfoDomainConvert::toEntity) - .collect(Collectors.toList()); + public static List fromList(List entityList) + { + return INSTANCE.innerFromList(entityList); + } + + public static List toList(List modelList) + { + return INSTANCE.innerToList(modelList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/convert/AirlineTempDomainConvert.java b/src/main/java/com/ruoyi/airline/domain/convert/AirlineTempDomainConvert.java index 1fb93ad..a0f6a7e 100644 --- a/src/main/java/com/ruoyi/airline/domain/convert/AirlineTempDomainConvert.java +++ b/src/main/java/com/ruoyi/airline/domain/convert/AirlineTempDomainConvert.java @@ -1,11 +1,10 @@ package com.ruoyi.airline.domain.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineTemp; import com.ruoyi.airline.mapper.entity.AirlineTempEntity; -import org.springframework.beans.BeanUtils; import java.util.List; -import java.util.stream.Collectors; /** * 航线临时表Domain层转换器 @@ -14,45 +13,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineTempDomainConvert +public class AirlineTempDomainConvert extends BaseConvert { - /** - * Entity 转 Model - */ - public static AirlineTemp toModel(AirlineTempEntity entity) - { - if (entity == null) - { - return null; - } - AirlineTemp model = new AirlineTemp(); - BeanUtils.copyProperties(entity, model); - return model; + private static final AirlineTempDomainConvert INSTANCE = new AirlineTempDomainConvert(); + + private AirlineTempDomainConvert() { + super(AirlineTempEntity.class, AirlineTemp.class); } - /** - * Model 转 Entity - */ - public static AirlineTempEntity toEntity(AirlineTemp model) + public static AirlineTemp from(AirlineTempEntity entity) { - if (model == null) - { - return null; - } - AirlineTempEntity entity = new AirlineTempEntity(); - BeanUtils.copyProperties(model, entity); - return entity; + return INSTANCE.innerFrom(entity); } - /** - * Entity List 转 Model List - */ - public static List toModelList(List entityList) + public static AirlineTempEntity to(AirlineTemp model) { - if (entityList == null) - { - return null; - } - return entityList.stream().map(AirlineTempDomainConvert::toModel).collect(Collectors.toList()); + return INSTANCE.innerTo(model); + } + + public static List fromList(List entityList) + { + return INSTANCE.innerFromList(entityList); + } + + public static List toList(List modelList) + { + return INSTANCE.innerToList(modelList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/impl/AirlineDataDomainImpl.java b/src/main/java/com/ruoyi/airline/domain/impl/AirlineDataDomainImpl.java index bf9e364..388a334 100644 --- a/src/main/java/com/ruoyi/airline/domain/impl/AirlineDataDomainImpl.java +++ b/src/main/java/com/ruoyi/airline/domain/impl/AirlineDataDomainImpl.java @@ -31,9 +31,9 @@ public class AirlineDataDomainImpl implements IAirlineDataDomain @Override public List selectAirlineDataList(AirlineData airlineData) { - AirlineDataEntity entity = AirlineDataDomainConvert.toEntity(airlineData); + AirlineDataEntity entity = AirlineDataDomainConvert.to(airlineData); List entityList = airlineDataMapper.selectAirlineDataList(entity); - return AirlineDataDomainConvert.toModelList(entityList); + return AirlineDataDomainConvert.fromList(entityList); } /** @@ -46,7 +46,7 @@ public class AirlineDataDomainImpl implements IAirlineDataDomain public AirlineData selectAirlineDataById(Long id) { AirlineDataEntity entity = airlineDataMapper.selectAirlineDataById(id); - return AirlineDataDomainConvert.toModel(entity); + return AirlineDataDomainConvert.from(entity); } diff --git a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileDomainImpl.java b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileDomainImpl.java index 02f1d8e..ac96a12 100644 --- a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileDomainImpl.java +++ b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileDomainImpl.java @@ -24,18 +24,31 @@ public class AirlineFileDomainImpl implements IAirlineFileDomain { @Override public List selectFileListByIds(List ids) { - return AirlineFileDomainConvert.toModelList(airlineFileMapper.selectFileListByIds(ids)); + return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileListByIds(ids)); } @Override public Long save(AirlineFile model) { - AirlineFileEntity entity = AirlineFileDomainConvert.toEntity(model); + AirlineFileEntity entity = AirlineFileDomainConvert.to(model); airlineFileMapper.save(entity); return entity.getId(); } @Override public List selectFileNameLike(String name) { - return AirlineFileDomainConvert.toModelList(airlineFileMapper.selectFileNameLike(name)); + return AirlineFileDomainConvert.fromList(airlineFileMapper.selectFileNameLike(name)); + } + + @Override + public List 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); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupDomainImpl.java b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupDomainImpl.java index 4929099..a934dd7 100644 --- a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupDomainImpl.java +++ b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupDomainImpl.java @@ -24,31 +24,31 @@ public class AirlineFileGroupDomainImpl implements IAirlineFileGroupDomain { @Override public int deletegroup(AirlineFileGroup model) { model.setDelFlag(1L); - AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); + AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model); return airlineFileGroupMapper.deletegroup(entity); } @Override public boolean checkgroupNameUnique(AirlineFileGroup model) { - AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); + AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model); return airlineFileGroupMapper.checkgroupNameUnique(entity) > 0; } @Override public int updateGroup(AirlineFileGroup model) { - AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); + AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model); return airlineFileGroupMapper.updateGroup(entity); } @Override public int insertGroup(AirlineFileGroup model) { - AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); + AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model); return airlineFileGroupMapper.insertGroup(entity); } @Override public List selectGroupList(AirlineFileGroup model) { - AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.toEntity(model); - return AirlineFileGroupDomainConvert.toModelList(airlineFileGroupMapper.selectGroupList(entity)); + AirlineFileGroupEntity entity = AirlineFileGroupDomainConvert.to(model); + return AirlineFileGroupDomainConvert.fromList(airlineFileGroupMapper.selectGroupList(entity)); } } diff --git a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java index b6d4400..9a5b70a 100644 --- a/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java +++ b/src/main/java/com/ruoyi/airline/domain/impl/AirlineFileGroupInfoDomainImpl.java @@ -26,21 +26,21 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma public List selectGroupInfoListById(Long groupId) { AirlineFileGroupInfo dto = new AirlineFileGroupInfo(); dto.setGroupId(groupId); - AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(dto); + AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(dto); List entities = airlineFileGroupInfoMapper.selectGroupList(Entity); - return AirlineFileGroupInfoDomainConvert.toModelList(entities); + return AirlineFileGroupInfoDomainConvert.fromList(entities); } @Override public Long deleteGroupInfo(AirlineFileGroupInfo model) { model.setDelFlag(1L); - AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model); + AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model); return airlineFileGroupInfoMapper.deleteGroupInfo(Entity); } @Override public Long save(AirlineFileGroupInfo model) { - AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.toEntity(model); + AirlineFileGroupInfoEntity Entity = AirlineFileGroupInfoDomainConvert.to(model); return airlineFileGroupInfoMapper.save(Entity); } @@ -49,8 +49,13 @@ public class AirlineFileGroupInfoDomainImpl implements IAirlineFileGroupInfoDoma AirlineFileGroupInfo model = new AirlineFileGroupInfo(); model.setGroupId(groupId); model.setAirlineId(airlineId); - AirlineFileGroupInfoEntity entity = AirlineFileGroupInfoDomainConvert.toEntity(model); + AirlineFileGroupInfoEntity entity = AirlineFileGroupInfoDomainConvert.to(model); int count = airlineFileGroupInfoMapper.countByGroupIdAndAirlineId(entity); return count > 0; } + + @Override + public Long moveGroupInfo(Long oldGroupId, Long newGroupId, Long airlineId) { + return airlineFileGroupInfoMapper.updateGroupId(oldGroupId, newGroupId, airlineId); + } } diff --git a/src/main/java/com/ruoyi/airline/domain/impl/AirlineTempDomainImpl.java b/src/main/java/com/ruoyi/airline/domain/impl/AirlineTempDomainImpl.java index 173b39f..ac48962 100644 --- a/src/main/java/com/ruoyi/airline/domain/impl/AirlineTempDomainImpl.java +++ b/src/main/java/com/ruoyi/airline/domain/impl/AirlineTempDomainImpl.java @@ -25,15 +25,15 @@ public class AirlineTempDomainImpl implements IAirlineTempDomain @Override public List selectAirlineTempList(AirlineTemp airlineTempModel) { - AirlineTempEntity entity = AirlineTempDomainConvert.toEntity(airlineTempModel); + AirlineTempEntity entity = AirlineTempDomainConvert.to(airlineTempModel); List entityList = airlineTempMapper.selectAirlineTempList(entity); - return AirlineTempDomainConvert.toModelList(entityList); + return AirlineTempDomainConvert.fromList(entityList); } @Override public AirlineTemp selectAirlineTempById(String id) { AirlineTempEntity entity = airlineTempMapper.selectAirlineTempById(id); - return AirlineTempDomainConvert.toModel(entity); + return AirlineTempDomainConvert.from(entity); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java b/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java index 3a85d5d..b2c1056 100644 --- a/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java +++ b/src/main/java/com/ruoyi/airline/mapper/AirlineFileGroupInfoMapper.java @@ -26,4 +26,14 @@ public interface AirlineFileGroupInfoMapper { * @return 存在的记录数 */ int countByGroupIdAndAirlineId(AirlineFileGroupInfoEntity entity); + + /** + * 更新分组ID,将航线文件从一个分组移动到另一个分组 + * + * @param oldGroupId 原分组ID + * @param newGroupId 新分组ID + * @param airlineId 航线文件ID + * @return 影响的行数 + */ + Long updateGroupId(Long oldGroupId, Long newGroupId, Long airlineId); } diff --git a/src/main/java/com/ruoyi/airline/mapper/AirlineFileMapper.java b/src/main/java/com/ruoyi/airline/mapper/AirlineFileMapper.java index 58c660a..781d5cc 100644 --- a/src/main/java/com/ruoyi/airline/mapper/AirlineFileMapper.java +++ b/src/main/java/com/ruoyi/airline/mapper/AirlineFileMapper.java @@ -18,4 +18,15 @@ public interface AirlineFileMapper { List selectFileListByIds(List ids); List selectFileNameLike(String name); + + /** + * 根据分组ID和航线名称模糊查询航线文件 + * + * @param groupId 分组ID + * @param name 航线名称 + * @return 航线文件列表 + */ + List selectFileNameLikeByGroupId(Long groupId, String name); + + Long update(AirlineFileEntity entity); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java b/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java index c25cd74..f4ccd05 100644 --- a/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java +++ b/src/main/java/com/ruoyi/airline/service/api/IAirlineFileGroupInfoService.java @@ -16,5 +16,14 @@ public interface IAirlineFileGroupInfoService { Long save(AirlineFileGroupInfoDTO dto) throws BaseException; - Long deleteGroupInf(AirlineFileGroupInfoDTO dto) throws BaseException ; + Long deleteGroupInfo(AirlineFileGroupInfoDTO dto) throws BaseException; + + /** + * * 移动分组详情到新分组 + * @param dto + * @param groupId + * @return + * @throws BaseException + */ + Long moveGroupInfo(AirlineFileGroupInfoDTO dto, Long groupId) throws BaseException; } diff --git a/src/main/java/com/ruoyi/airline/service/api/IAirlineFileService.java b/src/main/java/com/ruoyi/airline/service/api/IAirlineFileService.java index 6b24f8c..cc2dee4 100644 --- a/src/main/java/com/ruoyi/airline/service/api/IAirlineFileService.java +++ b/src/main/java/com/ruoyi/airline/service/api/IAirlineFileService.java @@ -1,6 +1,5 @@ package com.ruoyi.airline.service.api; -import com.ruoyi.airline.domain.model.AirlineFile; import com.ruoyi.airline.service.dto.AirlineFileDTO; import org.springframework.web.multipart.MultipartFile; @@ -17,9 +16,13 @@ public interface IAirlineFileService { AirlineFileDTO save(AirlineFileDTO dto); - AirlineFileDTO parseAndUplload(MultipartFile file); + AirlineFileDTO parseAndUplload(MultipartFile file, Long groupId); AirlineFileDTO createOrupdate(AirlineFileDTO airlineFile) throws IOException; - AirlineFile selectById(Long airlineId); + AirlineFileDTO selectById(Long airlineId); + + String getNewFileNameLikeByGroupId(String name, Long groupId); + + Long update(AirlineFileDTO airlineFile); } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/convert/AirLinePointServiceConvert.java b/src/main/java/com/ruoyi/airline/service/convert/AirLinePointServiceConvert.java index ca2826e..6a910de 100644 --- a/src/main/java/com/ruoyi/airline/service/convert/AirLinePointServiceConvert.java +++ b/src/main/java/com/ruoyi/airline/service/convert/AirLinePointServiceConvert.java @@ -1,10 +1,10 @@ package com.ruoyi.airline.service.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.service.dto.AirLinePointDTO; import com.ruoyi.airline.domain.model.AirLinePoint; import java.util.List; -import java.util.stream.Collectors; /** * 航线航点Service转换类 @@ -13,89 +13,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-26 */ -public class AirLinePointServiceConvert { +public class AirLinePointServiceConvert extends BaseConvert +{ + private static final AirLinePointServiceConvert INSTANCE = new AirLinePointServiceConvert(); - /** - * 将Service DTO转换为Domain模型 - * - * @param dto Service DTO - * @return Domain模型 - */ - public static AirLinePoint toModel(AirLinePointDTO dto) { - if (dto == null) { - return null; - } - AirLinePoint model = new AirLinePoint(); - model.setId(dto.getId()); - model.setCommand(dto.getCommand()); - model.setLat(dto.getLat()); - model.setLon(dto.getLon()); - model.setAlt(dto.getAlt()); - model.setLoiterTime(dto.getLoiterTime()); - model.setCameraPitch(dto.getCameraPitch()); - model.setCameraRoll(dto.getCameraRoll()); - model.setCameraYaw(dto.getCameraYaw()); - model.setSessionControl(dto.getSessionControl()); - model.setShootCommand(dto.getShootCommand()); - model.setZoomAbsolute(dto.getZoomAbsolute()); - model.setRotateDirection(dto.getRotateDirection()); - return model; + private AirLinePointServiceConvert() { + super(AirLinePoint.class, AirLinePointDTO.class); } - /** - * 将Domain模型转换为Service DTO - * - * @param model Domain模型 - * @return Service DTO - */ - public static AirLinePointDTO toDTO(AirLinePoint model) { - if (model == null) { - return null; - } - AirLinePointDTO dto = new AirLinePointDTO(); - dto.setId(model.getId()); - dto.setCommand(model.getCommand()); - dto.setLat(model.getLat()); - dto.setLon(model.getLon()); - dto.setAlt(model.getAlt()); - dto.setLoiterTime(model.getLoiterTime()); - dto.setCameraPitch(model.getCameraPitch()); - dto.setCameraRoll(model.getCameraRoll()); - dto.setCameraYaw(model.getCameraYaw()); - dto.setSessionControl(model.getSessionControl()); - dto.setShootCommand(model.getShootCommand()); - dto.setZoomAbsolute(model.getZoomAbsolute()); - dto.setRotateDirection(model.getRotateDirection()); - return dto; + public static AirLinePointDTO from(AirLinePoint model) + { + return INSTANCE.innerFrom(model); } - /** - * 将Domain模型列表转换为Service DTO列表 - * - * @param modelList Domain模型列表 - * @return Service DTO列表 - */ - public static List toDTOList(List modelList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirLinePointServiceConvert::toDTO) - .collect(Collectors.toList()); + public static AirLinePoint to(AirLinePointDTO dto) + { + return INSTANCE.innerTo(dto); } - /** - * 将Service DTO列表转换为Domain模型列表 - * - * @param dtoList Service DTO列表 - * @return Domain模型列表 - */ - public static List toModelList(List dtoList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirLinePointServiceConvert::toModel) - .collect(Collectors.toList()); + public static List fromList(List modelList) + { + return INSTANCE.innerFromList(modelList); + } + + public static List toList(List dtoList) + { + return INSTANCE.innerToList(dtoList); } } diff --git a/src/main/java/com/ruoyi/airline/service/convert/AirlineDataServiceConvert.java b/src/main/java/com/ruoyi/airline/service/convert/AirlineDataServiceConvert.java index af74481..778daf5 100644 --- a/src/main/java/com/ruoyi/airline/service/convert/AirlineDataServiceConvert.java +++ b/src/main/java/com/ruoyi/airline/service/convert/AirlineDataServiceConvert.java @@ -1,10 +1,10 @@ package com.ruoyi.airline.service.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.service.dto.AirlineDataDTO; import com.ruoyi.airline.domain.model.AirlineData; import java.util.List; -import java.util.stream.Collectors; /** * 航线数据Service转换类 @@ -13,83 +13,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineDataServiceConvert +public class AirlineDataServiceConvert extends BaseConvert { - /** - * 将Service DTO转换为Domain模型 - * - * @param dto Service DTO - * @return Domain模型 - */ - public static AirlineData toModel(AirlineDataDTO dto) - { - if (dto == null) { - return null; - } - AirlineData model = new AirlineData(); - model.setId(dto.getId()); - model.setFlightNumber(dto.getFlightNumber()); - model.setDepartureCity(dto.getDepartureCity()); - model.setArrivalCity(dto.getArrivalCity()); - model.setAirspeed(dto.getAirspeed()); - model.setVelocity(dto.getVelocity()); - model.setVspeed(dto.getVspeed()); - model.setHspeed(dto.getHspeed()); - return model; + private static final AirlineDataServiceConvert INSTANCE = new AirlineDataServiceConvert(); + + private AirlineDataServiceConvert() { + super(AirlineData.class, AirlineDataDTO.class); } - /** - * 将Domain模型转换为Service DTO - * - * @param model Domain模型 - * @return Service DTO - */ - public static AirlineDataDTO toDTO(AirlineData model) + public static AirlineDataDTO from(AirlineData model) { - if (model == null) { - return null; - } - AirlineDataDTO dto = new AirlineDataDTO(); - dto.setId(model.getId()); - dto.setFlightNumber(model.getFlightNumber()); - dto.setDepartureCity(model.getDepartureCity()); - dto.setArrivalCity(model.getArrivalCity()); - dto.setAirspeed(model.getAirspeed()); - dto.setVelocity(model.getVelocity()); - dto.setVspeed(model.getVspeed()); - dto.setHspeed(model.getHspeed()); - return dto; + return INSTANCE.innerFrom(model); } - /** - * 将Domain模型列表转换为Service DTO列表 - * - * @param modelList Domain模型列表 - * @return Service DTO列表 - */ - public static List toDTOList(List modelList) + public static AirlineData to(AirlineDataDTO dto) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineDataServiceConvert::toDTO) - .collect(Collectors.toList()); + return INSTANCE.innerTo(dto); } - /** - * 将Service DTO列表转换为Domain模型列表 - * - * @param dtoList Service DTO列表 - * @return Domain模型列表 - */ - public static List toModelList(List dtoList) + public static List fromList(List modelList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirlineDataServiceConvert::toModel) - .collect(Collectors.toList()); + return INSTANCE.innerFromList(modelList); + } + + public static List toList(List dtoList) + { + return INSTANCE.innerToList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupInfoServiceConvert.java b/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupInfoServiceConvert.java index c9793f0..1020836 100644 --- a/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupInfoServiceConvert.java +++ b/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupInfoServiceConvert.java @@ -1,11 +1,11 @@ package com.ruoyi.airline.service.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineFileGroupInfo; import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件Domain转换类 @@ -14,71 +14,32 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileGroupInfoServiceConvert { +public class AirlineFileGroupInfoServiceConvert extends BaseConvert +{ - /** - * 将Domain模型转换为Mapper实体 - * - * @param model Domain模型 - * @return Mapper实体 - */ - public static AirlineFileGroupInfoDTO toDTO(AirlineFileGroupInfo model) { - if (model == null) { - return null; - } - AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO(); - dto.setId(model.getId()); - dto.setGroupId(model.getGroupId()); - dto.setAirlineId(model.getAirlineId()); - dto.setAirlineFileDTO(AirlineFileServiceConvert.toDTO(model.getAirlineFile())); - return dto; + private static final AirlineFileGroupInfoServiceConvert INSTANCE = new AirlineFileGroupInfoServiceConvert(); + + private AirlineFileGroupInfoServiceConvert() { + super(AirlineFileGroupInfo.class, AirlineFileGroupInfoDTO.class); } - /** - * 将Mapper实体转换为Domain模型 - * - * @param dto Mapper实体 - * @return Domain模型 - */ - public static AirlineFileGroupInfo toModel(AirlineFileGroupInfoDTO dto) { - if (dto == null) { - return null; - } - AirlineFileGroupInfo model = new AirlineFileGroupInfo(); - model.setId(dto.getId()); - model.setGroupId(dto.getGroupId()); - model.setAirlineId(dto.getAirlineId()); - model.setAirlineFile(AirlineFileServiceConvert.toModel(dto.getAirlineFileDTO())); - return model; + public static AirlineFileGroupInfoDTO from(AirlineFileGroupInfo model) + { + return INSTANCE.innerFrom(model); } - /** - * 将Mapper实体列表转换为Domain模型列表 - * - * @param entityList Mapper实体列表 - * @return Domain模型列表 - */ - public static List toModelList(List entityList) { - if (entityList == null || entityList.isEmpty()) { - return null; - } - return entityList.stream() - .map(AirlineFileGroupInfoServiceConvert::toModel) - .collect(Collectors.toList()); + public static AirlineFileGroupInfo to(AirlineFileGroupInfoDTO dto) + { + return INSTANCE.innerTo(dto); } - /** - * 将Domain模型列表转换为Mapper实体列表 - * - * @param modelList Domain模型列表 - * @return Mapper实体列表 - */ - public static List toDtoList(List modelList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineFileGroupInfoServiceConvert::toDTO) - .collect(Collectors.toList()); + public static List fromList(List modelList) + { + return INSTANCE.innerFromList(modelList); + } + + public static List toList(List dtoList) + { + return INSTANCE.innerToList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupServiceConvert.java b/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupServiceConvert.java index 3834782..d58e9e7 100644 --- a/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupServiceConvert.java +++ b/src/main/java/com/ruoyi/airline/service/convert/AirlineFileGroupServiceConvert.java @@ -1,13 +1,13 @@ package com.ruoyi.airline.service.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineFile; import com.ruoyi.airline.domain.model.AirlineFileGroup; import com.ruoyi.airline.service.dto.AirlineFileDTO; import com.ruoyi.airline.service.dto.AirlineFileGroupDTO; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件分组Domain转换类 @@ -16,77 +16,32 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileGroupServiceConvert { +public class AirlineFileGroupServiceConvert extends BaseConvert +{ - /** - * 将Domain模型转换为Mapper实体 - * - * @param model Domain模型 - * @return Mapper实体 - */ - public static AirlineFileGroupDTO toDTO(AirlineFileGroup model) { - if (model == null) { - return null; - } - AirlineFileGroupDTO dto = new AirlineFileGroupDTO(); - dto.setGroupId(model.getGroupId()); - dto.setGroupName(model.getGroupName()); - dto.setUserId(model.getUserId()); - dto.setCreateBy(model.getCreateBy()); - dto.setUpdateBy(model.getUpdateBy()); - dto.setRemark(model.getRemark()); - return dto; + private static final AirlineFileGroupServiceConvert INSTANCE = new AirlineFileGroupServiceConvert(); + + private AirlineFileGroupServiceConvert() { + super(AirlineFileGroup.class, AirlineFileGroupDTO.class); } - /** - * 将Mapper实体转换为Domain模型 - * - * @param dto Mapper实体 - * @return Domain模型 - */ - public static AirlineFileGroup toModel(AirlineFileGroupDTO dto) { - if (dto == null) { - return null; - } - AirlineFileGroup model = new AirlineFileGroup(); - model.setGroupId(dto.getGroupId()); - model.setGroupName(dto.getGroupName()); - model.setUserId(dto.getUserId()); - model.setCreateBy(dto.getCreateBy()); - model.setCreateTime(dto.getCreateTime() != null ? dto.getCreateTime(): null); - model.setUpdateBy(dto.getUpdateBy()); - model.setUpdateTime(dto.getUpdateTime() != null ? dto.getUpdateTime(): null); - model.setRemark(dto.getRemark()); - return model; + public static AirlineFileGroupDTO from(AirlineFileGroup model) + { + return INSTANCE.innerFrom(model); } - /** - * 将Domain模型列表转换为Service DTO列表 - * - * @param modelList Domain模型列表 - * @return Service DTO列表 - */ - public static List toDTOList(List modelList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineFileGroupServiceConvert::toDTO) - .collect(Collectors.toList()); + public static AirlineFileGroup to(AirlineFileGroupDTO dto) + { + return INSTANCE.innerTo(dto); } - /** - * 将Service DTO列表转换为Domain模型列表 - * - * @param dtoList Service DTO列表 - * @return Domain模型列表 - */ - public static List toModelList(List dtoList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirlineFileGroupServiceConvert::toModel) - .collect(Collectors.toList()); + public static List fromList(List modelList) + { + return INSTANCE.innerFromList(modelList); + } + + public static List toList(List dtoList) + { + return INSTANCE.innerToList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/convert/AirlineFileServiceConvert.java b/src/main/java/com/ruoyi/airline/service/convert/AirlineFileServiceConvert.java index bc6450f..8c621b7 100644 --- a/src/main/java/com/ruoyi/airline/service/convert/AirlineFileServiceConvert.java +++ b/src/main/java/com/ruoyi/airline/service/convert/AirlineFileServiceConvert.java @@ -1,10 +1,10 @@ package com.ruoyi.airline.service.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineFile; import com.ruoyi.airline.service.dto.AirlineFileDTO; import java.util.List; -import java.util.stream.Collectors; /** * 航线文件Service转换类 @@ -13,105 +13,32 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineFileServiceConvert { +public class AirlineFileServiceConvert extends BaseConvert +{ - /** - * 将Service DTO转换为Domain模型 - * - * @param dto Service DTO - * @return Domain模型 - */ - public static AirlineFile toModel(AirlineFileDTO dto) { - if (dto == null) { - return null; - } - AirlineFile model = new AirlineFile(); - model.setId(dto.getId()); - model.setName(dto.getName()); - model.setFileName(dto.getFileName()); - model.setFileUrl(dto.getFileUrl()); - model.setType(dto.getType()); - model.setNote(dto.getNote()); - model.setDistance(dto.getDistance()); - model.setLinePointDtoList(AirLinePointServiceConvert.toModelList(dto.getLinePointDtoList())); - model.setSource(dto.getSource()); - model.setStatus(dto.getStatus()); - model.setFileMd5(dto.getFileMd5()); - model.setDjiFileUrl(dto.getDjiFileUrl()); - model.setDjiRthAltitude(dto.getDjiRthAltitude()); - model.setTurnRadius(dto.getTurnRadius()); - model.setAutoTakePhoto(dto.getAutoTakePhoto()); - model.setAutoTakePhotoInterval(dto.getAutoTakePhotoInterval()); - model.setCreateBy(dto.getCreateBy()); - model.setCreateTime(dto.getCreateTime()); - model.setUpdateBy(dto.getUpdateBy()); - model.setUpdateTime(dto.getUpdateTime()); - model.setRemark(dto.getRemark()); - return model; + private static final AirlineFileServiceConvert INSTANCE = new AirlineFileServiceConvert(); + + private AirlineFileServiceConvert() { + super(AirlineFile.class, AirlineFileDTO.class); } - /** - * 将Domain模型转换为Service DTO - * - * @param model Domain模型 - * @return Service DTO - */ - public static AirlineFileDTO toDTO(AirlineFile model) { - if (model == null) { - return null; - } - AirlineFileDTO dto = new AirlineFileDTO(); - dto.setId(model.getId()); - dto.setName(model.getName()); - dto.setFileName(model.getFileName()); - dto.setFileUrl(model.getFileUrl()); - dto.setType(model.getType()); - dto.setNote(model.getNote()); - dto.setDistance(model.getDistance()); - dto.setLinePointDtoList(AirLinePointServiceConvert.toDTOList(model.getLinePointDtoList())); - dto.setSource(model.getSource()); - dto.setStatus(model.getStatus()); - dto.setFileMd5(model.getFileMd5()); - dto.setDjiFileUrl(model.getDjiFileUrl()); - dto.setDjiRthAltitude(model.getDjiRthAltitude()); - dto.setTurnRadius(model.getTurnRadius()); - dto.setAutoTakePhoto(model.getAutoTakePhoto()); - dto.setAutoTakePhotoInterval(model.getAutoTakePhotoInterval()); - dto.setCreateBy(model.getCreateBy()); - dto.setCreateTime(model.getCreateTime()); - dto.setUpdateBy(model.getUpdateBy()); - dto.setUpdateTime(model.getUpdateTime()); - dto.setRemark(model.getRemark()); - return dto; + public static AirlineFileDTO from(AirlineFile model) + { + return INSTANCE.innerFrom(model); } - /** - * 将Domain模型列表转换为Service DTO列表 - * - * @param modelList Domain模型列表 - * @return Service DTO列表 - */ - public static List toDTOList(List modelList) { - if (modelList == null || modelList.isEmpty()) { - return null; - } - return modelList.stream() - .map(AirlineFileServiceConvert::toDTO) - .collect(Collectors.toList()); + public static AirlineFile to(AirlineFileDTO dto) + { + return INSTANCE.innerTo(dto); } - /** - * 将Service DTO列表转换为Domain模型列表 - * - * @param dtoList Service DTO列表 - * @return Domain模型列表 - */ - public static List toModelList(List dtoList) { - if (dtoList == null || dtoList.isEmpty()) { - return null; - } - return dtoList.stream() - .map(AirlineFileServiceConvert::toModel) - .collect(Collectors.toList()); + public static List fromList(List modelList) + { + return INSTANCE.innerFromList(modelList); + } + + public static List toList(List dtoList) + { + return INSTANCE.innerToList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/convert/AirlineTempServiceConvert.java b/src/main/java/com/ruoyi/airline/service/convert/AirlineTempServiceConvert.java index 5f1a75f..a26f768 100644 --- a/src/main/java/com/ruoyi/airline/service/convert/AirlineTempServiceConvert.java +++ b/src/main/java/com/ruoyi/airline/service/convert/AirlineTempServiceConvert.java @@ -1,11 +1,10 @@ package com.ruoyi.airline.service.convert; +import com.ruoyi.common.core.utils.BaseConvert; import com.ruoyi.airline.domain.model.AirlineTemp; import com.ruoyi.airline.service.dto.AirlineTempDTO; -import org.springframework.beans.BeanUtils; import java.util.List; -import java.util.stream.Collectors; /** * 航线临时表Service层转换器 @@ -14,45 +13,31 @@ import java.util.stream.Collectors; * @author ruoyi * @date 2026-01-17 */ -public class AirlineTempServiceConvert +public class AirlineTempServiceConvert extends BaseConvert { - /** - * Model 转 DTO - */ - public static AirlineTempDTO toDTO(AirlineTemp model) - { - if (model == null) - { - return null; - } - AirlineTempDTO dto = new AirlineTempDTO(); - BeanUtils.copyProperties(model, dto); - return dto; + private static final AirlineTempServiceConvert INSTANCE = new AirlineTempServiceConvert(); + + private AirlineTempServiceConvert() { + super(AirlineTemp.class, AirlineTempDTO.class); } - /** - * DTO 转 Model - */ - public static AirlineTemp toModel(AirlineTempDTO dto) + public static AirlineTempDTO from(AirlineTemp model) { - if (dto == null) - { - return null; - } - AirlineTemp model = new AirlineTemp(); - BeanUtils.copyProperties(dto, model); - return model; + return INSTANCE.innerFrom(model); } - /** - * Model List 转 DTO List - */ - public static List toDTOList(List modelList) + public static AirlineTemp to(AirlineTempDTO dto) { - if (modelList == null) - { - return null; - } - return modelList.stream().map(AirlineTempServiceConvert::toDTO).collect(Collectors.toList()); + return INSTANCE.innerTo(dto); + } + + public static List fromList(List modelList) + { + return INSTANCE.innerFromList(modelList); + } + + public static List toList(List dtoList) + { + return INSTANCE.innerToList(dtoList); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/impl/AirlineDataServiceImpl.java b/src/main/java/com/ruoyi/airline/service/impl/AirlineDataServiceImpl.java index 1466c17..e615b42 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineDataServiceImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineDataServiceImpl.java @@ -31,9 +31,9 @@ public class AirlineDataServiceImpl implements IAirlineDataService @Override public List selectAirlineDataList(AirlineDataDTO airlineDataDTO) { - AirlineData model = AirlineDataServiceConvert.toModel(airlineDataDTO); + AirlineData model = AirlineDataServiceConvert.to(airlineDataDTO); List modelList = airlineDataDomain.selectAirlineDataList(model); - return AirlineDataServiceConvert.toDTOList(modelList); + return AirlineDataServiceConvert.fromList(modelList); } /** @@ -46,7 +46,7 @@ public class AirlineDataServiceImpl implements IAirlineDataService public AirlineDataDTO selectAirlineDataById(Long id) { AirlineData model = airlineDataDomain.selectAirlineDataById(id); - return AirlineDataServiceConvert.toDTO(model); + return AirlineDataServiceConvert.from(model); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java index 5ec8059..bfaf27c 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java @@ -46,7 +46,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { // 1、删除航线信息 AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO(); dto.setGroupId(groupId); - AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto); + AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto); iAirlineFileGroupInfoDomain.deleteGroupInfo(model); // 2、删除分组 @@ -59,19 +59,19 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { @Override public boolean checkGroupNameUnique(AirlineFileGroupDTO group) { - AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); + AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group); return iAirlineFileGroupDomain.checkgroupNameUnique(model); } @Override public int updateGroup(AirlineFileGroupDTO group) { - AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); + AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group); return iAirlineFileGroupDomain.updateGroup(model); } @Override public int insertGroup(AirlineFileGroupDTO group) { - AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); + AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group); return iAirlineFileGroupDomain.insertGroup(model); } @@ -85,8 +85,8 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { */ @Override public List selectGroupList(AirlineFileGroupDTO group) { - AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); - return AirlineFileGroupServiceConvert.toDTOList(iAirlineFileGroupDomain.selectGroupList(model)); + AirlineFileGroup model = AirlineFileGroupServiceConvert.to(group); + return AirlineFileGroupServiceConvert.fromList(iAirlineFileGroupDomain.selectGroupList(model)); } @@ -105,7 +105,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { if (!CollectionUtils.isEmpty(airlineFileGroupInfoDTOS)) { List ids = airlineFileGroupInfoDTOS.stream().map(AirlineFileGroupInfo::getAirlineId).toList(); List airlineFileDTOS = iAirlineFileDomain.selectFileListByIds(ids); - dto.setGroupInfos(AirlineFileServiceConvert.toDTOList(airlineFileDTOS)); + dto.setGroupInfos(AirlineFileServiceConvert.fromList(airlineFileDTOS)); } return dto; } diff --git a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java index 587d85d..4b39eef 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupInfoImpl.java @@ -1,5 +1,6 @@ package com.ruoyi.airline.service.impl; +import com.ruoyi.airline.domain.api.IAirlineFileDomain; import com.ruoyi.airline.domain.api.IAirlineFileGroupInfoDomain; import com.ruoyi.airline.domain.model.AirlineFileGroupInfo; import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService; @@ -30,6 +31,9 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer @Autowired private IAirlineFileService iAirlineFileService; + @Autowired + private IAirlineFileDomain iAirlineFileDomain; + @Autowired private IAirlineFileGroupInfoDomain iAirlineFileGroupInfoDomain; @@ -37,12 +41,13 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer @Override public List selectGroupInfoListById(Long groupId) { List models = iAirlineFileGroupInfoDomain.selectGroupInfoListById(groupId); - if (models != null) { - models.forEach(model -> { - model.setAirlineFile(iAirlineFileService.selectById(model.getAirlineId())); + List result = AirlineFileGroupInfoServiceConvert.fromList(models); + if (result != null) { + result.forEach(dto -> { + dto.setAirlineFileDTO(iAirlineFileService.selectById(dto.getAirlineId())); }); } - return AirlineFileGroupInfoServiceConvert.toDtoList(models); + return result; } @Override @@ -53,7 +58,7 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer dto.setAirlineId(result.getId()); // 保存分组信息 - AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto); + AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto); // 检查唯一性:同一个分组下不能有相同的航线 @@ -62,17 +67,35 @@ public class AirlineFileServiceGroupInfoImpl implements IAirlineFileGroupInfoSer } @Override - public Long deleteGroupInf(AirlineFileGroupInfoDTO dto) throws BaseException { + public Long deleteGroupInfo(AirlineFileGroupInfoDTO dto) throws BaseException { // 检查参数 if (dto.getGroupId() == null || dto.getAirlineId() == null) { throw new BaseException("分组ID和航线ID不能为空"); } // 转换为模型 - AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto); + AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.to(dto); // 调用domain层删除方法 return iAirlineFileGroupInfoDomain.deleteGroupInfo(model); } + @Override + public Long moveGroupInfo(AirlineFileGroupInfoDTO dto, Long groupId) throws BaseException { + // 检查参数 + if (dto.getGroupId() == null || dto.getAirlineId() == null || groupId == null) { + throw new BaseException("原分组ID、新分组ID和航线文件ID不能为空"); + } + AirlineFileDTO airlineFile = iAirlineFileService.selectById(dto.getAirlineId()); + String name = airlineFile.getName(); + if (airlineFile != null) { + name = iAirlineFileService.getNewFileNameLikeByGroupId(name, groupId); + } + airlineFile.setName(name); + iAirlineFileService.update(airlineFile); + + // 调用domain层移动方法 + return iAirlineFileGroupInfoDomain.moveGroupInfo(dto.getGroupId(), groupId, dto.getAirlineId()); + } + } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java index 330bdac..4186e3c 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java @@ -48,7 +48,7 @@ public class AirlineFileServiceImpl implements IAirlineFileService { @Override public AirlineFileDTO save(AirlineFileDTO dto) { - AirlineFile model = AirlineFileServiceConvert.toModel(dto); + AirlineFile model = AirlineFileServiceConvert.to(dto); Long id = iAirlineFileDomain.save(model); dto.setId(id); return dto; @@ -60,17 +60,20 @@ public class AirlineFileServiceImpl implements IAirlineFileService { * 并且限制航线修改,因为暂时没做到 从waypoingt 转 KMZ * * @param file + * @param groupId * @return */ @Override - public AirlineFileDTO parseAndUplload(MultipartFile file) { + public AirlineFileDTO parseAndUplload(MultipartFile file, Long groupId) { String originalFilename = file.getOriginalFilename(); String fileExtension = ""; if (originalFilename != null && originalFilename.lastIndexOf('.') > 0) { fileExtension = originalFilename.substring(originalFilename.lastIndexOf('.') + 1).toLowerCase(); } - + int pos = originalFilename.lastIndexOf("."); + String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename; + String newFileName = getNewFileNameLikeByGroupId(fileNameWithoutExtension, groupId); try { if ("zip".equals(fileExtension) || "kmz".equals(fileExtension)) { // 处理ZIP/KMZ文件 @@ -91,14 +94,8 @@ public class AirlineFileServiceImpl implements IAirlineFileService { String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight(); AirlineFileDTO dto = new AirlineFileDTO(); // 去除文件名中的后缀名 - int pos = originalFilename.lastIndexOf("."); - String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename; - List airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension); - String newFileName = originalFilename; - if (airlineFiles != null && airlineFiles.size() > 0) { - List fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); - newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); - } + + dto.setName(newFileName); dto.setFileName(originalFilename); R fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo)); @@ -111,15 +108,8 @@ public class AirlineFileServiceImpl implements IAirlineFileService { // 直接处理Waypoints文件 AirlineFileDTO dto = new AirlineFileDTO(); // 去除文件名中的后缀名 - int pos = originalFilename.lastIndexOf("."); - String fileNameWithoutExtension = pos > 0 ? originalFilename.substring(0, pos) : originalFilename; - List airlineFiles =iAirlineFileDomain.selectFileNameLike(fileNameWithoutExtension); - String newFileName = originalFilename; - if (airlineFiles != null && airlineFiles.size() > 0) { - List fileNames = airlineFiles.stream().map(AirlineFile::getName).toList(); - newFileName = FileUtils.generateUniqueFileName(fileNameWithoutExtension, fileNames); - } + dto.setName(newFileName); dto.setFileName(originalFilename); // 直接读取文件内容并上传 @@ -164,22 +154,43 @@ public class AirlineFileServiceImpl implements IAirlineFileService { airlineFile.setFileUrl(fileUrl.getData()); airlineFile.setSource("airport"); airlineFile.setStatus(airlineFile.getStatus() == null ? 1 : airlineFile.getStatus()); - AirlineFile model = AirlineFileServiceConvert.toModel(airlineFile); + AirlineFile model = AirlineFileServiceConvert.to(airlineFile); Long id = iAirlineFileDomain.save(model); model.setId(id); - return AirlineFileServiceConvert.toDTO(model); + return AirlineFileServiceConvert.from(model); } return null; } + @Override - public AirlineFile selectById(Long airlineId) { + public AirlineFileDTO selectById(Long airlineId) { if (airlineId == null) { return null; } List ids = List.of(airlineId); List airlineFiles = iAirlineFileDomain.selectFileListByIds(ids); - return airlineFiles != null && !airlineFiles.isEmpty() ? airlineFiles.get(0) : null; + List airlineFilesDTO = AirlineFileServiceConvert.fromList(airlineFiles); + return airlineFilesDTO != null && !airlineFilesDTO.isEmpty() ? airlineFilesDTO.get(0) : null; + } + + @Override + public String getNewFileNameLikeByGroupId(String name, Long groupId) { + + List airlineFiles = iAirlineFileDomain.selectFileNameLikeByGroupId(name, groupId); + String newFileName = name; + if (airlineFiles != null && airlineFiles.size() > 0) { + List 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); } } \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/service/impl/AirlineTempServiceImpl.java b/src/main/java/com/ruoyi/airline/service/impl/AirlineTempServiceImpl.java index f0e6344..762e938 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineTempServiceImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineTempServiceImpl.java @@ -31,9 +31,9 @@ public class AirlineTempServiceImpl implements IAirlineTempService @Override public List selectAirlineTempList(AirlineTempDTO airlineTempDTO) { - AirlineTemp model = AirlineTempServiceConvert.toModel(airlineTempDTO); + AirlineTemp model = AirlineTempServiceConvert.to(airlineTempDTO); List modelList = airlineTempDomain.selectAirlineTempList(model); - return AirlineTempServiceConvert.toDTOList(modelList); + return AirlineTempServiceConvert.fromList(modelList); } /** @@ -46,6 +46,6 @@ public class AirlineTempServiceImpl implements IAirlineTempService public AirlineTempDTO selectAirlineTempById(String id) { AirlineTemp model = airlineTempDomain.selectAirlineTempById(id); - return AirlineTempServiceConvert.toDTO(model); + return AirlineTempServiceConvert.from(model); } } \ No newline at end of file diff --git a/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml b/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml index 506c858..22fa66a 100644 --- a/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml +++ b/src/main/resources/mapper/airline/AirlineFileGroupInfoMapper.xml @@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update airline_file_group_info set del_flag = 1, deleted_by = #{deletedBy}, - deleted_time = #{deletedTime} + deleted_time = now() and group_id = #{groupId} @@ -50,7 +50,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 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) @@ -65,4 +65,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and airline_id = #{airlineId} + + + + update airline_file_group_info + set group_id = #{newGroupId}, + update_time = now() + where del_flag = 0 + and group_id = #{oldGroupId} + and airline_id = #{airlineId} + \ No newline at end of file diff --git a/src/main/resources/mapper/airline/AirlineFileGroupMapper.xml b/src/main/resources/mapper/airline/AirlineFileGroupMapper.xml index be49eb2..68e0156 100644 --- a/src/main/resources/mapper/airline/AirlineFileGroupMapper.xml +++ b/src/main/resources/mapper/airline/AirlineFileGroupMapper.xml @@ -36,7 +36,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update airline_file_group set del_flag = 1, deleted_by = #{deletedBy}, - deleted_time = #{deletedTime} + deleted_time = now() where group_id = #{groupId} and user_id = #{userId} @@ -48,7 +48,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" update airline_file_group set group_name = #{groupName}, update_by = #{updateBy}, - update_time = #{updateTime} + update_time = now() where group_id = #{groupId} and del_flag = 0 @@ -59,7 +59,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 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) diff --git a/src/main/resources/mapper/airline/AirlineFileMapper.xml b/src/main/resources/mapper/airline/AirlineFileMapper.xml index fcd8fa2..8aa7bd9 100644 --- a/src/main/resources/mapper/airline/AirlineFileMapper.xml +++ b/src/main/resources/mapper/airline/AirlineFileMapper.xml @@ -26,7 +26,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" 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}) @@ -39,10 +39,20 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" - + + + + \ No newline at end of file