2026-01-23 18:42:11 +08:00
|
|
|
|
package com.ruoyi.airline.controller;
|
|
|
|
|
|
|
|
|
|
|
|
import com.ruoyi.airline.api.domain.AirlineFileGroupInfoVO;
|
|
|
|
|
|
import com.ruoyi.airline.controller.convert.AirlineFileGroupInfoControllerConvert;
|
|
|
|
|
|
import com.ruoyi.airline.service.api.IAirlineFileGroupInfoService;
|
|
|
|
|
|
import com.ruoyi.airline.service.api.IAirlineFileService;
|
|
|
|
|
|
import com.ruoyi.airline.service.dto.AirlineFileDTO;
|
|
|
|
|
|
import com.ruoyi.airline.service.dto.AirlineFileGroupInfoDTO;
|
|
|
|
|
|
import com.ruoyi.common.core.exception.base.BaseException;
|
|
|
|
|
|
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;
|
2026-01-24 16:17:41 +08:00
|
|
|
|
import io.swagger.v3.oas.annotations.Operation;
|
2026-01-24 11:29:55 +08:00
|
|
|
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
2026-01-23 18:42:11 +08:00
|
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
|
|
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
|
|
import org.springframework.web.multipart.MultipartFile;
|
|
|
|
|
|
|
|
|
|
|
|
import java.io.IOException;
|
|
|
|
|
|
import java.util.List;
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 航线分组
|
|
|
|
|
|
*
|
|
|
|
|
|
* @author 拓恒
|
|
|
|
|
|
*/
|
|
|
|
|
|
@RestController
|
|
|
|
|
|
@RequestMapping("/airline/fileGroupInfo")
|
2026-01-24 11:29:55 +08:00
|
|
|
|
@Tag(name = "分组航线管理")
|
2026-01-23 18:42:11 +08:00
|
|
|
|
public class AirlineFileGroupInfoController extends BaseController {
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
private IAirlineFileGroupInfoService iAirlineFileGroupInfoService;
|
|
|
|
|
|
|
|
|
|
|
|
@Autowired
|
|
|
|
|
|
private IAirlineFileService iAirlineFileService;
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 获取航线文件分组列表,根据用户Id查询分组
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param groupId 分组ID
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
2026-01-24 16:18:10 +08:00
|
|
|
|
// @RequiresPermissions("airline:groupInfo:list")
|
2026-01-26 15:47:46 +08:00
|
|
|
|
@GetMapping("/{groupId}")
|
2026-01-24 16:17:41 +08:00
|
|
|
|
@Operation(summary = "编辑航线文件内容,生产航点新文件")
|
2026-01-26 15:47:46 +08:00
|
|
|
|
public TableDataInfo selectGroupInfoListById(@PathVariable("groupId") Long groupId) {
|
2026-01-23 18:42:11 +08:00
|
|
|
|
startPage();
|
|
|
|
|
|
List<AirlineFileGroupInfoDTO> list = iAirlineFileGroupInfoService.selectGroupInfoListById(groupId);
|
|
|
|
|
|
List<AirlineFileGroupInfoVO> result = AirlineFileGroupInfoControllerConvert.toApiDomainList(list);
|
|
|
|
|
|
return getDataTable(result);
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* kmz航线文件,并转换成waypoint上传 ,仅仅返航URL
|
|
|
|
|
|
* <p>
|
|
|
|
|
|
* kmz类似zip,一般情况下内部包含kml和wpml两个文件
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param file
|
|
|
|
|
|
*/
|
|
|
|
|
|
@PostMapping("/parseAndUpload")
|
2026-01-24 16:17:41 +08:00
|
|
|
|
@Operation(summary = " kmz航线文件,并转换成waypoint上传 ,仅仅返航URL")
|
2026-01-23 18:42:11 +08:00
|
|
|
|
public AjaxResult parseAndUpload(@RequestParam("file") MultipartFile file, Long groupId) throws IOException {
|
|
|
|
|
|
AirlineFileDTO dto = iAirlineFileService.parseAndUplload(file);
|
|
|
|
|
|
AirlineFileDTO result = iAirlineFileService.save(dto);
|
|
|
|
|
|
AirlineFileGroupInfoDTO infoDTO = new AirlineFileGroupInfoDTO();
|
|
|
|
|
|
infoDTO.setGroupId(groupId);
|
|
|
|
|
|
infoDTO.setAirlineId(result.getId());
|
|
|
|
|
|
return success(iAirlineFileGroupInfoService.save(infoDTO));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
|
* 在当前分组下添加初始航线(空的航线)
|
|
|
|
|
|
*
|
|
|
|
|
|
* @param vo 实体对象
|
|
|
|
|
|
* @return
|
|
|
|
|
|
*/
|
|
|
|
|
|
@PostMapping("/add")
|
2026-01-24 16:17:41 +08:00
|
|
|
|
@Operation(summary = "在当前分组下添加初始航线,必须上传分组ID")
|
2026-01-23 18:42:11 +08:00
|
|
|
|
public AjaxResult add(@RequestBody AirlineFileGroupInfoVO vo) throws IOException {
|
|
|
|
|
|
if (vo.getGroupId() == null) {
|
|
|
|
|
|
throw new BaseException("分组ID不能为空");
|
|
|
|
|
|
}
|
|
|
|
|
|
AirlineFileGroupInfoDTO dto = AirlineFileGroupInfoControllerConvert.toDTO(vo);
|
|
|
|
|
|
AirlineFileGroupInfoDTO result = iAirlineFileGroupInfoService.save(dto);
|
|
|
|
|
|
return success(AirlineFileGroupInfoControllerConvert.toVO(result));
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
}
|