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 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 deleteGroup(@PathVariable("groupId") Long groupId) { groupService.deleteGroup(groupId); return R.ok(); } /** * 切换机场所在的分组 * * @param request 切换分组请求 * @return 结果 */ @PostMapping("/switch") public R switchDockGroup(@RequestBody SwitchDockGroupRequest request) { groupService.switchDockGroup(request.getDockId(), request.getGroupId()); return R.ok(); } /** * 查看分组下的机场 * * @param groupId 分组ID * @return 机场列表 */ //@InnerAuth @GetMapping("/docks/{groupId}") public R> getDocksByGroupId(@PathVariable("groupId") Long groupId) { List groupDTOS = groupService.getDocksByGroupId(groupId); List 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> getAllGroupIds() { List groupIds = groupService.getAllGroupIds(); return R.ok(groupIds); } }