package com.ard.tianyu.controller; import com.ard.common.core.domain.AjaxResult; import com.ard.common.utils.SecurityUtils; import com.ard.tianyu.service.impl.UavControlManager; import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import javax.annotation.Resource; /** * @ClassName: UavPermissionsController * @Description: 无人机权限控制器 * @Author: liusuyi * @Date: 2025年02月20日9:38 **/ @Api(tags = "无人机权限控制接口") @RequestMapping("/uav/permissions") @RestController public class UavPermissionsController { @Resource private UavControlManager uavControlManager; @ApiOperation("申请控制") @ApiOperationSupport(order = 1) @GetMapping("/requestControl") public AjaxResult requestControl(String boxSn) { return AjaxResult.success(uavControlManager.requestControl(boxSn)); } @ApiOperation("处理申请") @ApiOperationSupport(order = 2) @GetMapping("/handleControlResponse") public AjaxResult handleControlResponse(String boxSn, Boolean approve) { return AjaxResult.success(uavControlManager.handleControlResponse(boxSn, approve)); } @ApiOperation("释放控制") @ApiOperationSupport(order = 3) @GetMapping("/releaseControl") public AjaxResult releaseControl(String boxSn) { return AjaxResult.success(uavControlManager.releaseControl(boxSn)); } @ApiOperation("获取无人机控制者") @ApiOperationSupport(order = 4) @GetMapping("/controlRequestMap") public AjaxResult controlRequestMap(String boxSn) { return AjaxResult.success(UavControlManager.droneControlMap.get(boxSn)); } }