|
@@ -0,0 +1,89 @@
|
|
|
+package com.huimv.admin.service.impl;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
|
+import com.huimv.admin.entity.BaseSpecificVideo;
|
|
|
+import com.huimv.admin.entity.CameraBase;
|
|
|
+import com.huimv.admin.entity.CameraBrand;
|
|
|
+import com.huimv.admin.entity.vo.CameraVo;
|
|
|
+import com.huimv.admin.mapper.BaseSpecificVideoMapper;
|
|
|
+import com.huimv.admin.mapper.CameraAreaMapper;
|
|
|
+import com.huimv.admin.mapper.CameraBaseMapper;
|
|
|
+import com.huimv.admin.mapper.CameraBrandMapper;
|
|
|
+import com.huimv.admin.service.IBaseSpecificVideoService;
|
|
|
+import javafx.scene.Camera;
|
|
|
+import org.springframework.beans.factory.annotation.Autowired;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+
|
|
|
+/**
|
|
|
+ * <p>
|
|
|
+ * 服务实现类
|
|
|
+ * </p>
|
|
|
+ *
|
|
|
+ * @author astupidcoder
|
|
|
+ * @since 2021-12-20
|
|
|
+ */
|
|
|
+@Service
|
|
|
+public class BaseSpecificVideoServiceImpl extends ServiceImpl<BaseSpecificVideoMapper, BaseSpecificVideo> implements IBaseSpecificVideoService {
|
|
|
+ @Autowired
|
|
|
+ private CameraBaseMapper cameraMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CameraAreaMapper cameraAreaMapper;
|
|
|
+
|
|
|
+ @Autowired
|
|
|
+ private CameraBrandMapper cameraBrandMapper;
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public List listSpecif(Integer farmId, Integer type) {
|
|
|
+ List<BaseSpecificVideo> list = this.list(new QueryWrapper<BaseSpecificVideo>().eq("farm_id", farmId).eq("type", type));
|
|
|
+
|
|
|
+ List list1 = new ArrayList();
|
|
|
+ for (BaseSpecificVideo baseSpecificVideo : list) {
|
|
|
+
|
|
|
+ CameraBase camera = cameraMapper.selectById(baseSpecificVideo.getVideoId());
|
|
|
+
|
|
|
+ list1.add(getCameraVo(camera));
|
|
|
+ }
|
|
|
+
|
|
|
+ return list1;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ public CameraVo getCameraVo(CameraBase camera) {
|
|
|
+
|
|
|
+
|
|
|
+ String cameraAccount = camera.getAccount();
|
|
|
+ String cameraPassword = camera.getPassword();
|
|
|
+ String camerIp = camera.getCameraIp();
|
|
|
+ String cameraName = camera.getCameraName();
|
|
|
+ String areaId = camera.getRegionUuid();
|
|
|
+ String url = cameraAreaMapper.selectById(areaId).getPublicUrl();
|
|
|
+
|
|
|
+ String rtsp;
|
|
|
+ CameraBrand cameraBrand = cameraBrandMapper.selectById(camera.getBrandId());
|
|
|
+ Integer type = cameraBrand.getStreamType();
|
|
|
+ if (type == 0) {
|
|
|
+ rtsp = cameraBrand.getMainStream();
|
|
|
+ } else {
|
|
|
+ rtsp = cameraBrand.getAssistStream();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ CameraVo cameraVo = new CameraVo();
|
|
|
+ cameraVo.setAreaId(areaId);
|
|
|
+ if (camera.getId() == 767){
|
|
|
+ cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
|
|
|
+ cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + "/cam/realmonitor?channel=2&subtype=0");
|
|
|
+ }else {
|
|
|
+ cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
|
|
|
+ cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
|
|
|
+ }
|
|
|
+
|
|
|
+ cameraVo.setCameraName(cameraName);
|
|
|
+ return cameraVo;
|
|
|
+ }
|
|
|
+}
|