| | |
| | | package com.ard.tianyu.service.control; |
| | | |
| | | import com.ard.common.exception.NoPermissionException; |
| | | import com.ard.common.exception.ControlException; |
| | | import com.ard.common.utils.SecurityUtils; |
| | | import com.ard.tianyu.websocket.domain.UavControlType; |
| | | import com.ard.tianyu.websocket.handler.UavControlManager; |
| | |
| | | requestMap.put(boxSn, requester); |
| | | uavControlManager.sendControlRequest(controller, boxSn, controlType.getType(), requester); |
| | | } else { |
| | | throw new NoPermissionException("当前已拥有控制权"); |
| | | throw new ControlException("当前已拥有控制权"); |
| | | } |
| | | return false; |
| | | } |
| | |
| | | Long requester = requestMap.get(boxSn); |
| | | |
| | | if (requester == null || requester.equals(controller)) { |
| | | throw new NoPermissionException("无控制请求"); |
| | | throw new ControlException("无控制请求"); |
| | | } |
| | | |
| | | if (approve) { |
| | |
| | | ConcurrentHashMap<String, Long> controlMap = getControlMap(controlType); |
| | | |
| | | if (!controller.equals(controlMap.get(boxSn))) { |
| | | throw new NoPermissionException("没有该设备的" + controlType.getType().toUpperCase() + "控制权"); |
| | | throw new ControlException("没有该设备的" + controlType.getType().toUpperCase() + "控制权"); |
| | | } |
| | | |
| | | controlMap.remove(boxSn); |