package com.ld.igds.phone.service.impl; import com.alibaba.fastjson.JSONObject; import com.ld.igds.camera.CameraUtil; import com.ld.igds.sec.manager.SecManager; import com.ld.igds.constant.RespCodeEnum; import com.ld.igds.phone.constant.PhoneConstant; import com.ld.igds.phone.dto.AuthUser; import com.ld.igds.phone.dto.PhoneResponse; import com.ld.igds.phone.param.ParamCamera; import com.ld.igds.phone.param.PhoneRequest; import com.ld.igds.phone.service.PhoneService; import com.ld.igds.phone.util.PhoneRespUtil; import com.ld.igds.sec.dto.SecCameraDto; import com.ld.igds.sec.service.CoreSecCameraService; import org.apache.commons.lang3.StringUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; /** * 视频解控-视频播放 * * @author chen */ @Service public class ServiceImpl5602 implements PhoneService { @Autowired private SecManager securityManager; @Autowired private CoreSecCameraService secCameraService; @Override public String getInterfaceId() { return PhoneConstant.API_PHONE_5602; } @SuppressWarnings("unchecked") @Override public PhoneResponse execute(PhoneRequest req, AuthUser authUser) throws Exception { //转化为对象 ParamCamera param = JSONObject.parseObject(req.getData().toString(), ParamCamera.class); if(param == null || StringUtils.isEmpty(param.getCameraId()) || StringUtils.isEmpty(param.getPlayType())){ return PhoneRespUtil.error(RespCodeEnum.CODE_1007,"参数异常,请重试!"); } if (CameraUtil.PLAY_TYPE_DEFAULT.equals(param.getPlayType())) { return PhoneRespUtil.error(RespCodeEnum.CODE_1007,"系统未配置当前摄像头播放方式,不执行预览"); } //获取设备信息 SecCameraDto camera = secCameraService.getCameraById(authUser.getCompanyId(), param.getCameraId()); if(null == camera){ return PhoneRespUtil.error(RespCodeEnum.CODE_1007,"未查询到相关设备!"); } if(StringUtils.isNotEmpty(camera.getPhoneAddr())){ camera.setPlayAddr(camera.getPhoneAddr()); return PhoneRespUtil.success(camera, req); } camera = securityManager.getPlayAddr(camera); if (camera == null) { return PhoneRespUtil.error(RespCodeEnum.CODE_1007,"未查询到相关设备!"); } return PhoneRespUtil.success(camera, req); } }