109 lines
3.0 KiB
Java
109 lines
3.0 KiB
Java
package com.ruoyi.device.controller;
|
|
|
|
import com.ruoyi.common.core.domain.R;
|
|
import com.ruoyi.common.core.web.controller.BaseController;
|
|
import com.ruoyi.device.api.domain.DockVO;
|
|
import com.ruoyi.device.api.domain.GroupCreateRequest;
|
|
import com.ruoyi.device.api.domain.SwitchDockGroupRequest;
|
|
import com.ruoyi.device.controller.convert.DockVOControllerConvert;
|
|
import com.ruoyi.device.service.api.IBufferDeviceService;
|
|
import com.ruoyi.device.service.api.IGroupService;
|
|
import com.ruoyi.device.service.dto.DockDetailDTO;
|
|
import com.ruoyi.device.service.dto.DockGroupDTO;
|
|
import com.ruoyi.device.service.dto.GroupDTO;
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
import org.springframework.web.bind.annotation.*;
|
|
|
|
import java.util.ArrayList;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 分组Controller
|
|
*
|
|
* @author ruoyi
|
|
* @date 2026-01-20
|
|
*/
|
|
@RestController
|
|
@RequestMapping("/group")
|
|
public class GroupController extends BaseController
|
|
{
|
|
@Autowired
|
|
private IGroupService groupService;
|
|
|
|
@Autowired
|
|
private IBufferDeviceService bufferDeviceService;
|
|
/**
|
|
* 创建分组
|
|
*
|
|
* @param request 分组创建请求
|
|
* @return 分组ID
|
|
*/
|
|
//@InnerAuth
|
|
@PostMapping("/create")
|
|
public R<Long> createGroup(@RequestBody GroupCreateRequest request)
|
|
{
|
|
GroupDTO dto = new GroupDTO();
|
|
dto.setGroupName(request.getGroupName());
|
|
Long groupId = groupService.createGroup(dto);
|
|
return R.ok(groupId);
|
|
}
|
|
/**
|
|
* 删除分组
|
|
*
|
|
* @param groupId 分组ID
|
|
* @return 结果
|
|
*/
|
|
//@InnerAuth
|
|
@DeleteMapping("/delete/{groupId}")
|
|
public R<Void> deleteGroup(@PathVariable("groupId") Long groupId)
|
|
{
|
|
groupService.deleteGroup(groupId);
|
|
return R.ok();
|
|
}
|
|
|
|
/**
|
|
* 切换机场所在的分组
|
|
*
|
|
* @param request 切换分组请求
|
|
* @return 结果
|
|
*/
|
|
@PostMapping("/switch")
|
|
public R<Void> switchDockGroup(@RequestBody SwitchDockGroupRequest request)
|
|
{
|
|
groupService.switchDockGroup(request.getDockId(), request.getGroupId());
|
|
return R.ok();
|
|
}
|
|
|
|
/**
|
|
* 查看分组下的机场
|
|
*
|
|
* @param groupId 分组ID
|
|
* @return 机场列表
|
|
*/
|
|
//@InnerAuth
|
|
@GetMapping("/docks/{groupId}")
|
|
public R<List<DockVO>> getDocksByGroupId(@PathVariable("groupId") Long groupId)
|
|
{
|
|
List<DockGroupDTO> groupDTOS = groupService.getDocksByGroupId(groupId);
|
|
List<DockDetailDTO> dtoList = new ArrayList<>();
|
|
for (DockGroupDTO dockGroupDTO : groupDTOS) {
|
|
DockDetailDTO dockDetailDTO = bufferDeviceService.getDockDetailById(dockGroupDTO.getDockId());
|
|
dtoList.add(dockDetailDTO);
|
|
}
|
|
return R.ok(DockVOControllerConvert.toVOList(dtoList));
|
|
}
|
|
|
|
/**
|
|
* 查看所有分组
|
|
*
|
|
* @return 分组ID列表
|
|
*/
|
|
//@InnerAuth
|
|
@GetMapping("/list")
|
|
public R<List<Long>> getAllGroupIds()
|
|
{
|
|
List<Long> groupIds = groupService.getAllGroupIds();
|
|
return R.ok(groupIds);
|
|
}
|
|
}
|