czt
2026-02-04 9ad1c8159544ed36729cffa66cb13b7e60fa46ec
客户问题优3-云台控制及监控同步
已修改8个文件
134 ■■■■■ 文件已修改
fzzy-igdss-core/src/main/java/com/fzzy/igds/camera/impl/ApiPlayYdQlyService.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SecCameraService.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/java/com/fzzy/security/SecurityController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/application-pro.yml 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/application-pro5372.yml 50 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/application.yml 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/static/security/video-control.js 21 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-web/src/main/resources/templates/security/video-list-dept.html 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
fzzy-igdss-core/src/main/java/com/fzzy/igds/camera/impl/ApiPlayYdQlyService.java
@@ -142,6 +142,7 @@
            camera.setSn(dto.getDeviceId());
            camera.setName(dto.getDeviceName());
            camera.setType("01");
            camera.setOrderNum(null);
            camera.setPlayType(CameraPlayType.PLAY_TYPE_YD_QLY.getCode());
            cameraService.pullUpdateCamera(camera);
        }
fzzy-igdss-core/src/main/java/com/fzzy/igds/service/SecCameraService.java
@@ -51,7 +51,7 @@
        if(StringUtils.isNotBlank(param.getSpdwlx())){
            queryWrapper.eq("spdwlx", param.getSpdwlx());
        }
        queryWrapper.orderByAsc("order_num");
        cameraMapper.selectPage(page, queryWrapper);
    }
fzzy-igdss-web/src/main/java/com/fzzy/security/SecurityController.java
@@ -90,6 +90,10 @@
        }
        view.put("showDeptList", showDeptList);
        //库区网关信息
        GatewaySer gatewaySer = commonManager.getGatewaySerByDeptId(deptId);
        view.put("gatewaySer", gatewaySer);
        //默认监控列表页面
        String viewUrl = prefix + "/video-list-dept";
fzzy-igdss-web/src/main/resources/application-pro.yml
@@ -116,4 +116,52 @@
  email: business@fzzygf.com
  phone: 400-627-1116
  website: http://www.fzzygf.com
  address: 郑州市高新区长椿路11号河南省国家大学科技园孵化1号楼
  address: 郑州市高新区长椿路11号河南省国家大学科技园孵化1号楼
# Shiro
shiro:
  user:
    # 登录地址
    loginUrl: /login
    # 权限认证失败地址
    unauthorizedUrl: /unauth
    # 首页地址
    indexUrl: /index
    # 验证码开关
    captchaEnabled: true
    # 验证码类型 math 数字计算 char 字符验证
    captchaType: math
  cookie:
    # 设置Cookie的域名 默认空,即当前访问的域名
    domain:
    # 设置cookie的有效访问路径
    path: /
    # 设置HttpOnly属性
    httpOnly: true
    # 设置Cookie的过期时间,天为单位
    maxAge: 30
    # 设置密钥,务必保持唯一性(生成方式,直接拷贝到main运行即可)Base64.encodeToString(CipherUtils.generateNewKey(128, "AES").getEncoded()) (默认启动生成随机秘钥,随机秘钥会导致之前客户端RememberMe Cookie无效,如设置固定秘钥RememberMe Cookie则有效)
    cipherKey:
  session:
    # Session超时时间,-1代表永不过期(默认30分钟)
    expireTime: -1
    # 同步session到数据库的周期(默认1分钟)
    dbSyncPeriod: 1
    # 相隔多久检查一次session的有效性,默认就是10分钟
    validationInterval: 10
    # 同一个用户最大会话数,比如2的意思是同一个账号允许最多同时两个人登录(默认-1不限制)
    maxSession: -1
    # 踢出之前登录的/之后登录的用户,默认踢出之前登录的用户
    kickoutAfter: false
  rememberMe:
    # 是否开启记住我
    enabled: true
# 防止XSS攻击
xss:
  # 过滤开关
  enabled: true
  # 排除链接(多个用逗号分隔)
  excludes: /system/notice/*
  # 匹配链接
  urlPatterns: /system/*,/monitor/*,/tool/*
fzzy-igdss-web/src/main/resources/application-pro5372.yml
@@ -116,4 +116,52 @@
  email: business@fzzygf.com
  phone: 400-627-1116
  website: http://www.fzzygf.com
  address: 郑州市高新区长椿路11号河南省国家大学科技园孵化1号楼
  address: 郑州市高新区长椿路11号河南省国家大学科技园孵化1号楼
# Shiro
shiro:
  user:
    # 登录地址
    loginUrl: /login
    # 权限认证失败地址
    unauthorizedUrl: /unauth
    # 首页地址
    indexUrl: /index
    # 验证码开关
    captchaEnabled: true
    # 验证码类型 math 数字计算 char 字符验证
    captchaType: math
  cookie:
    # 设置Cookie的域名 默认空,即当前访问的域名
    domain:
    # 设置cookie的有效访问路径
    path: /
    # 设置HttpOnly属性
    httpOnly: true
    # 设置Cookie的过期时间,天为单位
    maxAge: 30
    # 设置密钥,务必保持唯一性(生成方式,直接拷贝到main运行即可)Base64.encodeToString(CipherUtils.generateNewKey(128, "AES").getEncoded()) (默认启动生成随机秘钥,随机秘钥会导致之前客户端RememberMe Cookie无效,如设置固定秘钥RememberMe Cookie则有效)
    cipherKey:
  session:
    # Session超时时间,-1代表永不过期(默认30分钟)
    expireTime: -1
    # 同步session到数据库的周期(默认1分钟)
    dbSyncPeriod: 1
    # 相隔多久检查一次session的有效性,默认就是10分钟
    validationInterval: 10
    # 同一个用户最大会话数,比如2的意思是同一个账号允许最多同时两个人登录(默认-1不限制)
    maxSession: -1
    # 踢出之前登录的/之后登录的用户,默认踢出之前登录的用户
    kickoutAfter: false
  rememberMe:
    # 是否开启记住我
    enabled: true
# 防止XSS攻击
xss:
  # 过滤开关
  enabled: true
  # 排除链接(多个用逗号分隔)
  excludes: /system/notice/*
  # 匹配链接
  urlPatterns: /system/*,/monitor/*,/tool/*
fzzy-igdss-web/src/main/resources/application.yml
@@ -20,7 +20,7 @@
# Spring基础配置
spring:
  profiles:
    active: dev
    active: pro
  main:
    allow-bean-definition-overriding: true
  thymeleaf:
@@ -156,7 +156,7 @@
    cipherKey:
  session:
    # Session超时时间,-1代表永不过期(默认30分钟)
    expireTime: 30
    expireTime: -1
    # 同步session到数据库的周期(默认1分钟)
    dbSyncPeriod: 1
    # 相隔多久检查一次session的有效性,默认就是10分钟
fzzy-igdss-web/src/main/resources/static/security/video-control.js
@@ -30,26 +30,41 @@
//云台控制
function ptzControl(command) {
    if (!gatewaySer) {
        layer.msg("未获取到库区网关信息,云台控制失败!");
        return;
    }
    var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.ptzUrl;
   // layer.msg('开始调用云台……', {icon: 1, time: 1200,offset:'rb'});
    const param = getParam(command, null);
    const url = "/security/ptz-media";
    sendControlCommand(url, param);
}
//预置位控制
function presetControl(command) {
    if (!gatewaySer) {
        layer.msg("未获取到库区网关信息,云台控制失败!");
        return;
    }
    var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.ptzUrl;
    //layer.msg('开始执行……', {icon: 1, time: 1200,offset:'rb'});
    const preset = $("#preset").val();
    const param = getParam(command, preset);
    const url = "/security/ptz-media";
    sendControlCommand(url, param);
}
//停止移动
function moveStop() {
    if (!gatewaySer) {
        layer.msg("未获取到库区网关信息,云台控制失败!");
        return;
    }
    var url = "http://" + gatewaySer.ip + ":" + gatewaySer.apiPort + gatewaySer.ptzUrl;
    //layer.msg('开始调用云台……', {icon: 1, time: 1200,offset:'rb'});
    const param = getParam(0, null);
    const url = "/security/ptz-media";
    sendControlCommand(url, param);
}
fzzy-igdss-web/src/main/resources/templates/security/video-list-dept.html
@@ -470,6 +470,8 @@
    var listCamera = [[${listCamera}]];
    var type = [[${type}]];
    var lan = [[${lan}]];
    //网关信息
    var gatewaySer = [[${gatewaySer}]];
</script>
<script th:src="@{/js/jquery.min.js}"></script>
<script th:src="@{/ajax/libs/layui/layui.js}"></script>