wyyay 2 years ago
parent
commit
4356bf73fc
25 changed files with 447 additions and 204 deletions
  1. 23 6
      business-service/src/main/java/com/ozs/service/entity/BaseUser.java
  2. 7 0
      business-service/src/main/java/com/ozs/service/entity/MsgAlarm.java
  3. 6 0
      business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVo.java
  4. 2 0
      business-service/src/main/java/com/ozs/service/mapper/BaseRailwayManagementMapper.java
  5. 2 0
      business-service/src/main/java/com/ozs/service/mapper/BaseUserMapper.java
  6. 5 0
      business-service/src/main/java/com/ozs/service/service/BaseCameraManagementService.java
  7. 4 0
      business-service/src/main/java/com/ozs/service/service/BaseRailwayManagementService.java
  8. 2 0
      business-service/src/main/java/com/ozs/service/service/BaseUserService.java
  9. 86 2
      business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java
  10. 8 7
      business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java
  11. 5 0
      business-service/src/main/java/com/ozs/service/service/impl/BaseRailwayManagementServiceImpl.java
  12. 5 0
      business-service/src/main/java/com/ozs/service/service/impl/BaseUserServiceImpl.java
  13. 9 0
      business-service/src/main/java/com/ozs/service/utils/DataPermissionUtils.java
  14. 3 0
      business-service/src/main/resources/mapper/service/BaseRailwayManagementMapper.xml
  15. 15 6
      business-service/src/main/resources/mapper/service/BaseUserMapper.xml
  16. 58 3
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java
  17. 6 2
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java
  18. 1 0
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java
  19. 21 21
      hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConfig.java
  20. 131 129
      hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketServer.java
  21. 28 17
      hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java
  22. BIN
      hazard-admin/src/main/resources/template/baseCameraManagement.xlsx
  23. BIN
      hazard-admin/src/main/resources/template/baseRailwayManagement.xlsx
  24. BIN
      hazard-admin/src/main/resources/template/provisionalPlan.xlsx
  25. 20 11
      hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

+ 23 - 6
business-service/src/main/java/com/ozs/service/entity/BaseUser.java

@@ -43,21 +43,38 @@ public class BaseUser implements Serializable {
     /** 用户邮箱 */
     private String email;
 
-    /** 手机号码 */
+    /**
+     * 手机号码
+     */
     private String phoneNum;
 
-    /** 用户性别 */
+    /**
+     * 用户性别
+     */
     private Integer sex;
 
-    /** 用户头像 */
+    /**
+     * 用户头像
+     */
     private String avatar;
 
-    /** 密码 */
+    /**
+     * 密码
+     */
     private String password;
 
-    /** 帐号状态(0正常 1停用) */
+    /**
+     * 帐号状态(0正常 1停用)
+     */
     private Integer status;
 
-    /** 删除标志(0代表存在 2代表删除) */
+    /**
+     * 删除标志(0代表存在 2代表删除)
+     */
     private Integer delFlag;
+
+    /**
+     * 数据权限 1:本人;2:本部门;3:本部门及下级部门;4:本人及本级部门;5:本人及本部门及下级部门;6:全部
+     */
+    private Integer dataPermission;
 }

+ 7 - 0
business-service/src/main/java/com/ozs/service/entity/MsgAlarm.java

@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.annotation.TableId;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 import com.fasterxml.jackson.annotation.JsonFormat;
 import com.ozs.common.annotation.Excel;
@@ -163,4 +164,10 @@ public class MsgAlarm extends BaseEntity implements Serializable {
      */
     @TableField(exist = false)
     private Integer alarmCount;
+
+    /**
+     * 报警图片地址网络路径
+     */
+    @TableField(exist = false)
+    private List<String> imageUrls;
 }

+ 6 - 0
business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVo.java

@@ -1,5 +1,6 @@
 package com.ozs.service.entity.vo;
 
+import com.baomidou.mybatisplus.annotation.TableField;
 import com.ozs.common.vo.PageVo;
 import lombok.Data;
 import java.io.Serializable;
@@ -42,4 +43,9 @@ public class BaseCameraManagementVo extends PageVo implements Serializable {
      * 监控范围结束里程位置
      */
     private Integer endMile;
+
+    /**
+     * 监控相机安装里程位置字符串形式
+     */
+    private String installMiles;
 }

+ 2 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseRailwayManagementMapper.java

@@ -3,6 +3,7 @@ package com.ozs.service.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.BaseRailwayManagement;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * <p>
@@ -15,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface BaseRailwayManagementMapper extends BaseMapper<BaseRailwayManagement> {
 
+    String getCameraNameByCameraCode(@Param("cameraCode") String cameraCode);
 }

+ 2 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseUserMapper.java

@@ -29,4 +29,6 @@ public interface BaseUserMapper extends BaseMapper<BaseUser> {
     Set<String> getUserIdByDeptIdsBy5(@Param("deptList") List<Long> deptList);
 
     Set<String> getUserIdList6();
+
+    BaseUser getUser(@Param("userId") String userId);
 }

+ 5 - 0
business-service/src/main/java/com/ozs/service/service/BaseCameraManagementService.java

@@ -17,9 +17,14 @@ import java.util.List;
 public interface BaseCameraManagementService extends IService<BaseCameraManagement> {
     /**
      * 相机台账管理表导入
+     *
      * @param accountManageList
      * @param updateSupport
      * @return
      */
     String importBaseAccountManagement(List<BaseCameraManagement> accountManageList, boolean updateSupport);
+
+    List<BaseCameraManagement> selectCameraAll(String userId);
+
+    List<String> getUserIds(String userId);
 }

+ 4 - 0
business-service/src/main/java/com/ozs/service/service/BaseRailwayManagementService.java

@@ -2,6 +2,7 @@ package com.ozs.service.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.BaseRailwayManagement;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
 
@@ -16,9 +17,12 @@ import java.util.List;
 public interface BaseRailwayManagementService extends IService<BaseRailwayManagement> {
     /**
      * 线路管理表导入
+     *
      * @param accountManageList
      * @param updateSupport
      * @return
      */
     String importBaseLineManagement(List<BaseRailwayManagement> accountManageList, boolean updateSupport);
+
+    String getCameraNameByCameraCode(String cameraCode);
 }

+ 2 - 0
business-service/src/main/java/com/ozs/service/service/BaseUserService.java

@@ -12,4 +12,6 @@ import java.util.Set;
 public interface BaseUserService extends IService<BaseUser> {
 
     Set<String> getUserIdList(String createBy, Long deptId);
+
+    BaseUser getUser(String userId);
 }

+ 86 - 2
business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java

@@ -3,11 +3,18 @@ package com.ozs.service.service.impl;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.exception.ServiceException;
+import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanValidators;
 import com.ozs.service.entity.BaseCameraManagement;
+import com.ozs.service.entity.BaseDeviceDynamicManagement;
+import com.ozs.service.entity.BaseUser;
 import com.ozs.service.mapper.BaseCameraManagementMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.service.mapper.BaseDeviceDynamicManagementMapper;
+import com.ozs.service.mapper.BaseUserMapper;
 import com.ozs.service.service.BaseCameraManagementService;
+import com.ozs.service.service.BaseUserService;
+import com.ozs.service.utils.DataPermissionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.util.ObjectUtils;
@@ -15,7 +22,9 @@ import org.springframework.util.ObjectUtils;
 import javax.annotation.Resource;
 import javax.validation.Validator;
 import java.util.ArrayList;
+import java.util.HashSet;
 import java.util.List;
+import java.util.Set;
 
 /**
  * <p>
@@ -29,8 +38,14 @@ import java.util.List;
 public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManagementMapper, BaseCameraManagement> implements BaseCameraManagementService {
     @Autowired
     protected Validator validator;
+    @Autowired
+    BaseDeviceDynamicManagementMapper baseDeviceDynamicManagementMapper;
+    @Resource
+    private BaseCameraManagementMapper baseCameraManagementMapper;
+    @Resource
+    private BaseUserService baseUserService;
     @Resource
-    BaseCameraManagementMapper baseCameraManagementMapper;
+    private BaseUserMapper baseUserMapper;
 
     /**
      * 相机台账管理表导入
@@ -53,17 +68,27 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                 // 判断相机编码是否存在
                 LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
                 if (!ObjectUtils.isEmpty(accountManagement.getCameraCode())) {
-                    lw.eq(BaseCameraManagement::getId, accountManagement.getCameraCode());
+                    lw.eq(BaseCameraManagement::getCameraCode, accountManagement.getCameraCode());
                 }
                 BaseCameraManagement baseAccountManagement = baseCameraManagementMapper.selectOne(lw);
                 if (ObjectUtils.isEmpty(baseAccountManagement)) {
                     BeanValidators.validateWithException(validator, accountManagement);
                     baseCameraManagementMapper.insert(accountManagement);
+                    BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
+                    baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
+                    baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
                     successNum++;
                     successMsg.append("<br/>" + successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
                 } else if (updateSupport) {
                     BeanValidators.validateWithException(validator, accountManagement);
                     baseCameraManagementMapper.update(accountManagement, lw);
+                    LambdaQueryWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
+                    if (!ObjectUtils.isEmpty(baseAccountManagement.getCameraCode())) {
+                        wrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseAccountManagement.getCameraCode());
+                    }
+                    BaseDeviceDynamicManagement baseDeviceDynamicManagement = baseDeviceDynamicManagementMapper.selectOne(wrapper);
+                    baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
+                    baseDeviceDynamicManagementMapper.updateById(baseDeviceDynamicManagement);
                     successNum++;
                     successMsg.append("<br/>" + successNum + "、相机编码 " + accountManagement.getCameraCode() + " 更新成功");
                 } else {
@@ -85,4 +110,63 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
         }
         return successMsg.toString();
     }
+
+    /**
+     * 获取相机列表+数据权限
+     *
+     * @return
+     */
+    @Override
+    public List<BaseCameraManagement> selectCameraAll(String userId) {
+        List<String> userIdList = getUserIds(userId);
+        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+        if (!ObjectUtils.isEmpty(userIdList)) {
+            lw.in(BaseCameraManagement::getCreateBy, userIdList);
+        }
+        List<BaseCameraManagement> baseCameraManagementList = baseCameraManagementMapper.selectList(lw);
+        return baseCameraManagementList;
+    }
+
+    /**
+     * 根据当前登陆用户ID 查询当前用户数据权限
+     *
+     * @param userId
+     * @return
+     */
+    public List<String> getUserIds(String userId) {
+        BaseUser baseUser = baseUserService.getUser(userId);
+        if (StringUtils.isNull(baseUser) || StringUtils.isNull(baseUser.getDataPermission())
+                || StringUtils.isNull(baseUser.getDeptId())) {
+            return null;
+        }
+        // 数据权限 1:本人;2:本部门;3:本部门及下级部门;4:本人及本级部门;5:本人及本部门及下级部门;6:全部
+        Integer dataPermission = baseUser.getDataPermission();
+        Long deptId = baseUser.getDeptId();
+        Set<String> set = new HashSet<>();
+        if (1 == dataPermission) {
+            set = baseUserMapper.getUserIdList(userId);
+        } else if (2 == dataPermission) {
+            set = baseUserMapper.getUserIdByDeptId(deptId);
+        } else if (3 == dataPermission) {
+            // 获取部门数据
+            List<Long> deptList = baseUserMapper.getDeptId(deptId);
+            // 获取用户列表
+            set = baseUserMapper.getUserIdByDeptIds(deptList);
+        } else if (4 == dataPermission) {
+            set = baseUserMapper.getUserIdByDeptIdAndUserId(userId, deptId);
+        } else if (5 == dataPermission) {
+            // 获取本人
+            Set<String> setUser = baseUserMapper.getUserIdListBy5(userId);
+            // 获取部门数据
+            List<Long> deptList5 = baseUserMapper.getDeptId(deptId);
+            // 获取用户列表
+            Set<String> setUsers = baseUserMapper.getUserIdByDeptIdsBy5(deptList5);
+            set.addAll(setUser);
+            set.addAll(setUsers);
+        } else if (6 == dataPermission) {
+            set = baseUserMapper.getUserIdList6();
+        }
+        List<String> list = new ArrayList<>(set);
+        return list;
+    }
 }

+ 8 - 7
business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java

@@ -31,6 +31,7 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
 
     @Override
     public CameraTree cameraTree(String name) {
+        //1 父
         CameraTree cameraTree = CameraTree.builder()
                 .name("相机树")
                 .code("0")
@@ -38,10 +39,7 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
                 .children(new ArrayList<>())
                 .build();
         Map<String, CameraTree> map = new HashMap<>();
-        Map<String, CameraTree> map1 = new HashMap<>();
-
         List<BaseCameraManagementDto> list = baseDeviceDynamicManagementMapper.list(name);
-
         if (list.size() > 0) {
             for (BaseCameraManagementDto o : list) {
                 // 线路
@@ -70,8 +68,11 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
 
 
                 if (!ObjectUtils.isEmpty(map.get(o.getRailwayCode().toString()))) {
-                    map.get(o.getRailwayCode().toString()).getChildren().add(build1);
-                    map1.put(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"), build1);
+                    CameraTree cameraTree1 = map.get(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"));
+                    if (ObjectUtils.isEmpty(cameraTree1)) {
+                        map.put(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"), build1);
+                        map.get(o.getRailwayCode().toString()).getChildren().add(build1);
+                    }
                 }
 
                 // 摄像头
@@ -83,8 +84,8 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
                         .build();
 
 
-                if (!ObjectUtils.isEmpty(map1.get(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")))) {
-                    map1.get(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")).getChildren().add(build2);
+                if (!ObjectUtils.isEmpty(map.get(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")))) {
+                    map.get(o.getInstallMile() + "-" + (o.getLineDir().equals("1") ? "上行" : "下行")).getChildren().add(build2);
                 }
             }
         }

+ 5 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseRailwayManagementServiceImpl.java

@@ -83,4 +83,9 @@ public class BaseRailwayManagementServiceImpl extends ServiceImpl<BaseRailwayMan
         }
         return successMsg.toString();
     }
+
+    @Override
+    public String getCameraNameByCameraCode(String cameraCode) {
+        return baseRailwayManagementMapper.getCameraNameByCameraCode(cameraCode);
+    }
 }

+ 5 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseUserServiceImpl.java

@@ -53,4 +53,9 @@ public class BaseUserServiceImpl extends ServiceImpl<BaseUserMapper, BaseUser> i
         set.addAll(set6);
         return set;
     }
+
+    @Override
+    public BaseUser getUser(String userId) {
+        return baseUserMapper.getUser(userId);
+    }
 }

+ 9 - 0
business-service/src/main/java/com/ozs/service/utils/DataPermissionUtils.java

@@ -0,0 +1,9 @@
+package com.ozs.service.utils;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/10 20:26
+ */
+public class DataPermissionUtils {
+
+}

+ 3 - 0
business-service/src/main/resources/mapper/service/BaseRailwayManagementMapper.xml

@@ -2,4 +2,7 @@
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 <mapper namespace="com.ozs.service.mapper.BaseRailwayManagementMapper">
 
+    <select id="getCameraNameByCameraCode" resultType="java.lang.String" parameterType="java.lang.String">
+        select railway_name railwayName from base_railway_management where railway_code = #{cameraCode}
+    </select>
 </mapper>

+ 15 - 6
business-service/src/main/resources/mapper/service/BaseUserMapper.xml

@@ -19,14 +19,16 @@
     <select id="getDeptId" resultType="java.lang.Long" parameterType="java.lang.Long">
         select dept_id
         from sys_dept
-        where find_in_set(#{deptId}, ancestors)
+        where dept_id = #{deptId} or find_in_set(#{deptId}, ancestors)
     </select>
 
-    <select id="getUserIdByDeptIds" resultType="java.util.List" parameterType="java.lang.Long">
+    <select id="getUserIdByDeptIds" resultType="java.lang.String" parameterType="java.util.List">
         select user_id
         from sys_user
-        where dept_id in #{deptList}
-          and data_permission = 3
+        where data_permission = 3 and dept_id in
+        <foreach item="item" collection="deptList" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
     </select>
 
     <select id="getUserIdByDeptIdAndUserId" resultType="java.lang.String">
@@ -46,8 +48,11 @@
     <select id="getUserIdByDeptIdsBy5" resultType="java.util.List" parameterType="java.lang.Long">
         select user_id
         from sys_user
-        where dept_id in #{deptList}
-          and data_permission = 5
+        where dept_id in
+        <foreach item="item" collection="deptList" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
+        and data_permission = 5
     </select>
 
     <select id="getUserIdList6" resultType="java.lang.String">
@@ -55,4 +60,8 @@
         from sys_user
         where data_permission = 6
     </select>
+
+    <select id="getUser" resultType="com.ozs.service.entity.BaseUser" parameterType="java.lang.String">
+        select user_id userId, dept_id deptId, data_permission dataPermission from sys_user where user_id = #{userId}
+    </select>
 </mapper>

+ 58 - 3
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -8,6 +8,8 @@ import com.ozs.common.config.BaseConfig;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.core.domain.entity.SysUser;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.exception.base.BaseException;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
@@ -86,6 +88,17 @@ public class BaseCameraManagementController extends BaseController {
     @Autowired
     private CaneraConfig caneraConfig;
 
+    /**
+     * 所有相机列表+权限
+     */
+    @ApiOperation(value = "相机台账管理分页")
+    @GetMapping("/selectCameraAll")
+    public AjaxResult selectCameraAll() {
+        String userId = getUserId();
+        List<BaseCameraManagement> baseCameraManagements = baseCameraManagementService.selectCameraAll(userId);
+        return AjaxResult.success(baseCameraManagements);
+    }
+
     /**
      * 相机台账管理分页
      *
@@ -95,7 +108,11 @@ public class BaseCameraManagementController extends BaseController {
     @ApiOperation(value = "相机台账管理分页")
     @PostMapping("/list")
     public AjaxResult selectBaseAccountManagement(@RequestBody BaseCameraManagementVo baseCameraManagementVo) {
+        List<String> userIds = baseCameraManagementService.getUserIds(getUserId());
         LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+        if (!ObjectUtils.isEmpty(userIds)) {
+            lw.in(BaseCameraManagement::getCreateBy, userIds);
+        }
         if (!ObjectUtils.isEmpty(baseCameraManagementVo.getLineDir()) && baseCameraManagementVo.getLineDir() != 0) {
             lw.eq(BaseCameraManagement::getLineDir, baseCameraManagementVo.getLineDir());
         }
@@ -111,6 +128,10 @@ public class BaseCameraManagementController extends BaseController {
         if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
             lw.le(BaseCameraManagement::getEndMile, baseCameraManagementVo.getEndMile());
         }
+        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getInstallMiles())) {
+            int miles = AppendUtils.stringSplit(baseCameraManagementVo.getInstallMiles());
+            lw.eq(BaseCameraManagement::getInstallMile, miles);
+        }
         IPage<BaseCameraManagement> page = baseCameraManagementService.page(new Page<>(baseCameraManagementVo.getPageNum(), baseCameraManagementVo.getPageSize()), lw);
         if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
             List<BaseCameraManagement> dto1 = page.getRecords().stream().map(o -> {
@@ -214,7 +235,7 @@ public class BaseCameraManagementController extends BaseController {
             lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
         }
         BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(lw);
-        if (!ObjectUtils.isEmpty(cameraManagement)) {
+        if (!ObjectUtils.isEmpty(cameraManagement) && !cameraManagement.getId().equals(baseCameraManagement.getId())) {
             return error("相机编码已存在,不能进行修改操作");
         }
         int miles = AppendUtils.stringSplit(baseCameraManagement.getBeginMiles());
@@ -224,7 +245,13 @@ public class BaseCameraManagementController extends BaseController {
         int end = AppendUtils.stringSplit(baseCameraManagement.getEndMiles());
         baseCameraManagement.setEndMile(end);
         baseCameraManagement.setUpdateBy(getUserId());
-        if (baseCameraManagementService.updateById(baseCameraManagement)) {
+        LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
+        if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
+            queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseCameraManagement.getCameraCode());
+        }
+        BaseDeviceDynamicManagement one = baseDeviceDynamicManagementService.getOne(queryWrapper);
+        one.setCameraCode(baseCameraManagement.getCameraCode());
+        if (baseCameraManagementService.updateById(baseCameraManagement) && baseDeviceDynamicManagementService.updateById(one)) {
             return AjaxResult.success();
         }
         return AjaxResult.error();
@@ -332,7 +359,7 @@ public class BaseCameraManagementController extends BaseController {
     @GetMapping("/downloaExcel")
     public void downloadZip(HttpServletResponse response) {
         try {
-            InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/provisionalPlan.xlsx");
+            InputStream resourceAsStream = this.getClass().getResourceAsStream("/baseCameraManagement.xlsx");
             response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
             FileUtils.setAttachmentResponseHeader(response, "相机台账管理信息模板.xlsx");
             FileUtils.writeBytesByInput(resourceAsStream, response.getOutputStream());
@@ -395,9 +422,13 @@ public class BaseCameraManagementController extends BaseController {
     @GetMapping("/endRecording/{id}")
     public AjaxResult endRecording(@PathVariable Long id) {
         BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
+        log.info("endRecording------------" + baseCameraManagement.getTaskId());
         String start = HttpUtils.sendGet(CameraUtil.endRecording(baseCameraManagement.getTaskId()));
+        log.info("endRecording------------" + start);
         if ("success".equals(start)) {
             baseCameraManagement.setStartRecording(2);
+            baseCameraManagement.setTaskId("");
+            baseCameraManagement.setUpdateBy(getUserId());
             if (baseCameraManagementService.updateById(baseCameraManagement)) {
                 return success();
             }
@@ -405,6 +436,30 @@ public class BaseCameraManagementController extends BaseController {
         return error("关闭视频录制失败");
     }
 
+
+    @ApiOperation("开启视频录制")
+    @GetMapping("/startRecording/{id}")
+    public AjaxResult startRecording(@PathVariable Long id) {
+        BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
+        log.info("startRecording------CameraCode------" + baseCameraManagement.getCameraCode());
+        log.info("startRecording------Channel------" + baseCameraManagement.getChannel());
+        String start = HttpUtils.sendGet(CameraUtil.startRecording(baseCameraManagement.getCameraCode(), baseCameraManagement.getChannel()));
+        log.info("startRecording------------" + start);
+        if (start.startsWith(baseCameraManagement.getCameraCode() + "/" + baseCameraManagement.getChannel())) {
+            log.info("startRecording 返回成功!!1");
+            baseCameraManagement.setStartRecording(1);
+            baseCameraManagement.setTaskId(start);
+            baseCameraManagement.setUpdateBy(getUserId());
+        } else {
+            return error("开启视频录制失败");
+        }
+        if (baseCameraManagementService.updateById(baseCameraManagement)) {
+            return success();
+        } else {
+            return error("开启视频录制失败");
+        }
+    }
+
     @GetMapping(value = "/getAlarm/{cameraCode}")
     @ApiOperation("根据视频ID获取详细信息")
     public AjaxResult getAlarm(@PathVariable String cameraCode) {

+ 6 - 2
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java

@@ -68,11 +68,15 @@ public class BaseRailwayManagementController extends BaseController {
     @ApiOperation(value = "线路管理表分页")
     @PostMapping("/list")
     public AjaxResult selectBaseLineManagement(@RequestBody BaseRailwayManagementVo baseRailwayManagementVo) {
+        List<String> userIds = baseCameraManagementService.getUserIds(getUserId());
         LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
+        if (!ObjectUtils.isEmpty(userIds)) {
+            lw.in(BaseRailwayManagement::getCreateBy, userIds);
+        }
         if (!StringUtils.isBlank(baseRailwayManagementVo.getRailwayCode())) {
             lw.like(BaseRailwayManagement::getRailwayCode, "%" + baseRailwayManagementVo.getRailwayCode() + "%");
         }
-        if (!ObjectUtils.isEmpty(baseRailwayManagementVo.getRailwayType())) {
+        if (!ObjectUtils.isEmpty(baseRailwayManagementVo.getRailwayType()) && baseRailwayManagementVo.getRailwayType() != 0) {
             lw.eq(BaseRailwayManagement::getRailwayType, baseRailwayManagementVo.getRailwayType());
         }
         IPage<BaseRailwayManagement> page = baseRailwayManagementService.page(new Page<BaseRailwayManagement>(baseRailwayManagementVo.getPageNum(), baseRailwayManagementVo.getPageSize()), lw);
@@ -217,7 +221,7 @@ public class BaseRailwayManagementController extends BaseController {
     @GetMapping("/downloaExcel")
     public void downloadZip(HttpServletResponse response) {
         try {
-            InputStream resourceAsStream = this.getClass().getResourceAsStream("/template/planQuarter.xlsx");
+            InputStream resourceAsStream = this.getClass().getResourceAsStream("/baseRailwayManagement.xlsx");
             response.setContentType(MediaType.APPLICATION_OCTET_STREAM_VALUE);
             FileUtils.setAttachmentResponseHeader(response, "线路管理表信息导入模板.xlsx");
             FileUtils.writeBytesByInput(resourceAsStream, response.getOutputStream());

+ 1 - 0
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -276,6 +276,7 @@ public class MsgAlarmController extends BaseController {
         return AjaxResult.success(list);
     }
 
+
     /**
      * web数据统计 数据导出
      *

+ 21 - 21
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConfig.java

@@ -1,21 +1,21 @@
-//package com.ozs.web.controller.websocket;
-//
-//import org.springframework.context.annotation.Bean;
-//import org.springframework.context.annotation.Configuration;
-//import org.springframework.web.socket.server.standard.ServerEndpointExporter;
-//
-///**
-// * @Author : sunhh
-// * @create 2023/3/7 16:17
-// */
-//@Configuration
-//public class WebSocketConfig {
-//    /**
-//     * 	注入ServerEndpointExporter,
-//     * 	这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint
-//     */
-//    @Bean
-//    public ServerEndpointExporter serverEndpointExporter() {
-//        return new ServerEndpointExporter();
-//    }
-//}
+package com.ozs.web.controller.websocket;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.web.socket.server.standard.ServerEndpointExporter;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/7 16:17
+ */
+@Configuration
+public class WebSocketConfig {
+    /**
+     * 注入ServerEndpointExporter,
+     * 这个bean会自动注册使用了@ServerEndpoint注解声明的Websocket endpoint
+     */
+    @Bean
+    public ServerEndpointExporter serverEndpointExporter() {
+        return new ServerEndpointExporter();
+    }
+}

+ 131 - 129
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketServer.java

@@ -1,129 +1,131 @@
-//package com.ozs.web.controller.websocket;
-//
-//import lombok.extern.slf4j.Slf4j;
-//import org.springframework.stereotype.Component;
-//
-//import javax.websocket.*;
-//import javax.websocket.server.PathParam;
-//import javax.websocket.server.ServerEndpoint;
-//import java.util.HashMap;
-//import java.util.List;
-//import java.util.Map;
-//import java.util.concurrent.ConcurrentHashMap;
-//import java.util.concurrent.CopyOnWriteArraySet;
-//
-///**
-// * @Author : sunhh
-// * @create 2023/3/7 16:15
-// */
-//@Slf4j
-//@Component
-//@ServerEndpoint("/websocket/{userId}")  // 接口路径 ws://localhost:8087/webSocket/userId;
-//public class WebSocketServer {
-//
-//    //与某个客户端的连接会话,需要通过它来给客户端发送数据
-//    private Session session;
-//    /**
-//     * 用户ID
-//     */
-//    private String userId;
-//
-//    //concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。
-//    //虽然@Component默认是单例模式的,但springboot还是会为每个websocket连接初始化一个bean,所以可以用一个静态set保存起来。
-//    //  注:底下WebSocket是当前类名
-//    private static CopyOnWriteArraySet<WebSocketServer> webSockets =new CopyOnWriteArraySet<>();
-//    // 用来存在线连接用户信息
-//    private static ConcurrentHashMap<String,Session> sessionPool = new ConcurrentHashMap<String,Session>();
-//
-//    /**
-//     * 链接成功调用的方法
-//     */
-//    @OnOpen
-//    public void onOpen(Session session, @PathParam(value="userId")String userId) {
-//        try {
-//            this.session = session;
-//            this.userId = userId;
-//            webSockets.add(this);
-//            sessionPool.put(userId, session);
-//            log.info("【websocket消息】有新的连接,总数为:"+webSockets.size());
-//        } catch (Exception e) {
-//        }
-//    }
-//
-//    /**
-//     * 链接关闭调用的方法
-//     */
-//    @OnClose
-//    public void onClose() {
-//        try {
-//            webSockets.remove(this);
-//            sessionPool.remove(this.userId);
-//            log.info("【websocket消息】连接断开,总数为:"+webSockets.size());
-//        } catch (Exception e) {
-//        }
-//    }
-//    /**
-//     * 收到客户端消息后调用的方法
-//     *
-//     * @param message
-//     */
-//    @OnMessage
-//    public void onMessage(String message) {
-//        log.info("【websocket消息】收到客户端消息:"+message);
-//    }
-//
-//    /** 发送错误时的处理
-//     * @param session
-//     * @param error
-//     */
-//    @OnError
-//    public void onError(Session session, Throwable error) {
-//
-//        log.error("用户错误,原因:"+error.getMessage());
-//        error.printStackTrace();
-//    }
-//
-//
-//    // 此为广播消息
-//    public void sendAllMessage(String message) {
-//        log.info("【websocket消息】广播消息:"+message);
-//        for(WebSocketServer webSocket : webSockets) {
-//            try {
-//                if(webSocket.session.isOpen()) {
-//                    webSocket.session.getAsyncRemote().sendText(message);
-//                }
-//            } catch (Exception e) {
-//                e.printStackTrace();
-//            }
-//        }
-//    }
-//
-//    // 此为单点消息
-//    public void sendOneMessage(String userId, String message) {
-//        Session session = sessionPool.get(userId);
-//        if (session != null&&session.isOpen()) {
-//            try {
-//                log.info("【websocket消息】 单点消息:"+message);
-//                session.getAsyncRemote().sendText(message);
-//            } catch (Exception e) {
-//                e.printStackTrace();
-//            }
-//        }
-//    }
-//
-//    // 此为单点消息(多人)
-//    public void sendMoreMessage(String[] userIds, String message) {
-//        for(String userId:userIds) {
-//            Session session = sessionPool.get(userId);
-//            if (session != null&&session.isOpen()) {
-//                try {
-//                    log.info("【websocket消息】 单点消息:"+message);
-//                    session.getAsyncRemote().sendText(message);
-//                } catch (Exception e) {
-//                    e.printStackTrace();
-//                }
-//            }
-//        }
-//
-//    }
-//}
+package com.ozs.web.controller.websocket;
+
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.stereotype.Component;
+
+import javax.websocket.*;
+import javax.websocket.server.PathParam;
+import javax.websocket.server.ServerEndpoint;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.CopyOnWriteArraySet;
+
+/**
+ * @Author : sunhh
+ * @create 2023/3/7 16:15
+ */
+@Slf4j
+@Component
+@ServerEndpoint("/websocket/{userId}")  // 接口路径 ws://localhost:8087/webSocket/userId;
+public class WebSocketServer {
+
+    //concurrent包的线程安全Set,用来存放每个客户端对应的MyWebSocket对象。
+    //虽然@Component默认是单例模式的,但springboot还是会为每个websocket连接初始化一个bean,所以可以用一个静态set保存起来。
+    //  注:底下WebSocket是当前类名
+    private static CopyOnWriteArraySet<WebSocketServer> webSockets = new CopyOnWriteArraySet<>();
+    // 用来存在线连接用户信息
+    private static ConcurrentHashMap<String, Session> sessionPool = new ConcurrentHashMap<String, Session>();
+    //与某个客户端的连接会话,需要通过它来给客户端发送数据
+    private Session session;
+    /**
+     * 用户ID
+     */
+    private String userId;
+
+    /**
+     * 链接成功调用的方法
+     */
+    @OnOpen
+    public void onOpen(Session session, @PathParam(value = "userId") String userId) {
+        try {
+            this.session = session;
+            this.userId = userId;
+            webSockets.add(this);
+            sessionPool.put(userId, session);
+            log.info("【websocket消息】有新的连接,总数为:" + webSockets.size());
+        } catch (Exception e) {
+        }
+    }
+
+    /**
+     * 链接关闭调用的方法
+     */
+    @OnClose
+    public void onClose() {
+        try {
+            webSockets.remove(this);
+            sessionPool.remove(this.userId);
+            log.info("【websocket消息】连接断开,总数为:" + webSockets.size());
+        } catch (Exception e) {
+        }
+    }
+
+    /**
+     * 收到客户端消息后调用的方法
+     *
+     * @param message
+     */
+    @OnMessage
+    public void onMessage(String message) {
+        log.info("【websocket消息】收到客户端消息:" + message);
+    }
+
+    /**
+     * 发送错误时的处理
+     *
+     * @param session
+     * @param error
+     */
+    @OnError
+    public void onError(Session session, Throwable error) {
+
+        log.error("用户错误,原因:" + error.getMessage());
+        error.printStackTrace();
+    }
+
+
+    // 此为广播消息
+    public void sendAllMessage(String message) {
+        log.info("【websocket消息】广播消息:" + message);
+        for (WebSocketServer webSocket : webSockets) {
+            try {
+                if (webSocket.session.isOpen()) {
+                    webSocket.session.getAsyncRemote().sendText(message);
+                }
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    // 此为单点消息
+    public void sendOneMessage(String userId, String message) {
+        Session session = sessionPool.get(userId);
+        if (session != null && session.isOpen()) {
+            try {
+                log.info("【websocket消息】 单点消息:" + message);
+                session.getAsyncRemote().sendText(message);
+            } catch (Exception e) {
+                e.printStackTrace();
+            }
+        }
+    }
+
+    // 此为单点消息(多人)
+    public void sendMoreMessage(String[] userIds, String message) {
+        for (String userId : userIds) {
+            Session session = sessionPool.get(userId);
+            if (session != null && session.isOpen()) {
+                try {
+                    log.info("【websocket消息】 单点消息:" + message);
+                    session.getAsyncRemote().sendText(message);
+                } catch (Exception e) {
+                    e.printStackTrace();
+                }
+            }
+        }
+
+    }
+}

+ 28 - 17
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -119,11 +119,13 @@ public class CameraUtil {
         String ph = "flv/" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date())
                 + "/" + channel + "/"
                 + UUID.randomUUID().toString() + ".flv";
-        try {
-            return historyPlay(list, ph);
-        } catch (Exception e) {
-            log.error(e.getMessage());
-            e.printStackTrace();
+        if (!ObjectUtils.isEmpty(list)) {
+            try {
+                return historyPlay(list, ph);
+            } catch (Exception e) {
+                log.error(e.getMessage());
+                e.printStackTrace();
+            }
         }
         return null;
     }
@@ -147,6 +149,9 @@ public class CameraUtil {
         // 视频拼接
         if (!StringUtils.isBlank(s) || "null".equals(s)) {
             List<Map<String, Object>> maps = JSON.parseArray(s, Map.class);
+            if (ObjectUtils.isEmpty(maps)) {
+                return null;
+            }
             for (Map<String, Object> map : maps) {
                 Object path = map.get("Path");
                 if (!ObjectUtils.isEmpty(path)) {
@@ -400,18 +405,24 @@ public class CameraUtil {
 
     public static void main(String[] args) throws IOException {
 
-        List<String> fromVideoFileList = new ArrayList();
-        String p = "C:\\Users\\Administrator.DESKTOP-0NUUTMM\\Desktop\\work\\106\\流媒体\\";
-        String newfilePath = p + "hb.flv";
-        fromVideoFileList.add(p + "20230303_174931_175031-d6d56396-b9a8-11ed-aeb9-00163e06a5f3.flv");
-        fromVideoFileList.add(p + "20230303_175032_175132-fb32b9fe-b9a8-11ed-aeb9-00163e06a5f3.flv");
-        fromVideoFileList.add(p + "20230303_175133_175233-1f97af04-b9a9-11ed-aeb9-00163e06a5f3.flv");
-        fromVideoFileList.add(p + "20230303_175234_175334-43f4daf1-b9a9-11ed-aeb9-00163e06a5f3.flv");
-        fromVideoFileList.add(p + "m.flv");
-        fromVideoFileList.add(p + "m33.flv");
-        fromVideoFileList.add(p + "mv.flv");
-        fromVideoFileList.add(p + "mvido.flv");
-        convetor(fromVideoFileList, newfilePath);
+//        List<String> fromVideoFileList = new ArrayList();
+//        String p = "C:\\Users\\Administrator.DESKTOP-0NUUTMM\\Desktop\\work\\106\\流媒体\\";
+//        String newfilePath = p + "hb.flv";
+//        fromVideoFileList.add(p + "20230303_174931_175031-d6d56396-b9a8-11ed-aeb9-00163e06a5f3.flv");
+//        fromVideoFileList.add(p + "20230303_175032_175132-fb32b9fe-b9a8-11ed-aeb9-00163e06a5f3.flv");
+//        fromVideoFileList.add(p + "20230303_175133_175233-1f97af04-b9a9-11ed-aeb9-00163e06a5f3.flv");
+//        fromVideoFileList.add(p + "20230303_175234_175334-43f4daf1-b9a9-11ed-aeb9-00163e06a5f3.flv");
+//        fromVideoFileList.add(p + "m.flv");
+//        fromVideoFileList.add(p + "m33.flv");
+//        fromVideoFileList.add(p + "mv.flv");
+//        fromVideoFileList.add(p + "mvido.flv");
+//        convetor(fromVideoFileList, newfilePath);
+
+        String channel = "34020000001320000002";
+        String startTime = "2023-03-09";
+        String endTime = "2023-03-09";
+        String param = "channel=" + channel + "&startTime=" + startTime + "&endTime=" + endTime;
+        String s = HttpUtils.sendGet("http://47.106.159.135/streams" + "/api/record/flv/list", param);
     }
 
     //工具类

BIN
hazard-admin/src/main/resources/template/baseCameraManagement.xlsx


BIN
hazard-admin/src/main/resources/template/baseRailwayManagement.xlsx


BIN
hazard-admin/src/main/resources/template/provisionalPlan.xlsx


+ 20 - 11
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -7,6 +7,7 @@ import com.ozs.common.core.domain.Result;
 import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.utils.ApiTokenUtils;
 import com.ozs.common.utils.AppTokenUtils;
+import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.stateSecrets.SM4Utils;
 import com.ozs.service.entity.BaseCameraManagement;
@@ -14,13 +15,9 @@ import com.ozs.service.entity.BaseDeviceDynamicManagement;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.MsgAlarmFrequency;
 import com.ozs.service.entity.SvcAddress;
+import com.ozs.service.entity.vo.MsgAlarmResp;
 import com.ozs.service.mapper.BaseUserMapper;
-import com.ozs.service.service.BaseCameraManagementService;
-import com.ozs.service.service.BaseDeviceDynamicManagementService;
-import com.ozs.service.service.BaseUserService;
-import com.ozs.service.service.MsgAlarmFrequencyService;
-import com.ozs.service.service.MsgAlarmService;
-import com.ozs.service.service.SvcAddressService;
+import com.ozs.service.service.*;
 import com.ozs.vo.ReqDeviceVo;
 import com.ozs.vo.ReqMsgAlarmVo;
 import com.ozs.vo.RespGeoHazardMonitorVo;
@@ -65,6 +62,8 @@ public class GeoHazardMonitorTokenController {
     private WebSocketServer webSocketServer;
     @Autowired
     private BaseUserService baseUserService;
+    @Resource
+    private BaseRailwayManagementService baseRailwayManagementService;
 
     /**
      * 获取web访问令牌
@@ -137,17 +136,27 @@ public class GeoHazardMonitorTokenController {
             Set<String> set = baseUserService.getUserIdList(baseCameraManagement.getCreateBy(), baseCameraManagement.getDeptId());
             // List<String> list = new ArrayList<>(set);
             String[] list = set.toArray(new String[set.size()]);
+            MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
+            String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
+            String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
+            String endMile = begin + "-" + end;
+            msgAlarmResp.setBeginMile(endMile);
+            String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
+            msgAlarmResp.setAlarmMile(mile);
+            String cameraCode = baseCameraManagement.getCameraCode();
+            String cameraName = baseRailwayManagementService.getCameraNameByCameraCode(cameraCode);
+            msgAlarmResp.setRailwayName(cameraName);
             // 推送消息reqMsgAlarmVo
             // 初始化 -> 运行中 -> 成功或失败
             try {
                 // 1、初始化
-                webSocketServer.sendMoreMessage(list, objStr(baseCameraManagement, 1));
+                webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp, 1));
                 Thread.sleep(3 * 1000);
                 // 2、运行中
-                webSocketServer.sendMoreMessage(list, objStr(baseCameraManagement, 2));
+                webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp, 2));
                 Thread.sleep(5 * 1000);
                 // 3、成功或失败
-                webSocketServer.sendMoreMessage(list, Math.random() * 10 > 5 ? objStr(baseCameraManagement, 6) : objStr(baseCameraManagement, 7));
+                webSocketServer.sendMoreMessage(list, Math.random() * 10 > 5 ? objStr(msgAlarmResp, 6) : objStr(msgAlarmResp, 7));
             } catch (InterruptedException e) {
                 e.printStackTrace();
                 throw new RuntimeException("构建失败");
@@ -215,9 +224,9 @@ public class GeoHazardMonitorTokenController {
         }
     }
 
-    private String objStr(BaseCameraManagement baseCameraManagement, int status) {
+    private String objStr(MsgAlarmResp msgAlarmResp, int status) {
         JSONObject obj = new JSONObject();
-        obj.put("pipelineId", baseCameraManagement); //流水线ID
+        obj.put("pipelineId", msgAlarmResp); //流水线ID
         obj.put("status", status);
         return obj.toJSONString();
     }