139 lines
5.4 KiB
Java
139 lines
5.4 KiB
Java
|
|
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));
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
}
|