package com.ard.work.api;
|
|
import com.ard.common.core.constant.SecurityConstants;
|
import com.ard.common.core.constant.ServiceNameConstants;
|
import com.ard.common.core.domain.R;
|
import com.ard.common.core.web.domain.AjaxResult;
|
import com.ard.work.api.domian.ArdCamera;
|
import com.ard.work.api.domian.CameraCmd;
|
import com.ard.work.api.factory.RemoteCameraFallbackFactory;
|
import com.ard.work.api.factory.RemoteSDKFallbackFactory;
|
import org.springframework.cloud.openfeign.FeignClient;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.List;
|
import java.util.TreeMap;
|
|
/**
|
* 相机服务
|
*
|
* @author ard
|
*/
|
@FeignClient(contextId = "remoteCameraService", value = ServiceNameConstants.WORK_SERVICE, fallbackFactory = RemoteCameraFallbackFactory.class)
|
public interface RemoteCameraService
|
{
|
/**
|
* 获取所有相机
|
*
|
* @return 结果
|
*/
|
@GetMapping(value = "/device/camera/list/all")
|
public R<List<ArdCamera>> getAllCamera(@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
/**
|
* 根据条件获取所有相机
|
*
|
* @return 结果
|
*/
|
@PostMapping(value = "/device/camera/list/rpc")
|
public R<List<ArdCamera>> getAllCameraRpc(@RequestBody ArdCamera ardCamera,@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
/**
|
* 根据id获取相机详情
|
*
|
* @return 结果
|
*/
|
@GetMapping(value = "/device/camera/{id}/rpc")
|
public R<ArdCamera> getCameraInfoRpc(@PathVariable("id") String id, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
/**
|
* 获取附近的相机
|
*
|
* @return 结果
|
*/
|
@PostMapping(value = "/device/camera/getNearbyCameras/rpc")
|
public R<TreeMap<Double, ArdCamera>> getNearbyCamerasRpc(@RequestBody CameraCmd cmd, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
/**
|
* 设置锁定
|
*
|
* @return 结果
|
*/
|
@PostMapping(value = "/device/camera/setPTZLock/rpc")
|
public R<AjaxResult> setPTZLockRpc(@RequestBody CameraCmd cmd, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
/**
|
* 获取雷达所在塔上的大光电
|
*
|
* @return 结果
|
*/
|
@GetMapping(value = "/device/camera/{radarId}/getCameraByRadar/rpc")
|
public R<ArdCamera> getCameraByRadar(@PathVariable("radarId") String radarId, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
|
/**
|
* 通过名称获取相机
|
*
|
* @return 结果
|
*/
|
@GetMapping(value = "/device/camera/getCameraByName/{name}")
|
public R<ArdCamera> getCameraByName(@PathVariable("name") String name, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
|
|
// 新增:更新摄像机信息
|
@PutMapping("/device/camera/rpc")
|
R<Boolean> updateCamera(@RequestBody ArdCamera camera, @RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
|
|
/**
|
* 更新相机位置和基座偏航角
|
*
|
* @return 结果
|
*/
|
@PutMapping("/device/camera/rpc/updateCameraLocationAndYaw")
|
R<?> updateCameraLocationAndYaw(
|
@RequestParam("cameraId") String cameraId,
|
@RequestParam("longitude") Double longitude,
|
@RequestParam("latitude") Double latitude,
|
@RequestParam("altitude") Double altitude,
|
@RequestParam("baseYaw") Float baseYaw,
|
@RequestHeader(SecurityConstants.FROM_SOURCE) String source);
|
}
|