package com.ruoyi.device.controller; import com.ruoyi.common.core.domain.R; import com.ruoyi.common.core.web.controller.BaseController; import com.ruoyi.common.security.annotation.InnerAuth; import com.ruoyi.device.api.domain.DockDetailVO; import com.ruoyi.device.api.domain.DockUpdateRequest; import com.ruoyi.device.api.domain.DockVO; import com.ruoyi.device.api.domain.DockWithGPSVO; import com.ruoyi.device.controller.convert.DockWithGPSVOConvert; import com.ruoyi.device.service.api.IDockService; import com.ruoyi.device.service.api.IBufferDeviceService; import com.ruoyi.device.service.dto.DockDetailDTO; import com.ruoyi.device.service.dto.DockDTO; import com.ruoyi.device.controller.convert.DockVOConvert; import org.springframework.beans.BeanUtils; 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("/dock") public class DockController extends BaseController { @Autowired private IDockService dockService; @Autowired private IBufferDeviceService bufferDeviceService; /** * 搜索机场 * * @param dockStatus 机场状态 * @param dockId 机场ID * @return 机场列表 */ //@InnerAuth @GetMapping("/search") public R> searchDocks(@RequestParam(required = false) String dockStatus, @RequestParam(required = false) Long dockId) { List dtoList = dockService.searchDocks(dockStatus, dockId); List voList = DockVOConvert.fromList(dtoList); return R.ok(voList); } /** * 查看机场详情 * * @param dockId 机场ID * @return 机场详情 */ //@InnerAuth @GetMapping("/detail/{dockId}") public R getDockDetail(@PathVariable("dockId") Long dockId) { DockDetailDTO dockDetailDTO = bufferDeviceService.getDockDetailById(dockId); DockDetailVO result = new DockDetailVO(); BeanUtils.copyProperties(dockDetailDTO, result); return R.ok(result); } /** * 修改机场名称和地址 * * @param request 机场更新请求 * @return 结果 */ //@InnerAuth @PostMapping("/update") public R updateDock(@RequestBody DockUpdateRequest request) { DockDTO dto = new DockDTO(); dto.setDockId(request.getDockId()); dto.setDockName(request.getDockName()); dto.setDockLocation(request.getDockLocation()); dockService.updateDock(dto); return R.ok(); } /** * 查看所有机场 * * @return 机场列表 */ //@InnerAuth @GetMapping("/list") public R> getAllDocks() { List dockDTOs = dockService.selectDockList(new DockDTO()); List dtoList = new ArrayList<>(); for (DockDTO dockDTO : dockDTOs) { DockDetailDTO dockDetailDTO = bufferDeviceService.getDockDetailById(dockDTO.getDockId()); dtoList.add(dockDetailDTO); } return R.ok(DockWithGPSVOConvert.fromList(dtoList)); } }