From 551d5149b6e16c8dfe07ba19d90660e68a3acb23 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Sat, 24 Jan 2026 16:17:41 +0800 Subject: [PATCH 1/5] =?UTF-8?q?feat:=E8=88=AA=E7=BA=BF=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=EF=BC=8C=E4=B8=B4=E6=97=B6=E5=8E=BB=E9=99=A4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- pom.xml | 5 ++ .../controller/AirlineDataController.java | 43 ------------ .../controller/AirlineFileController.java | 9 ++- .../AirlineFileGroupController.java | 10 +-- .../AirlineFileGroupInfoController.java | 4 ++ .../controller/AirlineTempController.java | 70 ------------------- .../domain/model/AirlineFileGroup.java | 2 + .../service/dto/AirlineFileGroupDTO.java | 2 + .../service/dto/AirlineFileGroupInfoDTO.java | 2 + .../impl/AirlineFileServiceGroupImpl.java | 8 +-- .../service/impl/AirlineFileServiceImpl.java | 26 +++---- 11 files changed, 37 insertions(+), 144 deletions(-) delete mode 100644 src/main/java/com/ruoyi/airline/controller/AirlineDataController.java delete mode 100644 src/main/java/com/ruoyi/airline/controller/AirlineTempController.java diff --git a/pom.xml b/pom.xml index 5742b47..ec826ee 100644 --- a/pom.xml +++ b/pom.xml @@ -23,6 +23,11 @@ tuoheng-api-airline + + com.ruoyi + ruoyi-api-system + + com.alibaba.cloud diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineDataController.java b/src/main/java/com/ruoyi/airline/controller/AirlineDataController.java deleted file mode 100644 index eea4518..0000000 --- a/src/main/java/com/ruoyi/airline/controller/AirlineDataController.java +++ /dev/null @@ -1,43 +0,0 @@ -package com.ruoyi.airline.controller; - -import com.ruoyi.airline.api.domain.AirlineDataVO; -import com.ruoyi.airline.service.api.IAirlineDataService; -import com.ruoyi.airline.service.dto.AirlineDataDTO; -import com.ruoyi.airline.controller.convert.AirlineDataControllerConvert; - -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.page.TableDataInfo; - -import com.ruoyi.common.security.annotation.RequiresPermissions; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.*; - -import java.util.List; - -/** - * 航线数据Controller - * - * @author ruoyi - * @date 2026-01-17 - */ -@RestController -@RequestMapping("/airline/data") -public class AirlineDataController extends BaseController -{ - @Autowired - private IAirlineDataService airlineDataService; - - /** - * 查询航线数据列表 - */ - @RequiresPermissions("system:dept:query") - @GetMapping() - public TableDataInfo list(AirlineDataVO airlineDataVO) - { - AirlineDataDTO dto = AirlineDataControllerConvert.toDTO(airlineDataVO); - startPage(); - List list = airlineDataService.selectAirlineDataList(dto); - return getDataTable(AirlineDataControllerConvert.toVOList(list)); - } - -} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java index c10ac78..94c297d 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; import com.ruoyi.common.security.annotation.RequiresPermissions; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -45,9 +46,10 @@ public class AirlineFileController extends BaseController { * @param entity 实体对象 * @return */ - @RequiresPermissions("airline:file:edit") +// @RequiresPermissions("airline:file:edit") @Log(title = "修改航线属性", businessType = BusinessType.UPDATE) @PutMapping("/edit") + @Operation(summary = "编辑航线文件描述信息") public AjaxResult edit(@RequestBody AirlineFileVO entity) { AirlineFileDTO dto = AirlineFileControllerConvert.toDTO(entity); return success(airlineFileService.save(dto)); @@ -62,9 +64,10 @@ public class AirlineFileController extends BaseController { * * @param vo */ - @RequiresPermissions("airline:file:parseAndUpload") +// @RequiresPermissions("airline:file:parseAndUpload") @Log(title = "创建航线", businessType = BusinessType.UPDATE) - @PostMapping("/parseAndUpload") + @PostMapping("/createOrUpdate") + @Operation(summary = "编辑航线文件内容,生产航点新文件") public AjaxResult createOrUpdate(@RequestBody AirlineFileVO vo) { AirlineFileDTO airlineFile = AirlineFileControllerConvert.toDTO(vo); try { diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java index 163a906..f4a5a40 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java @@ -40,7 +40,7 @@ public class AirlineFileGroupController extends BaseController { * @param airlineFileVO 查询条件 * @return */ - @RequiresPermissions("airline:group:list") +// @RequiresPermissions("airline:group:list") @GetMapping() @Operation(summary = "获取所有的航线分组") public TableDataInfo index(AirlineFileGroupVO airlineFileVO) { @@ -55,7 +55,7 @@ public class AirlineFileGroupController extends BaseController { /** * 根据分组编号获取详细信息 */ - @RequiresPermissions("airline:group:query") +// @RequiresPermissions("airline:group:query") @GetMapping(value = "/{groupId}") @Operation(summary = "根据分组ID 获取分组详情信息") public AjaxResult getInfo(@PathVariable Long groupId) { @@ -65,7 +65,7 @@ public class AirlineFileGroupController extends BaseController { /** * 新增分组 */ - @RequiresPermissions("airline:group:add") +// @RequiresPermissions("airline:group:add") @Log(title = "新增分组", businessType = BusinessType.INSERT) @PostMapping @Operation(summary = "新增分组") @@ -81,7 +81,7 @@ public class AirlineFileGroupController extends BaseController { /** * 修改分组 */ - @RequiresPermissions("airline:group:edit") +// @RequiresPermissions("airline:group:edit") @Log(title = "修改分组", businessType = BusinessType.UPDATE) @PutMapping @Operation(summary = "修改分组") @@ -97,7 +97,7 @@ public class AirlineFileGroupController extends BaseController { /** * 删除分组,前端校验分组下是否有航线弹出确认删除提示,如果确认会将分组及航线一起删除。 */ - @RequiresPermissions("airline:group:remove") +// @RequiresPermissions("airline:group:remove") @Log(title = "删除分组", businessType = BusinessType.DELETE) @DeleteMapping("/{groupId}") @Operation(summary = "删除分组") diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java index 1c9729d..a951ccf 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java @@ -11,6 +11,7 @@ import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.security.annotation.RequiresPermissions; +import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -45,6 +46,7 @@ public class AirlineFileGroupInfoController extends BaseController { */ @RequiresPermissions("airline:groupInfo:list") @GetMapping() + @Operation(summary = "编辑航线文件内容,生产航点新文件") public TableDataInfo selectGroupInfoListById(Long groupId) { startPage(); List list = iAirlineFileGroupInfoService.selectGroupInfoListById(groupId); @@ -61,6 +63,7 @@ public class AirlineFileGroupInfoController extends BaseController { * @param file */ @PostMapping("/parseAndUpload") + @Operation(summary = " kmz航线文件,并转换成waypoint上传 ,仅仅返航URL") public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, Long groupId) throws IOException { AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file); AirlineFileDTO result = iAirlineFileService.save(dto); @@ -77,6 +80,7 @@ public class AirlineFileGroupInfoController extends BaseController { * @return */ @PostMapping("/add") + @Operation(summary = "在当前分组下添加初始航线,必须上传分组ID") public AjaxResult add(@RequestBody AirlineFileGroupInfoVO vo) throws IOException { if (vo.getGroupId() == null) { throw new BaseException("分组ID不能为空"); diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineTempController.java b/src/main/java/com/ruoyi/airline/controller/AirlineTempController.java deleted file mode 100644 index b7df736..0000000 --- a/src/main/java/com/ruoyi/airline/controller/AirlineTempController.java +++ /dev/null @@ -1,70 +0,0 @@ -package com.ruoyi.airline.controller; - -import com.ruoyi.common.core.domain.R; -import com.ruoyi.common.core.web.controller.BaseController; -import com.ruoyi.common.core.web.domain.AjaxResult; -import com.ruoyi.common.core.web.page.TableDataInfo; -import com.ruoyi.common.security.annotation.InnerAuth; -import com.ruoyi.airline.api.domain.AirlineTempVO; -import com.ruoyi.airline.controller.convert.AirlineTempControllerConvert; -import com.ruoyi.airline.service.api.IAirlineTempService; -import com.ruoyi.airline.service.dto.AirlineTempDTO; -import org.springframework.beans.factory.annotation.Autowired; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PathVariable; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; - -import java.util.List; - -/** - * 航线临时表Controller - * - * @author ruoyi - * @date 2026-01-17 - */ -@RestController -@RequestMapping("/airline/temp") -public class AirlineTempController extends BaseController -{ - @Autowired - private IAirlineTempService airlineTempService; - - /** - * 查询航线临时表列表 - */ - @GetMapping("/list") - public TableDataInfo list(AirlineTempVO airlineTemp) - { - startPage(); - // API Domain → Service DTO - AirlineTempDTO dto = AirlineTempControllerConvert.toDTO(airlineTemp); - List dtoList = airlineTempService.selectAirlineTempList(dto); - // Service DTO → API Domain - List list = AirlineTempControllerConvert.toApiDomainList(dtoList); - return getDataTable(list); - } - - /** - * 获取航线临时表详细信息(内部调用) - */ - @InnerAuth - @GetMapping(value = "/{id}") - public R getAirlineById(@PathVariable("id") String id) - { - AirlineTempDTO dto = airlineTempService.selectAirlineTempById(id); - AirlineTempVO airlineTemp = AirlineTempControllerConvert.toVO(dto); - return R.ok(airlineTemp); - } - - /** - * 获取航线临时表详细信息(外部调用) - */ - @GetMapping(value = "/info/{id}") - public AjaxResult getInfo(@PathVariable("id") String id) - { - AirlineTempDTO dto = airlineTempService.selectAirlineTempById(id); - AirlineTempVO airlineTemp = AirlineTempControllerConvert.toVO(dto); - return success(airlineTemp); - } -} \ No newline at end of file diff --git a/src/main/java/com/ruoyi/airline/domain/model/AirlineFileGroup.java b/src/main/java/com/ruoyi/airline/domain/model/AirlineFileGroup.java index 423423e..ca83e6f 100644 --- a/src/main/java/com/ruoyi/airline/domain/model/AirlineFileGroup.java +++ b/src/main/java/com/ruoyi/airline/domain/model/AirlineFileGroup.java @@ -3,6 +3,7 @@ package com.ruoyi.airline.domain.model; import com.ruoyi.common.core.web.domain.BaseEntity; import com.ruoyi.common.core.web.domain.ExBaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -11,6 +12,7 @@ import org.apache.commons.lang3.builder.ToStringStyle; * * @author 拓恒 */ +@EqualsAndHashCode(callSuper = true) @Data public class AirlineFileGroup extends ExBaseEntity { /** diff --git a/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupDTO.java b/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupDTO.java index d794e11..cfd347e 100644 --- a/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupDTO.java +++ b/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupDTO.java @@ -2,6 +2,7 @@ package com.ruoyi.airline.service.dto; import com.ruoyi.common.core.web.domain.BaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -12,6 +13,7 @@ import java.util.List; * * @author 拓恒 */ +@EqualsAndHashCode(callSuper = true) @Data public class AirlineFileGroupDTO extends BaseEntity { /** diff --git a/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupInfoDTO.java b/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupInfoDTO.java index 746afe4..e580313 100644 --- a/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupInfoDTO.java +++ b/src/main/java/com/ruoyi/airline/service/dto/AirlineFileGroupInfoDTO.java @@ -2,6 +2,7 @@ package com.ruoyi.airline.service.dto; import com.ruoyi.common.core.web.domain.BaseEntity; import lombok.Data; +import lombok.EqualsAndHashCode; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apache.commons.lang3.builder.ToStringStyle; @@ -10,6 +11,7 @@ import org.apache.commons.lang3.builder.ToStringStyle; * * @author 拓恒 */ +@EqualsAndHashCode(callSuper = true) @Data public class AirlineFileGroupInfoDTO extends BaseEntity { /** 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 b2aabf7..052dec9 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java @@ -7,12 +7,10 @@ import com.ruoyi.airline.domain.api.IAirlineFileGroupInfoDomain; import com.ruoyi.airline.domain.model.AirlineFile; import com.ruoyi.airline.domain.model.AirlineFileGroup; import com.ruoyi.airline.domain.model.AirlineFileGroupInfo; -import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService; import com.ruoyi.airline.service.api.IAirlineFileGroupService; import com.ruoyi.airline.service.convert.AirlineFileGroupInfoServiceConvert; import com.ruoyi.airline.service.convert.AirlineFileGroupServiceConvert; import com.ruoyi.airline.service.convert.AirlineFileServiceConvert; -import com.ruoyi.airline.service.dto.AirlineFileDTO; import com.ruoyi.airline.service.dto.AirlineFileGroupDTO; import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO; import com.ruoyi.common.core.exception.base.BaseException; @@ -39,8 +37,6 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { @Autowired private IAirlineFileGroupInfoDomain iAirlineFileGroupInfoDomain; - @Autowired - private IAirlineFileGroupInfoService iAirlineFileGroupInfoService; @Autowired private IAirlineFileDomain iAirlineFileDomain; @@ -52,7 +48,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { AirlineFileGroupInfoDTO dto = new AirlineFileGroupInfoDTO(); dto.setGroupId(groupId); AirlineFileGroupInfo model = AirlineFileGroupInfoServiceConvert.toModel(dto); - int result = iAirlineFileGroupInfoDomain.deleteGroupInfo(model); + int result = iAirlineFileGroupInfoDomain.deleteGroupInfo(model); if (result > 0) { // 2、删除分组 AirlineFileGroup model2 = new AirlineFileGroup(); @@ -61,7 +57,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { return iAirlineFileGroupDomain.deletegroup(model2); } // TODO 增加事务机制 - throw new BaseException("删除航线失败"); + throw new BaseException("删除航线失败"); } 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 804f642..ea61b7e 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java @@ -1,6 +1,5 @@ package com.ruoyi.airline.service.impl; -import com.alibaba.fastjson.JSONObject; import com.ruoyi.airline.api.domain.AirLinePointVO; import com.ruoyi.airline.domain.api.IAirlineFileDomain; import com.ruoyi.airline.domain.model.AirlineFile; @@ -10,8 +9,9 @@ import com.ruoyi.airline.domain.uitl.WayPointUitls; import com.ruoyi.airline.service.api.IAirlineFileService; import com.ruoyi.airline.service.convert.AirlineFileServiceConvert; import com.ruoyi.airline.service.dto.AirlineFileDTO; +import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.exception.base.BaseException; -//import com.ruoyi.file.service.ISysFileService; +import com.ruoyi.system.api.RemoteFileService; import org.apache.commons.compress.archivers.ArchiveEntry; import org.apache.commons.compress.archivers.ArchiveInputStream; import org.apache.commons.compress.archivers.zip.ZipArchiveInputStream; @@ -26,7 +26,6 @@ import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.List; import java.util.Objects; -import java.util.Optional; import java.util.UUID; /** @@ -39,15 +38,14 @@ import java.util.UUID; public class AirlineFileServiceImpl implements IAirlineFileService { private static final Logger log = LoggerFactory.getLogger(AirlineFileServiceImpl.class); -// -// @Autowired -// private ISysFileService iSysFileService; + + @Autowired + private RemoteFileService remoteFileService; @Autowired private IAirlineFileDomain iAirlineFileDomain; - @Override public AirlineFileDTO save(AirlineFileDTO dto) { AirlineFile model = AirlineFileServiceConvert.toModel(dto); @@ -56,8 +54,6 @@ public class AirlineFileServiceImpl implements IAirlineFileService { } - - /** * 上传航线文件,如果是KMZ的需要转换成 waypoint 的,并且需要将 原始航线文件保存。 * 并且限制航线修改,因为暂时没做到 从waypoingt 转 KMZ @@ -84,15 +80,12 @@ public class AirlineFileServiceImpl implements IAirlineFileService { } String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight(); out.write(WayPointUitls.kmz2waypoint(kmlInfo)); - String fileUrl = ""; -//TODO String fileUrl = iSysFileService.uploadFileByStream(UUID.randomUUID().toString(), "waypoints", out); + R fileUrl = remoteFileService.uploadFileByStream(UUID.randomUUID().toString(), "waypoints", out); AirlineFileDTO dto = new AirlineFileDTO(); - dto.setFileUrl(fileUrl); + dto.setFileUrl(fileUrl.getData()); dto.setAirVendor(""); dto.setAirType(""); - // 原始文件 目录存储 -// dto.setFileUrl(fileUrl); return dto; @@ -126,12 +119,11 @@ public class AirlineFileServiceImpl implements IAirlineFileService { out.write(waypointBuilder.toString().getBytes()); ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); // 上传文件 - String fileUrl = ""; -//TODO String fileUrl = iSysFileService.uploadFileByStream(UUID.randomUUID().toString(), "waypoints", out); + R fileUrl = remoteFileService.uploadFileByStream(UUID.randomUUID().toString(), "waypoints", out); out.close(); in.close(); //保存航线文件数据 - airlineFile.setFileUrl(fileUrl); + airlineFile.setFileUrl(fileUrl.getData()); airlineFile.setSource("airport"); airlineFile.setStatus(airlineFile.getStatus() == null ? 1 : airlineFile.getStatus()); AirlineFile model = AirlineFileServiceConvert.toModel(airlineFile); From 5acb3656d3958be7af064b9571f685761cd8acd2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Sat, 24 Jan 2026 16:18:10 +0800 Subject: [PATCH 2/5] =?UTF-8?q?feat:=E8=88=AA=E7=BA=BF=E7=AE=A1=E7=90=86?= =?UTF-8?q?=EF=BC=8C=E4=BC=98=E5=8C=96=E6=8E=A5=E5=8F=A3=E6=8F=8F=E8=BF=B0?= =?UTF-8?q?=EF=BC=8C=E4=B8=B4=E6=97=B6=E5=8E=BB=E9=99=A4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E6=9D=83=E9=99=90?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../airline/controller/AirlineFileGroupInfoController.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java index a951ccf..7b15f97 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java @@ -44,7 +44,7 @@ public class AirlineFileGroupInfoController extends BaseController { * @param groupId 分组ID * @return */ - @RequiresPermissions("airline:groupInfo:list") +// @RequiresPermissions("airline:groupInfo:list") @GetMapping() @Operation(summary = "编辑航线文件内容,生产航点新文件") public TableDataInfo selectGroupInfoListById(Long groupId) { From 4d4b85dd7f1d4cce5fc08d79041127f85263c449 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Sat, 24 Jan 2026 17:18:08 +0800 Subject: [PATCH 3/5] =?UTF-8?q?fix:=E4=BC=98=E5=8C=96=E8=88=AA=E7=BA=BF?= =?UTF-8?q?=E7=AE=A1=E7=90=86=E8=88=AA=E7=BA=BF=E4=B8=8A=E4=BC=A0=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../airline/domain/uitl/WayPointUitls.java | 4 +- .../service/impl/AirlineFileServiceImpl.java | 49 +++++++------------ 2 files changed, 21 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/ruoyi/airline/domain/uitl/WayPointUitls.java b/src/main/java/com/ruoyi/airline/domain/uitl/WayPointUitls.java index 8cfb2f8..7e7c066 100644 --- a/src/main/java/com/ruoyi/airline/domain/uitl/WayPointUitls.java +++ b/src/main/java/com/ruoyi/airline/domain/uitl/WayPointUitls.java @@ -22,7 +22,7 @@ public class WayPointUitls { * @return */ - public static byte[] kmz2waypoint(KmlInfo kmlInfo) { + public static String kmz2waypoint(KmlInfo kmlInfo) { //准备一个waypoint文件的标头文本 StringBuilder waypointBuilder = new StringBuilder("QGC WPL 110\n"); // 重置全局id计数器 @@ -102,7 +102,7 @@ public class WayPointUitls { waypointBuilder.append(formatWaypointLine(point, i)).append("\n"); } - return waypointBuilder.toString().getBytes(); + return waypointBuilder.toString(); } 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 ea61b7e..3cb49b7 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceImpl.java @@ -21,8 +21,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.web.multipart.MultipartFile; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; import java.io.IOException; import java.util.List; import java.util.Objects; @@ -65,7 +63,7 @@ public class AirlineFileServiceImpl implements IAirlineFileService { public AirlineFileDTO parseAndUplload(MultipartFile file) { KmlInfo kmlInfo = new KmlInfo(); - try (ArchiveInputStream archiveInputStream = new ZipArchiveInputStream(file.getInputStream()); ByteArrayOutputStream out = new ByteArrayOutputStream()) { + try (ArchiveInputStream archiveInputStream = new ZipArchiveInputStream(file.getInputStream());) { ArchiveEntry entry; while (!Objects.isNull(entry = archiveInputStream.getNextEntry())) { String name = entry.getName(); @@ -79,14 +77,11 @@ public class AirlineFileServiceImpl implements IAirlineFileService { throw new BaseException("kmz文件内容缺失"); } String globalHeight = kmlInfo.getDocument().getFolder().getGlobalHeight(); - out.write(WayPointUitls.kmz2waypoint(kmlInfo)); - R fileUrl = remoteFileService.uploadFileByStream(UUID.randomUUID().toString(), "waypoints", out); + R fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo)); AirlineFileDTO dto = new AirlineFileDTO(); dto.setFileUrl(fileUrl.getData()); dto.setAirVendor(""); dto.setAirType(""); - - return dto; } catch (IOException e) { @@ -109,30 +104,24 @@ public class AirlineFileServiceImpl implements IAirlineFileService { StringBuilder waypointBuilder = new StringBuilder("QGC WPL 110\n"); List LineDto = airlineFile.getLinePointDtoList(); // 新建字节输出流,Freemarker操作此输出流写入生成的业务文件. - try (ByteArrayOutputStream out = new ByteArrayOutputStream();) { - if (LineDto != null && !LineDto.isEmpty()) { - for (int i = 0; i < LineDto.size(); i++) { - AirLinePointVO point = LineDto.get(i); - waypointBuilder.append(WayPointUitls.formatWaypointLine(point, i)).append("\n"); - } - // 生成文件 - out.write(waypointBuilder.toString().getBytes()); - ByteArrayInputStream in = new ByteArrayInputStream(out.toByteArray()); - // 上传文件 - R fileUrl = remoteFileService.uploadFileByStream(UUID.randomUUID().toString(), "waypoints", out); - out.close(); - in.close(); - //保存航线文件数据 - airlineFile.setFileUrl(fileUrl.getData()); - airlineFile.setSource("airport"); - airlineFile.setStatus(airlineFile.getStatus() == null ? 1 : airlineFile.getStatus()); - AirlineFile model = AirlineFileServiceConvert.toModel(airlineFile); - AirlineFile result = iAirlineFileDomain.save(model); - return AirlineFileServiceConvert.toDTO(result); + if (LineDto != null && !LineDto.isEmpty()) { + for (int i = 0; i < LineDto.size(); i++) { + AirLinePointVO point = LineDto.get(i); + waypointBuilder.append(WayPointUitls.formatWaypointLine(point, i)).append("\n"); } - return null; - } catch (Exception e) { - throw new RuntimeException(e); + + // 上传文件 + R fileUrl = remoteFileService.uploadFileByData(UUID.randomUUID().toString(), "waypoints", waypointBuilder.toString()); + + //保存航线文件数据 + airlineFile.setFileUrl(fileUrl.getData()); + airlineFile.setSource("airport"); + airlineFile.setStatus(airlineFile.getStatus() == null ? 1 : airlineFile.getStatus()); + AirlineFile model = AirlineFileServiceConvert.toModel(airlineFile); + AirlineFile result = iAirlineFileDomain.save(model); + return AirlineFileServiceConvert.toDTO(result); } + return null; + } } \ No newline at end of file From acc087cd721185658e0ead2ee4078932ac821a1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Mon, 26 Jan 2026 15:47:46 +0800 Subject: [PATCH 4/5] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=8E=A5=E5=8F=A3500?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E5=A2=9E=E5=8A=A0BaseContr?= =?UTF-8?q?oller=20getDataTable=20=E7=9A=84=E7=A9=BA=E8=A1=A8=E5=A4=84?= =?UTF-8?q?=E7=90=86?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AirlineFileGroupController.java | 19 +++++++++---------- .../AirlineFileGroupInfoController.java | 4 ++-- .../impl/AirlineFileServiceGroupImpl.java | 2 +- 3 files changed, 12 insertions(+), 13 deletions(-) diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java index f4a5a40..1f4a5e5 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java @@ -9,7 +9,6 @@ import com.ruoyi.common.core.web.domain.AjaxResult; import com.ruoyi.common.core.web.page.TableDataInfo; import com.ruoyi.common.log.annotation.Log; import com.ruoyi.common.log.enums.BusinessType; -import com.ruoyi.common.security.annotation.RequiresPermissions; import com.ruoyi.common.security.utils.SecurityUtils; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; @@ -42,7 +41,7 @@ public class AirlineFileGroupController extends BaseController { */ // @RequiresPermissions("airline:group:list") @GetMapping() - @Operation(summary = "获取所有的航线分组") + @Operation(summary = "获取所有的航线分组") public TableDataInfo index(AirlineFileGroupVO airlineFileVO) { startPage(); airlineFileVO.setUserId(SecurityUtils.getUserId()); @@ -57,8 +56,8 @@ public class AirlineFileGroupController extends BaseController { */ // @RequiresPermissions("airline:group:query") @GetMapping(value = "/{groupId}") - @Operation(summary = "根据分组ID 获取分组详情信息") - public AjaxResult getInfo(@PathVariable Long groupId) { + @Operation(summary = "根据分组ID 获取分组详情信息") + public AjaxResult getInfo(@PathVariable("groupId") Long groupId) { return success(iAirlineFileGroupService.selectAirLineListsByGroupId(SecurityUtils.getUserId(), groupId)); } @@ -68,11 +67,11 @@ public class AirlineFileGroupController extends BaseController { // @RequiresPermissions("airline:group:add") @Log(title = "新增分组", businessType = BusinessType.INSERT) @PostMapping - @Operation(summary = "新增分组") + @Operation(summary = "新增分组") public AjaxResult add(@Validated @RequestBody AirlineFileGroupVO group) { group.setUserId(SecurityUtils.getUserId()); AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group); - if (!iAirlineFileGroupService.checkGroupNameUnique(dto)) { + if (iAirlineFileGroupService.checkGroupNameUnique(dto)) { return error("新增分组'" + group.getGroupName() + "'失败,分组名称已存在"); } return toAjax(iAirlineFileGroupService.insertGroup(dto)); @@ -84,11 +83,11 @@ public class AirlineFileGroupController extends BaseController { // @RequiresPermissions("airline:group:edit") @Log(title = "修改分组", businessType = BusinessType.UPDATE) @PutMapping - @Operation(summary = "修改分组") + @Operation(summary = "修改分组") public AjaxResult edit(@Validated @RequestBody AirlineFileGroupVO group) { group.setUserId(SecurityUtils.getUserId()); AirlineFileGroupDTO dto = AirlineFileGroupControllerConvert.toDTO(group); - if (!iAirlineFileGroupService.checkGroupNameUnique(dto)) { + if (iAirlineFileGroupService.checkGroupNameUnique(dto)) { return error("修改分组'" + group.getGroupName() + "'失败,分组名称已存在"); } return toAjax(iAirlineFileGroupService.updateGroup(dto)); @@ -100,8 +99,8 @@ public class AirlineFileGroupController extends BaseController { // @RequiresPermissions("airline:group:remove") @Log(title = "删除分组", businessType = BusinessType.DELETE) @DeleteMapping("/{groupId}") - @Operation(summary = "删除分组") - public AjaxResult remove(@PathVariable Long groupId) { + @Operation(summary = "删除分组") + public AjaxResult remove(@PathVariable("groupId") Long groupId) { return toAjax(iAirlineFileGroupService.deletegroupById(SecurityUtils.getUserId(), groupId)); } diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java index 7b15f97..e44193b 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java @@ -45,9 +45,9 @@ public class AirlineFileGroupInfoController extends BaseController { * @return */ // @RequiresPermissions("airline:groupInfo:list") - @GetMapping() + @GetMapping("/{groupId}") @Operation(summary = "编辑航线文件内容,生产航点新文件") - public TableDataInfo selectGroupInfoListById(Long groupId) { + public TableDataInfo selectGroupInfoListById(@PathVariable("groupId") Long groupId) { startPage(); List list = iAirlineFileGroupInfoService.selectGroupInfoListById(groupId); List result = AirlineFileGroupInfoControllerConvert.toApiDomainList(list); 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 052dec9..24d7d71 100644 --- a/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java +++ b/src/main/java/com/ruoyi/airline/service/impl/AirlineFileServiceGroupImpl.java @@ -64,7 +64,7 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { @Override public boolean checkGroupNameUnique(AirlineFileGroupDTO group) { AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); - return iAirlineFileGroupDomain.checkgroupNameUnique(model); + return iAirlineFileGroupDomain.checkgroupNameUnique(model) ; } @Override From f9babad49dee147d85c18c5ada29bd09a558454d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=AB=98=E5=A4=A7?= <1504665037@qq.com> Date: Mon, 26 Jan 2026 16:37:58 +0800 Subject: [PATCH 5/5] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E6=8E=A5=E5=8F=A3500?= =?UTF-8?q?=E7=9A=84=E9=97=AE=E9=A2=98=EF=BC=8C=E8=B0=83=E6=95=B4=E6=8E=A5?= =?UTF-8?q?=E5=8F=A3=E8=B7=AF=E5=BE=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/ruoyi/airline/controller/AirlineFileController.java | 2 +- .../airline/controller/AirlineFileGroupController.java | 6 +++--- .../airline/controller/AirlineFileGroupInfoController.java | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java index 94c297d..cbaef05 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java @@ -29,7 +29,7 @@ import java.util.List; * @date 2026-01-17 */ @RestController -@RequestMapping("/airline/file") +@RequestMapping("/file") @Tag(name = "航线管理") public class AirlineFileController extends BaseController { diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java index 1f4a5e5..6c523d9 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupController.java @@ -24,7 +24,7 @@ import java.util.List; * @author 拓恒 */ @RestController -@RequestMapping("/airline/fileGroup") +@RequestMapping("/fileGroup") @Tag(name = "航线分组管理") public class AirlineFileGroupController extends BaseController { @@ -98,9 +98,9 @@ public class AirlineFileGroupController extends BaseController { */ // @RequiresPermissions("airline:group:remove") @Log(title = "删除分组", businessType = BusinessType.DELETE) - @DeleteMapping("/{groupId}") + @DeleteMapping @Operation(summary = "删除分组") - public AjaxResult remove(@PathVariable("groupId") Long groupId) { + public AjaxResult removeByQueryParam(@RequestParam("groupId") Long groupId) { return toAjax(iAirlineFileGroupService.deletegroupById(SecurityUtils.getUserId(), groupId)); } diff --git a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java index e44193b..14d1583 100644 --- a/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java +++ b/src/main/java/com/ruoyi/airline/controller/AirlineFileGroupInfoController.java @@ -26,7 +26,7 @@ import java.util.List; * @author 拓恒 */ @RestController -@RequestMapping("/airline/fileGroupInfo") +@RequestMapping("/fileGroupInfo") @Tag(name = "分组航线管理") public class AirlineFileGroupInfoController extends BaseController { @@ -79,7 +79,7 @@ public class AirlineFileGroupInfoController extends BaseController { * @param vo 实体对象 * @return */ - @PostMapping("/add") + @PostMapping() @Operation(summary = "在当前分组下添加初始航线,必须上传分组ID") public AjaxResult add(@RequestBody AirlineFileGroupInfoVO vo) throws IOException { if (vo.getGroupId() == null) {