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

139 lines
5.4 KiB
Java
Raw Normal View History

2026-02-25 15:16:28 +08:00
package com.ruoyi.airline.controller;
import com.ruoyi.airline.api.domain.AirlineAreaGroupDetailVO;
import com.ruoyi.airline.api.domain.AirlineAreaGroupVO;
import com.ruoyi.airline.api.domain.AirlineAreaVO;
import com.ruoyi.airline.controller.convert.AirlineAreaControllerConvert;
import com.ruoyi.airline.controller.convert.AirlineAreaGroupControllerConvert;
import com.ruoyi.airline.controller.convert.AirlineAreaGroupDetailControllerConvert;
import com.ruoyi.airline.service.api.IAirlineAreaGroupService;
import com.ruoyi.airline.service.dto.AirlineAreaDTO;
import com.ruoyi.airline.service.dto.AirlineAreaGroupDTO;
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.utils.SecurityUtils;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.tags.Tag;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 空域分组
*
* @author 拓恒
*/
@RestController
@RequestMapping("/areaGroup")
@Tag(name = "空域分组管理")
public class AirlineAreaGroupController extends BaseController {
private static final Logger log = LoggerFactory.getLogger(AirlineAreaGroupController.class);
@Autowired
private IAirlineAreaGroupService iAirlineAreaGroupService;
/**
* 获取空域分组列表,根据用户Id查询分组
*
* @param airlineAreaGroupVO 查询条件
*/
@GetMapping()
@Operation(summary = "获取所有的空域分组")
public TableDataInfo index(AirlineAreaGroupVO airlineAreaGroupVO) {
startPage();
airlineAreaGroupVO.setUserId(SecurityUtils.getUserId());
AirlineAreaGroupDTO dto = AirlineAreaGroupControllerConvert.to(airlineAreaGroupVO);
List<AirlineAreaGroupDTO> list = iAirlineAreaGroupService.selectGroupList(dto);
List<AirlineAreaGroupVO> result = AirlineAreaGroupControllerConvert.toApiDomainList(list);
return getDataTable(result);
}
/**
* 新增分组
*/
@PostMapping
@Operation(summary = "新增分组")
public AjaxResult add(@Validated @RequestBody AirlineAreaGroupVO group) {
group.setUserId(SecurityUtils.getUserId());
AirlineAreaGroupDTO dto = AirlineAreaGroupControllerConvert.to(group);
if (iAirlineAreaGroupService.checkGroupNameUnique(dto)) {
return error("新增分组'" + group.getGroupName() + "'失败,分组名称已存在");
}
return toAjax(iAirlineAreaGroupService.insertGroup(dto));
}
/**
* 修改分组
*/
@PutMapping
@Operation(summary = "修改分组")
public AjaxResult edit(@Validated @RequestBody AirlineAreaGroupVO group) {
group.setUserId(SecurityUtils.getUserId());
AirlineAreaGroupDTO dto = AirlineAreaGroupControllerConvert.to(group);
if (iAirlineAreaGroupService.checkGroupNameUnique(dto)) {
return error("修改分组'" + group.getGroupName() + "'失败,分组名称已存在");
}
return toAjax(iAirlineAreaGroupService.updateGroup(dto));
}
/**
* 删除分组前端校验分组下是否有空域弹出确认删除提示如果确认会将分组及空域一起删除
*/
@DeleteMapping("/delete/{groupId}")
@Operation(summary = "删除分组")
public AjaxResult removeByQueryParam(@PathVariable Long groupId) {
return toAjax(iAirlineAreaGroupService.deletegroupById(SecurityUtils.getUserId(), groupId));
}
/**
* 按照空域分组查询所有的空域信息包含坐标点信息
*
* @param groupId 分组ID
* @return 空域分组详情
*/
@GetMapping("/airspaceList/{groupId}")
@Operation(summary = "按照空域分组查询所有的空域信息")
public AjaxResult selectAirspaceListByGroupId(@PathVariable Long groupId) {
AirlineAreaGroupDTO dto = iAirlineAreaGroupService.selectAirspaceListByGroupId(SecurityUtils.getUserId(), groupId);
// 使用转换类进行转换
AirlineAreaGroupDetailVO result = AirlineAreaGroupDetailControllerConvert.from(dto);
return success(result);
}
/**
* 修改空域信息包含坐标点信息
*
* @param area 空域信息
* @return 修改结果
*/
@PutMapping("/updateArea")
@Operation(summary = "修改空域信息")
public AjaxResult updateAreaWithPoints(@Validated @RequestBody AirlineAreaVO area) {
// 使用转换类进行转换
AirlineAreaDTO dto = AirlineAreaControllerConvert.to(area);
return toAjax(iAirlineAreaGroupService.updateAreaWithPoints(dto));
}
/**
* 在指定分组下新增空域包含坐标点信息
*
* @param groupId 分组ID
* @param area 空域信息
* @return 新增结果
*/
@PostMapping("/addArea/{groupId}")
@Operation(summary = "在指定分组下新增空域")
public AjaxResult addAreaWithGroup(@PathVariable Long groupId, @Validated @RequestBody AirlineAreaVO area) {
// 使用转换类进行转换
AirlineAreaDTO dto = AirlineAreaControllerConvert.to(area);
return toAjax(iAirlineAreaGroupService.insertAreaWithGroup(groupId, dto));
}
}