package com.ruoyi.alarm.radar.service.impl;
|
|
import com.alibaba.fastjson2.JSONObject;
|
import com.ruoyi.alarm.radar.service.ArdRadarService;
|
import com.ruoyi.common.utils.StringUtils;
|
import com.ruoyi.device.camera.domain.CameraCmd;
|
import com.ruoyi.device.camera.service.ICameraSdkService;
|
import com.ruoyi.device.radar.mapper.ArdEquipRadarMapper;
|
import com.ruoyi.storage.minio.domain.jsonbean.JsonsRootBean;
|
import lombok.extern.slf4j.Slf4j;
|
import org.springframework.scheduling.annotation.Async;
|
import org.springframework.stereotype.Service;
|
|
import javax.annotation.Resource;
|
import java.util.HashMap;
|
import java.util.Map;
|
|
/**
|
* @Description: 雷达业务
|
* @ClassName: ArdRadarServiceImpl
|
* @Author: 刘苏义
|
* @Date: 2023年11月02日9:00:08
|
**/
|
@Slf4j(topic = "guideQueue")
|
@Service
|
public class ArdRadarServiceImpl implements ArdRadarService {
|
@Resource
|
ICameraSdkService iCameraSdkService;
|
@Resource
|
ArdEquipRadarMapper ardEquipRadarMapper;
|
|
/**
|
* 异步执行强制引导
|
* 刘苏义
|
* 2023/11/2 9:00:55
|
*/
|
@Override
|
@Async
|
public void forceGuide(String msg) {
|
try {
|
Map<String, Object> msgMap = JSONObject.parseObject(msg, Map.class);
|
if (msgMap != null) {
|
Double p = Double.parseDouble(msgMap.get("p").toString());
|
Double t = Double.parseDouble(msgMap.get("t").toString());
|
Double z = Double.parseDouble(msgMap.get("z").toString());
|
String radarId = msgMap.get("radarId").toString();
|
//获取雷达所在塔上的大光电
|
String cameraIdWithTower = ardEquipRadarMapper.getCameraByRadar(radarId);
|
if (StringUtils.isNotNull(cameraIdWithTower) && StringUtils.isNotEmpty(cameraIdWithTower)) {
|
log.debug("获取到雷达塔上的光电:" + cameraIdWithTower);
|
//如果雷达塔上有光电
|
CameraCmd cmd = new CameraCmd(cameraIdWithTower, 1);
|
cmd.setOperator("sys_radar_force");
|
Map<String, Double> ptzMap = new HashMap<>();
|
ptzMap.put("p", p);
|
ptzMap.put("t", t);
|
ptzMap.put("z", z);
|
cmd.setPtzMap(ptzMap);
|
boolean res = iCameraSdkService.setPtz(cmd);
|
if (res) {
|
log.debug("强制引导成功");
|
} else {
|
log.debug("强制引导失败");
|
}
|
} else {
|
log.debug("未获取到雷达塔上的光电");
|
}
|
}
|
} catch (Exception ex) {
|
log.error("强制引导异常:"+ ex.getMessage());
|
}
|
}
|
}
|