a-tuoheng-airline/src/main/java/com/ruoyi/airline/controller/AirlineFileController.java

77 lines
2.4 KiB
Java
Raw Normal View History

2026-01-23 18:42:11 +08:00
package com.ruoyi.airline.controller;
import com.ruoyi.airline.api.domain.AirlineFileVO;
import com.ruoyi.airline.controller.convert.AirlineFileControllerConvert;
import com.ruoyi.airline.service.api.IAirlineFileService;
import com.ruoyi.airline.service.dto.AirlineFileDTO;
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;
2026-01-24 11:29:55 +08:00
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.tags.Tag;
2026-01-23 18:42:11 +08:00
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
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;
/**
* 航线文件Controller
*
* @author ruoyi
* @date 2026-01-17
*/
@RestController
@RequestMapping("/airline/file")
2026-01-24 11:29:55 +08:00
@Tag(name = "航线管理")
2026-01-23 18:42:11 +08:00
public class AirlineFileController extends BaseController {
private static final Logger log = LoggerFactory.getLogger(AirlineFileController.class);
@Autowired
private IAirlineFileService airlineFileService;
/**
* 编辑航线文件信息
*
* @param entity 实体对象
* @return
*/
2026-01-24 11:29:55 +08:00
@RequiresPermissions("airline:file:edit")
@Log(title = "修改航线属性", businessType = BusinessType.UPDATE)
2026-01-23 18:42:11 +08:00
@PutMapping("/edit")
public AjaxResult edit(@RequestBody AirlineFileVO entity) {
AirlineFileDTO dto = AirlineFileControllerConvert.toDTO(entity);
return success(airlineFileService.save(dto));
}
/**
* 长江口
* <p>
* kmz类似zip一般情况下内部包含kml和wpml两个文件
*
* @param vo
*/
2026-01-24 11:29:55 +08:00
@RequiresPermissions("airline:file:parseAndUpload")
@Log(title = "创建航线", businessType = BusinessType.UPDATE)
2026-01-23 18:42:11 +08:00
@PostMapping("/parseAndUpload")
2026-01-24 11:29:55 +08:00
public AjaxResult createOrUpdate(@RequestBody AirlineFileVO vo) {
2026-01-23 18:42:11 +08:00
AirlineFileDTO airlineFile = AirlineFileControllerConvert.toDTO(vo);
try {
return success(airlineFileService.createOrupdate(airlineFile));
} catch (IOException e) {
throw new BaseException("更新航线失败", e.getMessage());
}
}
}