liujie
2026-07-22 44d1dd9c8ffaffe0c4cccbad0258438a5c9702b7
监控
1个文件已修改
28 ■■■■■ 已修改文件
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VideoMonitorController.java 28 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/VideoMonitorController.java
@@ -213,28 +213,24 @@
    }
    private void fillLiveAddress(VideoMonitorDeviceVO vo, TDevice device) {
        int channelNo = 1;
        try {
            JSONObject result = ezvizOpenApiUtils.getLiveAddress(
                    device.getDeviceSerial(),
                    device.getValidateCode(),
                    1
            );
            if (isEzvizSuccess(result)) {
                vo.setAccessToken(ezvizOpenApiUtils.getAccessToken());
                vo.setChannelNo(1);
                vo.setLiveAddress(resolveVideoUrl(result));
                if (StringUtils.hasText(vo.getLiveAddress())) {
                    vo.setOnlineStatus(1);
                    vo.setStatusMsg("在线");
                }
            } else {
                vo.setStatusMsg(ezvizErrorMessage("获取直播地址失败", result));
            vo.setAccessToken(ezvizOpenApiUtils.getAccessToken());
            vo.setChannelNo(channelNo);
            vo.setLiveAddress(buildEzopenLiveAddress(device.getDeviceSerial(), channelNo));
            if (Integer.valueOf(1).equals(vo.getOnlineStatus())) {
                vo.setStatusMsg("在线");
            }
        } catch (Exception e) {
            vo.setStatusMsg("获取直播地址失败:" + e.getMessage());
            vo.setLiveAddress(null);
            vo.setStatusMsg("获取直播凭证失败:" + e.getMessage());
        }
    }
    private String buildEzopenLiveAddress(String deviceSerial, Integer channelNo) {
        return String.format("ezopen://open.ys7.com/%s/%d.live", deviceSerial, channelNo);
    }
    private AjaxResult buildEzvizResult(JSONObject result, String defaultMessage) {
        if (isEzvizSuccess(result)) {
            return AjaxResult.success(result);