|
@@ -11,10 +11,12 @@ import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
import com.huimv.guowei.admin.common.utils.Result;
|
|
|
import com.huimv.guowei.admin.common.utils.ResultCode;
|
|
|
+import com.huimv.guowei.admin.entity.BaseScreenCameraAccount;
|
|
|
import com.huimv.guowei.admin.entity.SysCamera;
|
|
|
import com.huimv.guowei.admin.entity.SysCameraArea;
|
|
|
import com.huimv.guowei.admin.entity.SysCameraBrand;
|
|
|
import com.huimv.guowei.admin.entity.vo.*;
|
|
|
+import com.huimv.guowei.admin.mapper.BaseScreenCameraAccountMapper;
|
|
|
import com.huimv.guowei.admin.mapper.SysCameraAreaMapper;
|
|
|
import com.huimv.guowei.admin.mapper.SysCameraBrandMapper;
|
|
|
import com.huimv.guowei.admin.mapper.SysCameraMapper;
|
|
@@ -46,6 +48,9 @@ public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera
|
|
|
@Autowired
|
|
|
private SysCameraBrandMapper cameraBrandMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ private BaseScreenCameraAccountMapper cameraAccountMapper;
|
|
|
+
|
|
|
@Override
|
|
|
public Result listPage(CameraListVo cameraListVo) {
|
|
|
Integer current = cameraListVo.getCurrent();
|
|
@@ -199,4 +204,58 @@ public class SysCameraServiceImpl extends ServiceImpl<SysCameraMapper, SysCamera
|
|
|
return new Result(10000, "修改成功", true);
|
|
|
}
|
|
|
|
|
|
+ @Override
|
|
|
+ public Result initCamera(Integer farmId, Integer userId) {
|
|
|
+ BaseScreenCameraAccount cameraAccount = cameraAccountMapper.selectOne(new QueryWrapper<BaseScreenCameraAccount>().eq("farm_id", farmId).eq("account_id", userId));
|
|
|
+ Integer cameraId;
|
|
|
+ if (ObjectUtil.isEmpty(cameraAccount)) {
|
|
|
+ SysCamera one = this.getOne(new QueryWrapper<SysCamera>().eq("run_status", 1).eq("farm_id", farmId).last("limit 1"));
|
|
|
+ if (ObjectUtil.isNotEmpty(one)){
|
|
|
+ cameraId = one.getId();
|
|
|
+ }else {
|
|
|
+ return new Result(10001,"改牧场无耳标", false);
|
|
|
+ }
|
|
|
+
|
|
|
+ } else {
|
|
|
+ cameraId = cameraAccount.getCameraId();
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ SysCamera camera = this.getById(cameraId);
|
|
|
+ if (!camera.getRunStatus()) {
|
|
|
+ return new Result(10001, "该摄像头已经被禁用", false);
|
|
|
+ }
|
|
|
+
|
|
|
+ return new Result(ResultCode.SUCCESS, getCameraVo(camera));
|
|
|
+ }
|
|
|
+
|
|
|
+ public CameraVo getCameraVo(SysCamera camera) {
|
|
|
+
|
|
|
+ String cameraAccount = camera.getAccount();
|
|
|
+ String cameraPassword = camera.getPassword();
|
|
|
+ String camerIp = camera.getCameraIp();
|
|
|
+ String cameraName = camera.getCameraName();
|
|
|
+ Integer areaId = camera.getAreaId();
|
|
|
+ String url = cameraAreaMapper.selectById(areaId).getPublicUrl();
|
|
|
+
|
|
|
+ String rtsp;
|
|
|
+ SysCameraBrand 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);
|
|
|
+
|
|
|
+ cameraVo.setWsUrl("ws://" + url + "/camera_relay?tcpaddr=" + cameraAccount + "%3A" + cameraPassword + "%40" + camerIp);
|
|
|
+ cameraVo.setRtspUrl("rtsp://" + cameraAccount + ":" + cameraPassword + "@" + camerIp + rtsp);
|
|
|
+ cameraVo.setCameraName(cameraName);
|
|
|
+ return cameraVo;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|