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..cbaef05 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; @@ -28,7 +29,7 @@ import java.util.List; * @date 2026-01-17 */ @RestController -@RequestMapping("/airline/file") +@RequestMapping("/file") @Tag(name = "航线管理") public class AirlineFileController extends BaseController { @@ -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..6c523d9 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; @@ -25,7 +24,7 @@ import java.util.List; * @author 拓恒 */ @RestController -@RequestMapping("/airline/fileGroup") +@RequestMapping("/fileGroup") @Tag(name = "航线分组管理") public class AirlineFileGroupController extends BaseController { @@ -40,9 +39,9 @@ public class AirlineFileGroupController extends BaseController { * @param airlineFileVO 查询条件 * @return */ - @RequiresPermissions("airline:group:list") +// @RequiresPermissions("airline:group:list") @GetMapping() - @Operation(summary = "获取所有的航线分组") + @Operation(summary = "获取所有的航线分组") public TableDataInfo index(AirlineFileGroupVO airlineFileVO) { startPage(); airlineFileVO.setUserId(SecurityUtils.getUserId()); @@ -55,24 +54,24 @@ 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) { + @Operation(summary = "根据分组ID 获取分组详情信息") + public AjaxResult getInfo(@PathVariable("groupId") Long groupId) { return success(iAirlineFileGroupService.selectAirLineListsByGroupId(SecurityUtils.getUserId(), groupId)); } /** * 新增分组 */ - @RequiresPermissions("airline:group:add") +// @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)); @@ -81,14 +80,14 @@ public class AirlineFileGroupController extends BaseController { /** * 修改分组 */ - @RequiresPermissions("airline:group:edit") +// @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)); @@ -97,11 +96,11 @@ public class AirlineFileGroupController extends BaseController { /** * 删除分组,前端校验分组下是否有航线弹出确认删除提示,如果确认会将分组及航线一起删除。 */ - @RequiresPermissions("airline:group:remove") +// @RequiresPermissions("airline:group:remove") @Log(title = "删除分组", businessType = BusinessType.DELETE) - @DeleteMapping("/{groupId}") - @Operation(summary = "删除分组") - public AjaxResult remove(@PathVariable Long groupId) { + @DeleteMapping + @Operation(summary = "删除分组") + 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 1c9729d..14d1583 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.*; @@ -25,7 +26,7 @@ import java.util.List; * @author 拓恒 */ @RestController -@RequestMapping("/airline/fileGroupInfo") +@RequestMapping("/fileGroupInfo") @Tag(name = "分组航线管理") public class AirlineFileGroupInfoController extends BaseController { @@ -43,9 +44,10 @@ public class AirlineFileGroupInfoController extends BaseController { * @param groupId 分组ID * @return */ - @RequiresPermissions("airline:groupInfo:list") - @GetMapping() - public TableDataInfo selectGroupInfoListById(Long groupId) { +// @RequiresPermissions("airline:groupInfo:list") + @GetMapping("/{groupId}") + @Operation(summary = "编辑航线文件内容,生产航点新文件") + public TableDataInfo selectGroupInfoListById(@PathVariable("groupId") Long groupId) { startPage(); List list = iAirlineFileGroupInfoService.selectGroupInfoListById(groupId); List result = AirlineFileGroupInfoControllerConvert.toApiDomainList(list); @@ -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); @@ -76,7 +79,8 @@ 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) { 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/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/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..24d7d71 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,14 +57,14 @@ public class AirlineFileServiceGroupImpl implements IAirlineFileGroupService { return iAirlineFileGroupDomain.deletegroup(model2); } // TODO 增加事务机制 - throw new BaseException("删除航线失败"); + throw new BaseException("删除航线失败"); } @Override public boolean checkGroupNameUnique(AirlineFileGroupDTO group) { AirlineFileGroup model = AirlineFileGroupServiceConvert.toModel(group); - return iAirlineFileGroupDomain.checkgroupNameUnique(model); + return iAirlineFileGroupDomain.checkgroupNameUnique(model) ; } @Override 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..3cb49b7 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; @@ -21,12 +21,9 @@ 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; -import java.util.Optional; import java.util.UUID; /** @@ -39,15 +36,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 +52,6 @@ public class AirlineFileServiceImpl implements IAirlineFileService { } - - /** * 上传航线文件,如果是KMZ的需要转换成 waypoint 的,并且需要将 原始航线文件保存。 * 并且限制航线修改,因为暂时没做到 从waypoingt 转 KMZ @@ -69,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(); @@ -83,17 +77,11 @@ public class AirlineFileServiceImpl implements IAirlineFileService { throw new BaseException("kmz文件内容缺失"); } 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.uploadFileByData(UUID.randomUUID().toString(), "waypoints", WayPointUitls.kmz2waypoint(kmlInfo)); AirlineFileDTO dto = new AirlineFileDTO(); - dto.setFileUrl(fileUrl); + dto.setFileUrl(fileUrl.getData()); dto.setAirVendor(""); dto.setAirType(""); - - // 原始文件 目录存储 -// dto.setFileUrl(fileUrl); - return dto; } catch (IOException e) { @@ -116,31 +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()); - // 上传文件 - String fileUrl = ""; -//TODO String fileUrl = iSysFileService.uploadFileByStream(UUID.randomUUID().toString(), "waypoints", out); - out.close(); - in.close(); - //保存航线文件数据 - airlineFile.setFileUrl(fileUrl); - 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