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);