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