a-tuoheng-device/src/main/java/com/ruoyi/device/controller/DockController.java

108 lines
3.2 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.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<List<DockVO>> searchDocks(@RequestParam(required = false) String dockStatus, @RequestParam(required = false) Long dockId)
{
List<DockDTO> dtoList = dockService.searchDocks(dockStatus, dockId);
List<DockVO> voList = DockVOConvert.fromList(dtoList);
return R.ok(voList);
}
/**
* 查看机场详情
*
* @param dockId 机场ID
* @return 机场详情
*/
//@InnerAuth
@GetMapping("/detail/{dockId}")
public R<DockDetailVO> 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<Void> 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<List<DockWithGPSVO>> getAllDocks()
{
List<DockDTO> dockDTOs = dockService.selectDockList(new DockDTO());
List<DockDetailDTO> dtoList = new ArrayList<>();
for (DockDTO dockDTO : dockDTOs) {
DockDetailDTO dockDetailDTO = bufferDeviceService.getDockDetailById(dockDTO.getDockId());
dtoList.add(dockDetailDTO);
}
return R.ok(DockWithGPSVOConvert.fromList(dtoList));
}
}