package cn.gistack.sm.hk.controller;
|
|
import cn.gistack.sm.hk.constant.HkConstant;
|
import cn.gistack.sm.hk.constant.ProtocolConstant;
|
import cn.gistack.sm.hk.vo.HkVO;
|
import com.alibaba.fastjson.JSONObject;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.AllArgsConstructor;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springblade.core.mp.support.Query;
|
import org.springblade.core.tool.api.R;
|
import org.springframework.web.bind.annotation.*;
|
|
import java.util.HashMap;
|
import java.util.Map;
|
|
import static cn.gistack.sm.hk.util.GetCameraPreviewURL.GetCameraPreviewURL;
|
import static cn.gistack.sm.hk.util.GetCameraPreviewURL.GetCameraResourcePage;
|
|
/**
|
* @author zhongrj
|
* @Description: 海康设备控制层
|
* @date 2023-03-30
|
*/
|
@Slf4j
|
@Api(tags = "海康设备")
|
@RestController
|
@RequestMapping("/hk/hk")
|
@AllArgsConstructor
|
public class HkController {
|
|
/**
|
* 分页列表查询
|
* @param query 查询参数
|
* @return
|
*/
|
@ApiOperation(value = "海康设备-分页列表查询", notes = "海康设备-分页列表查询")
|
@GetMapping(value = "/queryHkList")
|
public R queryHkList(Query query) {
|
String result = GetCameraResourcePage(query.getCurrent(), query.getSize(), HkConstant.cameras);
|
JSONObject jsonObject1 = JSONObject.parseObject(result);
|
// 查询海康设备列表并返回
|
return R.data(jsonObject1);
|
}
|
|
/**
|
* 海康播放url查询(ws)
|
* @param hk 查询参数
|
* @return
|
*/
|
@ApiOperation(value = "海康设备-海康播放url查询(ws)", notes = "海康设备-海康播放url查询(ws)")
|
@GetMapping(value = "/queryHkPreviewUrl")
|
public R queryHkPreviewUrl(HkVO hk) {
|
String url = "";
|
// 获取海康播放url
|
String result = GetCameraPreviewURL(HkConstant.previewURLs, hk.getCameraIndexCode(), ProtocolConstant.WS);
|
if (null!=result) {
|
JSONObject jsonObject = JSONObject.parseObject(result);
|
Map map = (Map) jsonObject.get("data");
|
url = map.get("url").toString();
|
}
|
// 查询海康设备列表并返回
|
return R.data(url);
|
}
|
|
}
|