czt
2026-01-29 3b5a487f187138ee67e83752d9a67d2bb9058f36
出入库增加云端视频播放
已删除1个文件
已修改7个文件
210 ■■■■ 文件已修改
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3030.java 19 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java 17 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/inout/InoutApiController.java 86 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/inout/InoutController.java 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/static/common/constant.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/static/inout/video-play.js 27 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/ApiV1Controller.java
@@ -50,7 +50,7 @@
    @ResponseBody
    public ApiV1Resp<Object> gateway(@RequestBody ApiV1Req<Object> req) {
        log.debug("质押监管接口V1,收到库区网关信息={}", req);
        log.debug("质押监管接口V1,收到库区网关信息={}", req.getFunctionId());
        try {
            //参数校验
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3030.java
@@ -14,6 +14,7 @@
import org.apache.commons.lang3.time.DateUtils;
import org.springframework.scheduling.annotation.Async;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.util.List;
@@ -32,7 +33,6 @@
    private FileService fileService;
    /**
     *
     * @param req
     * @param gatewaySer
     * @return
@@ -40,27 +40,26 @@
    public ApiV1Resp<Object> analysis(ApiV1Req<Object> req, GatewaySer gatewaySer) throws Exception{
        //转化为对象
        List<Param3030> list = JSONObject.parseArray(JSONObject.toJSONString(req.getData()), Param3030.class);
        Param3030 param = JSONObject.parseObject(JSONObject.toJSONString(req.getData()), Param3030.class);
        if(null == list || list.isEmpty()){
        if (null == param) {
            return ApiV1Resp.error("抓拍信息为空,不解析!", req);
        }
        step1(list, gatewaySer);
        step1(param, gatewaySer);
        return ApiV1Resp.success(null, req);
    }
    /**
     * å¼‚步解析
     * @param list
     *
     * @param param3030
     */
    @Async
    public void step1(List<Param3030> list, GatewaySer gatewaySer) throws Exception {
    public void step1(Param3030 param3030, GatewaySer gatewaySer) throws Exception {
        SnapRecord snapRecord;
        for (Param3030 param3030 : list) {
            snapRecord = new SnapRecord();
        SnapRecord snapRecord = new SnapRecord();
            snapRecord.setId(ContextUtil.generateId());
            snapRecord.setCompanyId(gatewaySer.getCompanyId());
            snapRecord.setDeptId(gatewaySer.getDeptId());
@@ -79,7 +78,7 @@
            snapRecord.setImgName(filePath.replace(FrameworkConfig.getProfile(), "/profile/"));
            snapRecordService.addData(snapRecord);
        }
        log.info("质押监管接口V1,3030接口解析完成");
    }
fzzy-igdss-inte/src/main/java/com/fzzy/igds/api/v1/service/ApiV1Service3031.java
@@ -33,7 +33,6 @@
    private FileService fileService;
    /**
     *
     * @param req
     * @param gatewaySer
     * @return
@@ -41,13 +40,13 @@
    public ApiV1Resp<Object> analysis(ApiV1Req<Object> req, GatewaySer gatewaySer) throws Exception {
        //转化为对象
        List<Param3031> list = JSONObject.parseArray(JSONObject.toJSONString(req.getData()), Param3031.class);
        Param3031 param = JSONObject.parseObject(JSONObject.toJSONString(req.getData()), Param3031.class);
        if (null == list || list.isEmpty()) {
        if (null == param) {
            return ApiV1Resp.error("抓拍信息为空,不解析!", req);
        }
        step1(list, gatewaySer);
        step1(param, gatewaySer);
        return ApiV1Resp.success(null, req);
@@ -56,15 +55,12 @@
    /**
     * å¼‚步解析
     *
     * @param list
     * @param param
     */
    @Async
    public void step1(List<Param3031> list, GatewaySer gatewaySer) throws Exception {
    public void step1(Param3031 param, GatewaySer gatewaySer) throws Exception {
        EventInfo info;
        for (Param3031 param : list) {
            info = new EventInfo();
        EventInfo info = new EventInfo();
            info.setId(ContextUtil.generateId());
            info.setCompanyId(gatewaySer.getCompanyId());
            info.setDeptId(gatewaySer.getDeptId());
@@ -87,7 +83,6 @@
            info.setImgName(filePath.replace(FrameworkConfig.getProfile(), "/profile/"));
            eventInfoService.addData(info);
        }
        log.info("质押监管接口V1,3031接口解析完成");
fzzy-igdss-web/src/main/java/com/fzzy/inout/InoutApiController.java
ÎļþÒÑɾ³ý
fzzy-igdss-web/src/main/java/com/fzzy/inout/InoutController.java
@@ -1,6 +1,8 @@
package com.fzzy.inout;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.igds.camera.data.ApiCameraData;
import com.fzzy.igds.camera.data.ApiCameraResp;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.data.*;
import com.fzzy.igds.domain.*;
@@ -470,4 +472,20 @@
        return prefix + "/inout-img";
    }
    /**
     * èŽ·å–è§†é¢‘æ’­æ”¾åœ°å€
     *
     * @param param
     * @return
     */
    @RequestMapping("/get-media")
    @ResponseBody
    public ApiCameraResp getMedia(@RequestBody InoutConf param) {
        //获取请求方IP
        return inoutManager.getPlayAddr(param);
    }
}
fzzy-igdss-web/src/main/java/com/fzzy/inout/manager/InoutManager.java
@@ -2,6 +2,9 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.fzzy.common.manager.CommonManager;
import com.fzzy.igds.camera.ApiCameraManager;
import com.fzzy.igds.camera.data.ApiCameraData;
import com.fzzy.igds.camera.data.ApiCameraResp;
import com.fzzy.igds.constant.Constant;
import com.fzzy.igds.constant.RespCodeEnum;
import com.fzzy.igds.data.*;
@@ -44,6 +47,8 @@
    private InoutNoticeService inoutNoticeService;
    @Resource
    private CommonManager commonManager;
    @Resource
    private ApiCameraManager apiCameraManager;
    /**
     * æ ¹æ®ç”¨æˆ·è¯·æ±‚信息,根据当前客户电脑IP,获取出入库称重上次选择的地磅
@@ -564,4 +569,39 @@
        }
        return files;
    }
    /**
     * èŽ·å–æ’­æ”¾ä¿¡æ¯
     *
     * @param camera
     * @return
     */
    public ApiCameraResp getPlayAddr(InoutConf camera) {
        //通过统一入口获取播放地址
        ApiCameraData apiCameraData = new ApiCameraData();
        apiCameraData.setCompanyId(camera.getCompanyId());
        apiCameraData.setDeptId(camera.getDeptId());
        apiCameraData.setCameraId(camera.getSn());
        apiCameraData.setIp(camera.getIp());
        apiCameraData.setCtrlPort(camera.getPortCtrl());
        apiCameraData.setWebPort(camera.getPort());
        apiCameraData.setPlayType(camera.getPlayType());
        apiCameraData.setSnapType(camera.getSnapType());
        apiCameraData.setSn(camera.getSn());
        apiCameraData.setChannel(camera.getChanNum());
        apiCameraData.setLoginId(camera.getLoginId());
        apiCameraData.setPwd(camera.getPwd());
        apiCameraData.setUrlIn(camera.getUrlIn());
        apiCameraData.setUrlOut(camera.getUrlOut());
        apiCameraData.setMediaAddr(camera.getMediaAddr());
        //根据播放方式获取对应的播放地址
        ApiCameraResp resp = apiCameraManager.getApiCameraService(apiCameraData.getPlayType()).getPlayAddr(apiCameraData);
        resp.setPlayType(camera.getPlayType());
        resp.setSnapType(camera.getSnapType());
        resp.setCameraId(camera.getSn());
        return resp;
    }
}
fzzy-igdss-web/src/main/resources/static/common/constant.js
@@ -84,6 +84,7 @@
    EASY_GBS: "EASY_GBS",//fzzy-easy流媒体播放
    EASY_DSS: "EASY_DSS",//萤石云播放
    MEDIA_HIK: "MEDIA_HIK",//海康流媒体
    PLAY_TYPE_YD_QLY: "YD_QLY",//海康流媒体
    HIK_YS: "HIK_YS",//海康-萤石云
    HIK_WEB4: "HIK_WEB4",//海康-WEB插件
    IMOU: "IMOU",///乐橙云
fzzy-igdss-web/src/main/resources/static/inout/video-play.js
@@ -21,9 +21,15 @@
        initVideo2(snapParam2, snapPram3);
        return;
    }
    var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl;
    //车牌识别播放
    if (snapParam1) {
        var url = "";
        if (PlayType.PLAY_TYPE_WEB_RTC == snapParam1.playType) {
            url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl;
        }
        if (PlayType.PLAY_TYPE_YD_QLY == snapParam1.playType) {
            url = "/basic/inout/get-media";
        }
        $.ajax({
            type: "POST",
            url: url,
@@ -56,8 +62,14 @@
        initVideo3(snapParam3)
        return;
    }
    var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl;
    if (snapParam2) {
        var url = "";
        if (PlayType.PLAY_TYPE_WEB_RTC == snapParam2.playType) {
            url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl;
        }
        if (PlayType.PLAY_TYPE_YD_QLY == snapParam2.playType) {
            url = "/basic/inout/get-media";
        }
        $.ajax({
            type: "POST",
            url: url,
@@ -90,7 +102,13 @@
        return;
    }
    if (!snapParam3) return;
    var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl;
    var url = "";
    if (PlayType.PLAY_TYPE_WEB_RTC == snapParam3.playType) {
        url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.playUrl;
    }
    if (PlayType.PLAY_TYPE_YD_QLY == snapParam3.playType) {
        url = "/basic/inout/get-media";
    }
    $.ajax({
        type: "POST",
        url: url,
@@ -126,6 +144,9 @@
        videoId = data.cameraId;
        htm = '<video class="video" id="video' + playNum + '" autoplay="" muted="" playsinline=""></video>';
    }
    if (PlayType.PLAY_TYPE_YD_QLY == data.playType) {
        htm = '<iframe src="' + data.playUrl + '" width="100%" height="100%" frameborder="0" allowfullscreen></iframe>';
    }
    if (1 == order) {
        $("#kccz-r-video1").append(htm);