Kaynağa Gözat

Merge branch 'master' of http://124.70.58.209:3000/ytrd-project-management/GeoHazardMonitor

wyyay 2 yıl önce
ebeveyn
işleme
7a55db2a0b
30 değiştirilmiş dosya ile 280 ekleme ve 246 silme
  1. 2 2
      .idea/compiler.xml
  2. 12 12
      .idea/jarRepositories.xml
  3. 2 2
      business-service/src/main/java/com/ozs/service/entity/BaseCameraManagement.java
  4. 1 1
      business-service/src/main/java/com/ozs/service/entity/BaseRailwayManagement.java
  5. 8 1
      business-service/src/main/java/com/ozs/service/entity/CameraTree.java
  6. 2 0
      business-service/src/main/java/com/ozs/service/mapper/BaseUserMapper.java
  7. 2 0
      business-service/src/main/java/com/ozs/service/mapper/MsgAlarmMapper.java
  8. 6 0
      business-service/src/main/java/com/ozs/service/mapper/MsgWebPushMapper.java
  9. 3 0
      business-service/src/main/java/com/ozs/service/service/BaseUserService.java
  10. 7 0
      business-service/src/main/java/com/ozs/service/service/MsgAlarmService.java
  11. 4 0
      business-service/src/main/java/com/ozs/service/service/MsgWebPushService.java
  12. 1 0
      business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java
  13. 5 0
      business-service/src/main/java/com/ozs/service/service/impl/BaseUserServiceImpl.java
  14. 5 0
      business-service/src/main/java/com/ozs/service/service/impl/MsgAlarmServiceImpl.java
  15. 14 0
      business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java
  16. 3 0
      business-service/src/main/resources/mapper/service/BaseUserMapper.xml
  17. 4 1
      business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml
  18. 1 1
      business-service/src/main/resources/mapper/service/MsgAppPushMapper.xml
  19. 12 0
      business-service/src/main/resources/mapper/service/MsgWebPushMapper.xml
  20. 74 5
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java
  21. 10 0
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java
  22. 12 16
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java
  23. 40 6
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java
  24. 0 12
      hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java
  25. 5 11
      hazard-admin/src/main/java/com/ozs/web/core/config/CaneraConfig.java
  26. 29 167
      hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java
  27. 3 3
      hazard-admin/src/main/resources/application.yml
  28. BIN
      hazard-admin/src/main/resources/template/baseCameraManagement.xlsx
  29. 10 5
      hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java
  30. 3 1
      hazard-sdk/src/main/java/com/ozs/controller/upload/UploadController.java

+ 2 - 2
.idea/compiler.xml

@@ -7,10 +7,10 @@
         <sourceOutputDir name="target/generated-sources/annotations" />
         <sourceTestOutputDir name="target/generated-test-sources/test-annotations" />
         <outputRelativeToContentRoot value="true" />
-        <module name="hazard-admin" />
         <module name="hazard-sdk" />
-        <module name="base-admin" />
         <module name="business-service" />
+        <module name="hazard-admin" />
+        <module name="base-admin" />
       </profile>
     </annotationProcessing>
     <bytecodeTargetLevel>

+ 12 - 12
.idea/jarRepositories.xml

@@ -1,16 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <project version="4">
   <component name="RemoteRepositoriesConfiguration">
-    <remote-repository>
-      <option name="id" value="central" />
-      <option name="name" value="Central Repository" />
-      <option name="url" value="https://maven.aliyun.com/repository/public" />
-    </remote-repository>
-    <remote-repository>
-      <option name="id" value="central" />
-      <option name="name" value="Central Repository" />
-      <option name="url" value="https://repo.maven.apache.org/maven2" />
-    </remote-repository>
     <remote-repository>
       <option name="id" value="public" />
       <option name="name" value="aliyun nexus" />
@@ -18,8 +8,8 @@
     </remote-repository>
     <remote-repository>
       <option name="id" value="central" />
-      <option name="name" value="Maven Central repository" />
-      <option name="url" value="https://repo1.maven.org/maven2" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://repo.maven.apache.org/maven2" />
     </remote-repository>
     <remote-repository>
       <option name="id" value="central" />
@@ -36,6 +26,11 @@
       <option name="name" value="Central Repository" />
       <option name="url" value="http://maven.aliyun.com/nexus/content/repositories/central/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Maven Central repository" />
+      <option name="url" value="https://repo1.maven.org/maven2" />
+    </remote-repository>
     <remote-repository>
       <option name="id" value="custom_group" />
       <option name="name" value="Nexus Repository" />
@@ -46,5 +41,10 @@
       <option name="name" value="JBoss Community repository" />
       <option name="url" value="https://repository.jboss.org/nexus/content/repositories/public/" />
     </remote-repository>
+    <remote-repository>
+      <option name="id" value="central" />
+      <option name="name" value="Central Repository" />
+      <option name="url" value="https://maven.aliyun.com/repository/public" />
+    </remote-repository>
   </component>
 </project>

+ 2 - 2
business-service/src/main/java/com/ozs/service/entity/BaseCameraManagement.java

@@ -61,7 +61,7 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
     /**
      * 行别(1上行2下行)
      */
-    @Excel(name = "行别")
+    @Excel(name = "行别",readConverterExp = "1=上行,2=下行")
     private Integer lineDir;
 
     /**
@@ -109,7 +109,7 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
     /**
      * 是否开启录像(1开启2不开启)
      */
-    @Excel(name = "是否开启录像")
+    @Excel(name = "是否开启录像",readConverterExp = "1=开启,2=不开启")
     private Integer startRecording;
 
     /**

+ 1 - 1
business-service/src/main/java/com/ozs/service/entity/BaseRailwayManagement.java

@@ -47,7 +47,7 @@ public class BaseRailwayManagement extends BaseEntity implements Serializable {
     /**
      * 线路类型(普铁/高铁 )
      */
-    @Excel(name = "线路类型")
+    @Excel(name = "线路类型",readConverterExp = "1=高铁,2=普快")
     private Integer railwayType;
 
     /**

+ 8 - 1
business-service/src/main/java/com/ozs/service/entity/CameraTree.java

@@ -12,11 +12,18 @@ import java.util.List;
  */
 @Data
 @Builder
-public class CameraTree implements Serializable {
+public class CameraTree implements Serializable,Comparable<CameraTree> {
 
     private static final long serialVersionUID = 1L;
     String code;
     String name;
     boolean flay;
+    Integer mileage;
     List<CameraTree> children;
+
+    @Override
+    public int compareTo(CameraTree o) {
+        int i =o.getName().compareTo(o.name);
+        return i;
+    }
 }

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

@@ -31,4 +31,6 @@ public interface BaseUserMapper extends BaseMapper<BaseUser> {
     Set<String> getUserIdList6();
 
     BaseUser getUser(@Param("userId") String userId);
+    
+    BaseUser getUserName(@Param("userName") String userName);
 }

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

@@ -35,4 +35,6 @@ public interface MsgAlarmMapper extends BaseMapper<MsgAlarm> {
     List<AlarmStatisticMonthDto> listDtoMonth(@Param("railwayCode") String railwayCode, @Param("startMonth") Integer startMonth, @Param("endMonth") Integer endMonth, @Param("alarmType") String alarmType, @Param("userId") String userId);
 
     Map selectCameraCode(@Param("cameraCode") String cameraCode);
+
+    MsgAlarm selectByCameraCode(@Param("cameraCode") String cameraCode);
 }

+ 6 - 0
business-service/src/main/java/com/ozs/service/mapper/MsgWebPushMapper.java

@@ -3,6 +3,9 @@ package com.ozs.service.mapper;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.MsgWebPush;
 import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
 
 /**
  * @Author : sunhh
@@ -10,4 +13,7 @@ import org.apache.ibatis.annotations.Mapper;
  */
 @Mapper
 public interface MsgWebPushMapper extends BaseMapper<MsgWebPush> {
+    Integer webAlarmNum(@Param("userId") String userId);
+
+    List<MsgWebPush> webAlarm(@Param("userId") String userId);
 }

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

@@ -3,6 +3,7 @@ package com.ozs.service.service;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseUser;
+import org.apache.ibatis.annotations.Param;
 
 import java.util.Set;
 
@@ -14,4 +15,6 @@ public interface BaseUserService extends IService<BaseUser> {
     Set<String> getUserIdList(String createBy, Long deptId);
 
     BaseUser getUser(String userId);
+
+    BaseUser getUserName(@Param("userName") String userName);;
 }

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

@@ -31,4 +31,11 @@ public interface MsgAlarmService extends IService<MsgAlarm> {
 
     //web数据统计 报警月统计数据导出
     List<AlarmStatisticMonthDto> exportExcelMonth(AlarmStatisticResVo alarmStatisticResVo, String userId) throws Exception;
+
+    /**
+     * 通过相机编码查询未解除预警信息
+     * @param cameraCode
+     * @return
+     */
+    MsgAlarm selectByCameraCode(String cameraCode);
 }

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

@@ -4,10 +4,14 @@ import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.MsgAppPush;
 import com.ozs.service.entity.MsgWebPush;
 
+import java.util.Map;
+
 /**
  * @Author : sunhh
  * @create 2023/3/15 14:33
  */
 public interface MsgWebPushService extends IService<MsgWebPush> {
     int read(MsgWebPush msgWebPush);
+
+    Map webAlarm(String userId);
 }

+ 1 - 0
business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java

@@ -65,6 +65,7 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
                         .code(mils + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
                         .name(mils + "-" + (o.getLineDir().equals("1") ? "上行" : "下行"))
                         .flay(true)
+                        .mileage(o.getInstallMile())
                         .children(new ArrayList<>())
                         .build();
 

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

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

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

@@ -94,4 +94,9 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
         return listDto;
     }
 
+    @Override
+    public MsgAlarm selectByCameraCode(String cameraCode) {
+        return msgAlarmMapper.selectByCameraCode(cameraCode);
+    }
+
 }

+ 14 - 0
business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java

@@ -7,6 +7,10 @@ import com.ozs.service.service.MsgWebPushService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 /**
  * @Author : sunhh
  * @create 2023/3/15 14:34
@@ -22,4 +26,14 @@ public class MsgWebPushServiceImpl extends ServiceImpl<MsgWebPushMapper, MsgWebP
         msgWebPush.setStatus(2);
         return msgWebPushMapper.updateById(msgWebPush);
     }
+
+    @Override
+    public Map webAlarm(String userId) {
+        Map<String, Object> webAlarmMap = new HashMap<>();
+        Integer webAlarmNum = msgWebPushMapper.webAlarmNum(userId);
+        List<MsgWebPush> webAlarm = msgWebPushMapper.webAlarm(userId);
+        webAlarmMap.put("webAlarmNum", webAlarmNum);
+        webAlarmMap.put("webAlarm", webAlarm);
+        return webAlarmMap;
+    }
 }

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

@@ -64,4 +64,7 @@
     <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>
+    <select id="getUserName" 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_name = #{userName}
+    </select>
 </mapper>

+ 4 - 1
business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml

@@ -220,10 +220,13 @@
             and YEAR(a.alarm_time) = YEAR(SYSDATE())
         </where>
         group by a.alarm_id,MONTH(a.alarm_time)
-
     </select>
 
     <select id="selectCameraCode" parameterType="java.lang.String" resultType="java.util.Map">
         select is_lock isLock, max(alarm_time) from msg_alarm where camera_code = #{cameraCode}
     </select>
+
+    <select id="selectByCameraCode" parameterType="java.lang.String" resultType="com.ozs.service.entity.MsgAlarm">
+        select *, max(alarm_time) from msg_alarm where camera_code = #{cameraCode}
+    </select>
 </mapper>

+ 1 - 1
business-service/src/main/resources/mapper/service/MsgAppPushMapper.xml

@@ -77,6 +77,6 @@
 
 
     <select id="appAlarmNum" parameterType="java.lang.String" resultType="java.lang.Integer">
-        select count(*) from msg_app_push where status = 0 and receive_by = #{userId}
+        select count(*) from msg_app_push where status = 1 and receive_by = #{userId}
     </select>
 </mapper>

+ 12 - 0
business-service/src/main/resources/mapper/service/MsgWebPushMapper.xml

@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8" ?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd" >
+<mapper namespace="com.ozs.service.mapper.MsgWebPushMapper">
+
+    <select id="webAlarmNum" parameterType="java.lang.String" resultType="java.lang.Integer">
+        select count(*) from msg_web_push where status = 1 and receive_by = #{userId}
+    </select>
+
+    <select id="webAlarm" parameterType="java.lang.String" resultType="com.ozs.service.entity.MsgWebPush">
+        select * from msg_web_push where status = 1 and receive_by = #{userId}
+    </select>
+</mapper>

+ 74 - 5
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -11,7 +11,10 @@ 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.ApiTokenUtils;
 import com.ozs.common.utils.AppendUtils;
+import com.ozs.common.utils.ChineseToPingyin;
+import com.ozs.common.utils.IdempotenceUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.file.FileUtils;
 import com.ozs.common.utils.http.HttpUtils;
@@ -55,10 +58,14 @@ import org.springframework.web.multipart.MultipartFile;
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
 import java.io.InputStream;
+import java.text.Collator;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
+import java.util.Collections;
+import java.util.Comparator;
 import java.util.Date;
 import java.util.List;
+import java.util.Locale;
 import java.util.stream.Collectors;
 
 /**
@@ -87,6 +94,8 @@ public class BaseCameraManagementController extends BaseController {
     private ServerConfig serverConfig;
     @Autowired
     private CaneraConfig caneraConfig;
+    @Autowired
+    private IdempotenceUtils idempotenceUtils;
 
     /**
      * 所有相机列表+权限
@@ -99,6 +108,34 @@ public class BaseCameraManagementController extends BaseController {
         return AjaxResult.success(baseCameraManagements);
     }
 
+    @PostMapping(value = "/homeGetInfo")
+    @ApiOperation("根据相机ID、是否解除 获取相机信息、未解除信息")
+    public AjaxResult homeGetInfo(@PathVariable Long id, @PathVariable Integer isLock, @PathVariable String cameraCode) {
+        // isLock  报警是否解除 1已解除2未解除
+        if (!StringUtils.isEmpty(isLock) && isLock == 1) {
+            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getById(id);
+            LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+            if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
+                queryWrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
+            }
+            BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
+            SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
+            baseCameraManagement.setDeptName(sysDept.getDeptName());
+            baseCameraManagement.setRailwayName(baseRailwayManagement.getRailwayName());
+            String mils = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
+            baseCameraManagement.setInstallMiles(mils);
+            String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
+            baseCameraManagement.setEndMiles(end);
+            String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
+            baseCameraManagement.setBeginMiles(begin);
+            return AjaxResult.success(baseCameraManagement);
+        } else if (!StringUtils.isEmpty(isLock) && isLock == 2) {
+            MsgAlarm msgAlarm = msgAlarmService.selectByCameraCode(cameraCode);
+            return AjaxResult.success(msgAlarm);
+        }
+        return null;
+    }
+
     /**
      * 相机台账管理分页
      *
@@ -188,6 +225,11 @@ public class BaseCameraManagementController extends BaseController {
     @ApiOperation("新增相机台账管理信息")
     @Transactional
     public AjaxResult saveAccountManagement(@RequestBody BaseCameraManagement baseCameraManagement) {
+        String idempotence = idempotenceUtils.getIdempotence(baseCameraManagement.getCameraCode());
+        if (StringUtils.isNotEmpty(idempotence)){
+            return  error("你的网络卡顿,请不要一直添加!!!");
+        }
+        idempotenceUtils.createIdempotence(baseCameraManagement.getCameraCode());
         LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
         if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
             lw.eq(BaseCameraManagement::getCameraCode, baseCameraManagement.getCameraCode());
@@ -216,8 +258,10 @@ public class BaseCameraManagementController extends BaseController {
             baseCameraManagement.setStartRecording(2);
         }
         if (baseCameraManagementService.save(baseCameraManagement) && baseDeviceDynamicManagementService.save(baseDynamicManagement)) {
+            idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
             return AjaxResult.success();
         }
+        idempotenceUtils.deleteIdempotence(baseCameraManagement.getCameraCode());
         return AjaxResult.error();
     }
 
@@ -380,7 +424,7 @@ public class BaseCameraManagementController extends BaseController {
         return new AjaxResult(200, "ok", CameraUtil.getPlayFlv(cameraCode, one.getChannel()));
     }
 
-    @ApiOperation("播放回放")
+    @ApiOperation("播放回放-废弃")
     @PostMapping("/api/invite")
     public AjaxResult apiInvite(@Validated @RequestBody BaseCameraResVo vo) {
         LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
@@ -389,7 +433,8 @@ public class BaseCameraManagementController extends BaseController {
         if (ObjectUtils.isEmpty(one)) {
             throw new BaseException("相机编号【" + vo.getCameraCode() + "】不存在");
         }
-        return success(CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime(), caneraConfig.getMappingUrl()));
+        // CameraUtil.historyPlayList(one.getChannel(), vo.getStartTime(), vo.getEntTime(), caneraConfig.getMappingUrl())
+        return success();
     }
 
     @ApiOperation("播放回放")
@@ -421,8 +466,32 @@ public class BaseCameraManagementController extends BaseController {
     public AjaxResult cameraTree(@RequestParam(value = "name", required = false) String name) {
         CameraTree cameraTree = baseDeviceDynamicManagementService.cameraTree(name);
         List<CameraTree> children = cameraTree.getChildren();
+        children.sort(new Comparator<CameraTree>() {
+            @Override
+            public int compare(CameraTree o1, CameraTree o2) {
+                String name1 = ChineseToPingyin.convertHanziToPinyin(o1.getName());
+                String substring1 = name1.substring(0, 1);
+                String name2 = ChineseToPingyin.convertHanziToPinyin(o2.getName());
+                String substring2 = name2.substring(0, 1);
+                return substring1.compareTo(substring2);
+            }
+        });
+
+
         for (CameraTree child : children) {
             List<CameraTree> children1 = child.getChildren();
+            children1.sort(new Comparator<CameraTree>() {
+                @Override
+                public int compare(CameraTree o1, CameraTree o2) {
+                  int i=  o1.getMileage() - o2.getMileage();
+                  if (i==0) {
+                      String[] split = o1.getName().split("-");
+                      return  "上行".equals(split[1])?-1:1;
+                  }else {
+                      return i;
+                  }
+                }
+            });
             for (CameraTree tree : children1) {
                 List<CameraTree> children2 = tree.getChildren();
                 if (children2.size() < 2) {
@@ -486,7 +555,7 @@ public class BaseCameraManagementController extends BaseController {
             queryWrapper.orderByDesc(MsgAlarm::getCreateTime);
         }
         List<MsgAlarm> msgAlarmList = msgAlarmService.list(queryWrapper);
-        if (msgAlarmList.size()>0) {
+        if (msgAlarmList.size() > 0) {
             MsgAlarm msgAlarm = msgAlarmList.get(0);
             LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
             if (!ObjectUtils.isEmpty(cameraCode)) {
@@ -512,8 +581,8 @@ public class BaseCameraManagementController extends BaseController {
             msgAlarmResp.setLineDir(baseCameraManagement.getLineDir());
             msgAlarmResp.setAlarmMile(baseCameraManagement.getInstallMile().toString());
             return AjaxResult.success(msgAlarmResp);
-        }else {
-            return  error("该相机没有报警消息");
+        } else {
+            return error("该相机没有报警消息");
         }
     }
 }

+ 10 - 0
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java

@@ -9,6 +9,7 @@ import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
 import com.ozs.common.core.domain.entity.SysDictData;
 import com.ozs.common.utils.AppendUtils;
+import com.ozs.common.utils.IdempotenceUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.file.FileUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
@@ -58,6 +59,8 @@ public class BaseRailwayManagementController extends BaseController {
     private ISysDictTypeService dictTypeService;
     @Autowired
     private BaseCameraManagementService baseCameraManagementService;
+    @Autowired
+    private IdempotenceUtils idempotenceUtils;
 
     /**
      * 线路管理表分页
@@ -148,6 +151,11 @@ public class BaseRailwayManagementController extends BaseController {
     @PutMapping("/editRailwayManagement")
     @ApiOperation("修改线路管理表信息")
     public AjaxResult editLineManagement(@RequestBody BaseRailwayManagement baseRailwayManagement) {
+        String idempotence = idempotenceUtils.getIdempotence(baseRailwayManagement.getRailwayCode());
+        if (StringUtils.isNotEmpty(idempotence)){
+            return  error("你的网络卡顿,请不要一直添加!!!");
+        }
+        idempotenceUtils.createIdempotence(baseRailwayManagement.getRailwayCode());
         BaseRailwayManagement baseRailwayManagement1 = baseRailwayManagementService.getById(baseRailwayManagement.getId());
         if (ObjectUtils.isEmpty(baseRailwayManagement1)) {
             return error("主键不存在");
@@ -162,8 +170,10 @@ public class BaseRailwayManagementController extends BaseController {
         }
         baseRailwayManagement.setUpdateBy(getUserId());
         if (baseRailwayManagementService.updateById(baseRailwayManagement)) {
+            idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
             return AjaxResult.success();
         }
+        idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
         return AjaxResult.error();
     }
 

+ 12 - 16
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -49,6 +49,7 @@ import java.io.OutputStream;
 import java.util.ArrayList;
 import java.util.Date;
 import java.util.List;
+import java.util.Map;
 import java.util.stream.Collectors;
 
 /**
@@ -73,13 +74,22 @@ public class MsgAlarmController extends BaseController {
     BaseCameraManagementService baseCameraManagementService;
     @Autowired
     BaseRailwayManagementService baseRailwayManagementService;
-    @Value("${base.imgUrl:http://124.71.171.71:18801/picbucket}")
-    private String imgUrl;
     @Autowired
     private MsgWebPushService msgWebPushService;
     @Autowired
     private ISysDictDataService dictDataService;
 
+    /**
+     * web报警未读消息个数+未读消息列表
+     */
+    @GetMapping("/webAlarm")
+    @ApiOperation("app报警推送次数")
+    public AjaxResult webAlarmNum() {
+        String userId = getUserId();
+        Map webAlarm = msgWebPushService.webAlarm(userId);
+        return AjaxResult.success(webAlarm);
+    }
+
     /**
      * web消息已读
      */
@@ -145,13 +155,6 @@ public class MsgAlarmController extends BaseController {
         IPage<MsgAlarm> page = msgAlarmService.page(new Page<>(msgAlarmVo.getPageNum(), msgAlarmVo.getPageSize()), lw);
         if(!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())){
             List<MsgAlarm> dto1 = page.getRecords().stream().map(o -> {
-                ArrayList<String> objects = new ArrayList<>();
-                String[] split = o.getImageUrl().split(";");
-                for (String s : split) {
-                    s = imgUrl + s;
-                    objects.add(s);
-                }
-                o.setImageUrls(objects);
                 LambdaQueryWrapper<BaseCameraManagement> cameraManagementLambdaQueryWrapper = new LambdaQueryWrapper<BaseCameraManagement>();
                 if (!ObjectUtils.isEmpty(o.getCameraCode())) {
                     cameraManagementLambdaQueryWrapper.eq(BaseCameraManagement::getCameraCode, o.getCameraCode());
@@ -203,13 +206,6 @@ public class MsgAlarmController extends BaseController {
         String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
         msgAlarmResp.setAlarmMile(mile);
         msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude()+","+baseCameraManagement.getInstallLatitude());
-        ArrayList<String> objects = new ArrayList<>();
-        String[] split = msgAlarm.getImageUrl().split(";");
-        for (String s : split) {
-            s = imgUrl + s;
-            objects.add(s);
-        }
-        msgAlarmResp.setImageUrls(objects);
         return AjaxResult.success(msgAlarmResp);
     }
 

+ 40 - 6
hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -2,6 +2,7 @@ package com.ozs.web.controller.system;
 
 import java.io.InputStream;
 import java.util.ArrayList;
+import java.util.Date;
 import java.util.List;
 import java.util.Map;
 import java.util.stream.Collectors;
@@ -10,6 +11,7 @@ import javax.servlet.http.HttpServletResponse;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
+import com.ozs.common.core.domain.entity.SysUserUpdate;
 import com.ozs.common.core.domain.vo.SysUserVo;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.file.FileUtils;
@@ -86,6 +88,7 @@ public class SysUserController extends BaseController {
      */
     @ApiOperation(value = "获取用户列表")
     @PostMapping("/list")
+    @PreAuthorize("@ss.hasPermi('system:user:list')")
     public AjaxResult list(@RequestBody SysUserVo sysUserVo) {
         LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<SysUser>();
         if (!ObjectUtils.isEmpty(sysUserVo.getUserName())) {
@@ -103,9 +106,9 @@ public class SysUserController extends BaseController {
         if (!ObjectUtils.isEmpty(sysUserVo.getStatus())) {
             wrapper.eq(SysUser::getStatus, sysUserVo.getStatus());
         }
-       
+
         IPage<SysUser> page = userService.page(new Page<>(sysUserVo.getPageNum(), sysUserVo.getPageSize()), wrapper);
-        if(!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())){
+        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
             List<SysUser> dto1 = page.getRecords().stream().map(o -> {
                 SysDept sysDept = deptService.selectDeptById(o.getDeptId());
                 if (!ObjectUtils.isEmpty(sysDept)) {
@@ -202,7 +205,7 @@ public class SysUserController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('system:user:edit')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @RequestMapping(value ="/edit",method = RequestMethod.PUT)
+    @RequestMapping(value = "/edit", method = RequestMethod.PUT)
     public AjaxResult edit(@Validated @RequestBody SysUser user) {
         boolean matches = user.getPassword().matches(PW_PATTERN);
         if (!matches) {
@@ -220,9 +223,40 @@ public class SysUserController extends BaseController {
             return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setUpdateBy(getUsername());
+        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         return toAjax(userService.updateUsers(user));
     }
 
+    /**
+     * 修改用户-web修改个人信息
+     */
+//    @PreAuthorize("@ss.hasPermi('system:user:edit')")
+    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+    @RequestMapping(value = "/updateUser", method = RequestMethod.PUT)
+    public AjaxResult updateUser(@RequestBody SysUserUpdate user) {
+        if (!StringUtils.isEmpty(user) && !StringUtils.isEmpty(user.getPassword())) {
+            boolean matches = user.getPassword().matches(PW_PATTERN);
+            if (!matches) {
+                return error("您的密码太简单!需要包含大小英文、数字、特殊字符、并且长度8-20");
+            }
+        }
+        userService.checkUserAllowedUpdate(user);
+        userService.checkUserDataScope(user.getId());
+        if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUniqueUpdate(user))) {
+            return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
+        } else if (StringUtils.isNotEmpty(user.getPhoneNum())
+                && UserConstants.NOT_UNIQUE.equals(userService.checkPhoneUniqueUpdate(user))) {
+            return error("修改用户'" + user.getUserName() + "'失败,手机号码已存在");
+        } else if (StringUtils.isNotEmpty(user.getEmail())
+                && UserConstants.NOT_UNIQUE.equals(userService.checkEmailUniqueUpdate(user))) {
+            return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
+        }
+        user.setUpdateBy(getUsername());
+        user.setUpdateTime(new Date());
+        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+        return toAjax(userService.updateUsersUpdate(user));
+    }
+
     /**
      * 删除用户
      */
@@ -319,10 +353,10 @@ public class SysUserController extends BaseController {
      */
     @GetMapping("/dataPermission/{id}/{dataPermission}")
     @ApiOperation("数据权限分配")
-    public AjaxResult dataPermission(@PathVariable("id") Long id,@PathVariable("dataPermission") Integer dataPermission) {
-        if (userService.dataPermission(id,dataPermission)){
+    public AjaxResult dataPermission(@PathVariable("id") Long id, @PathVariable("dataPermission") Integer dataPermission) {
+        if (userService.dataPermission(id, dataPermission)) {
             return success();
-        }else {
+        } else {
             return error();
         }
     }

+ 0 - 12
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java

@@ -42,8 +42,6 @@ public class WebSocketConteoller extends BaseController {
     private BaseCameraManagementService baseCameraManagementService;
     @Autowired
     private UserRegistrationidService userRegistrationidService;
-    @Value("${base.imgUrl:http://124.71.171.71:18801/picbucket}")
-    private String imgUrl;
 
     @ResponseBody
     @PostMapping("/publish")
@@ -69,16 +67,6 @@ public class WebSocketConteoller extends BaseController {
         msgAlarmResp.setRailwayName(cameraName != null ? cameraName : "");
         msgAlarmResp.setLineDirStr(baseCameraManagement.getLineDir() == 1 ? "上行" : "下行");
         msgAlarmResp.setAlarmTime(msgAlarm.getAlarmTime() != null ? msgAlarm.getAlarmTime() : new Date());
-        // 图片
-        ArrayList<String> objects = new ArrayList<>();
-        if (!StringUtils.isEmpty(msgAlarm.getImageUrl())) {
-            String[] split = msgAlarm.getImageUrl().split(";");
-            for (String s : split) {
-                s = imgUrl + s;
-                objects.add(s);
-            }
-            msgAlarmResp.setImageUrls(objects);
-        }
         // 推送消息reqMsgAlarmVo
         webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp));
 

+ 5 - 11
hazard-admin/src/main/java/com/ozs/web/core/config/CaneraConfig.java

@@ -8,17 +8,12 @@ import org.springframework.context.annotation.Configuration;
 @Data
 public class CaneraConfig {
 
-    /**
-     * 视频服务器访问路径
-     */
-    @Value("${base.url:http://47.106.159.135:8554}")
-    private String url;
-
     /**
      * 视频服务器访问路径
      */
     @Value("${base.historyUrl:http://47.106.159.135/streams}")
     private String historyUrl;
+
     /**
      * ffmpeg.exe路径
      * "D:\\Java\\operSources\\ffmpeg-4.3.1\\bin\\ffmpeg.exe"
@@ -27,13 +22,12 @@ public class CaneraConfig {
     private String ffmpegPath;
 
 
-    @Value("${base.mappingUrl:http://47.106.159.135/}")
-    private String mappingUrl;
-
     @Value("${base.filePath:/opt/streams/}")
     private String filePath;
 
-    @Value("${base.flvPath:/opt/streams/record/flv/hazard/}")
-    private String flvPath;
+
+    @Value("${base.webUrl:http://47.106.159.135/streams}")
+    private String webUrl;
+
 
 }

+ 29 - 167
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -4,18 +4,15 @@ package com.ozs.web.core.util;
 import com.alibaba.fastjson2.JSON;
 import com.ozs.common.config.BaseConfig;
 import com.ozs.common.constant.Constants;
-import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.exception.base.BaseException;
 import com.ozs.common.utils.DateUtils;
 import com.ozs.common.utils.http.HttpUtils;
 import com.ozs.web.core.config.CaneraConfig;
-import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.StringUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Component;
 import org.springframework.util.ObjectUtils;
-import org.springframework.web.bind.annotation.GetMapping;
 
 import javax.annotation.PostConstruct;
 import java.io.*;
@@ -32,12 +29,10 @@ import java.util.stream.Collectors;
 @Slf4j
 public class CameraUtil {
 
-    private static String url;
     private static String historyUrl;
     private static String ffmpegPath;
-    private static String mappingUrl;
-    private static String flvPath;
     private static String filePath;
+    private static String webUrl;
 
     @Autowired
     private CaneraConfig caneraConfig;
@@ -53,7 +48,6 @@ public class CameraUtil {
      */
     public static String historyPlay(List<String> fromVideoFileList, String ph) {
         // 视频服务映射路径
-//        String NewfilePath = flvPath + ph;
         String NewfilePath = BaseConfig.getProfile() + "/" + ph;
         log.info("NewfilePath:{}", NewfilePath);
         log.info("fromVideoFileList:{}", fromVideoFileList);
@@ -68,10 +62,7 @@ public class CameraUtil {
                 e.printStackTrace();
             }
         }).start();
-        // windows可以 linux不行
-//        convetor(fromVideoFileList, NewfilePath);
         return Constants.RESOURCE_PREFIX + "/" + ph;
-//        return mappingUrl + "record/flv/hazard/" + ph;
     }
 
     /**
@@ -82,7 +73,7 @@ public class CameraUtil {
      * @return
      */
     public static String getPlayFlv(String cameraCode, String channel) {
-        return historyUrl + "/hdl/" + channel + "/" + cameraCode + ".flv";
+        return webUrl + "/hdl/" + channel + "/" + cameraCode + ".flv";
     }
 
     /**
@@ -106,24 +97,17 @@ public class CameraUtil {
         return historyUrl + "/api/record/flv/stop?id=" + taskId;
     }
 
+
     /**
-     * 实时播放
+     * 历史回放流(获取)
      *
-     * @param cameraCode
-     * @param channel
+     * @param channel 相机通道
+     * @param startTm 开始时间
+     * @param endTm   结束时间
      * @return
      */
-    public static String play(String cameraCode, String channel) {
-        if (StringUtils.isBlank(cameraCode) || StringUtils.isBlank(channel)) {
-            return null;
-        }
-        String param = "id=" + cameraCode + "&channel=" + channel;
-        return HttpUtils.sendGet(url + "/gb28181/api/records", param);
-    }
-
-
     public static String historyPlayListStr(String channel, Date startTm, Date endTm) {
-        List<String> list = historyPlayList(channel, startTm, endTm, filePath);
+        List<String> list = filterPlayList(channel, startTm, endTm, filePath);
         String ph = "flv/" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD, new Date())
                 + "/" + channel + "/"
                 + UUID.randomUUID().toString() + ".flv";
@@ -141,7 +125,16 @@ public class CameraUtil {
     }
 
 
-    public static List<String> historyPlayList(String channel, Date startTm, Date endTm, String mappingUrl) {
+    /**
+     * 过滤符合条件的视频
+     *
+     * @param channel
+     * @param startTm
+     * @param endTm
+     * @param mappingUrl
+     * @return
+     */
+    public static List<String> filterPlayList(String channel, Date startTm, Date endTm, String mappingUrl) {
         if (StringUtils.isBlank(channel)
                 || ObjectUtils.isEmpty(startTm)
                 || ObjectUtils.isEmpty(endTm)) {
@@ -209,133 +202,11 @@ public class CameraUtil {
     }
 
     /**
-     * * 参数:
-     * **List<String> fromVideoFileList 需要合并的多视频url地址以List存放**
-     * **String ffmpeg 此处是ffmpeg 配置地址,可写死如“E:/ffmpeg/bin/ffmpeg.exe”**
-     * **String NewfilePath 合并后的视频存放地址,如:E:/mergevideo.mp4***
+     * 合并视频(转化文件)
+     * @param fromVideoFileList 视频路径
+     * @param newfilePath 生产新的视频文件路径
+     * @throws IOException
      */
-    public static void convetor(List<String> fromVideoFileList,
-                                String newfilePath) throws IOException {
-        File file = new File(newfilePath);
-        if (!file.getParentFile().exists()) {
-            file.getParentFile().mkdirs();
-            log.info("创建文件夹:{}", file.getParentFile().getPath());
-        }
-        log.info("newfilePath:{}", newfilePath);
-        Runtime.getRuntime().exec("chmod 777 " + file.getParentFile().getPath());
-        List<String> voidTS = new ArrayList<>();
-        Process process = null;
-        ProcessBuilder builder = null;
-        List<String> command = null;
-        String substr = fromVideoFileList.get(0).substring(0, fromVideoFileList.get(0).lastIndexOf("/"));
-        log.info("substr:{}", substr);
-        Runtime.getRuntime().exec("chmod 777 " + substr);
-        // 转化为临时文件 .ts  放入到 voidTS里面
-        for (int i = 0; i < fromVideoFileList.size(); i++) {
-            String fromVideoFile = fromVideoFileList.get(i);
-            File file1 = new File(fromVideoFile);
-            if (file1.exists()) {
-                log.info("文件存在:{}", fromVideoFile);
-                command = new ArrayList<String>();
-                command.add(ffmpegPath);
-                command.add("-y");
-                command.add("-i");
-                command.add(fromVideoFile);
-                command.add("-vcodec");
-                command.add("copy");
-                command.add("-bsf:v");
-                command.add("h264_mp4toannexb");
-                command.add("-f");
-                command.add("mpegts");
-                command.add(fromVideoFile.substring(0,
-                        fromVideoFile.lastIndexOf(".")) + ".ts");
-                builder = new ProcessBuilder(command);
-                voidTS.add(fromVideoFile.substring(0,
-                        fromVideoFile.lastIndexOf(".")) + ".ts");
-                try {
-                    process = builder.start();
-                    InputStream errorStream = process
-                            .getErrorStream();
-                    InputStreamReader inputStreamReader = new InputStreamReader(
-                            errorStream);
-                    BufferedReader br = new BufferedReader(
-                            inputStreamReader);
-                    String line = "";
-                    StringBuffer sb = new StringBuffer();
-                    while ((line = br.readLine()) != null) {
-                        sb.append(line);
-                    }
-                    String regexDuration = "Duration: (.*?), start: (.*?), bitrate: (\\d*) kb\\/s";
-                    Pattern pattern = Pattern
-                            .compile(regexDuration);
-                    Matcher m = pattern.matcher(sb.toString());
-                    System.out.println(sb.toString());
-                    br.close();
-                    inputStreamReader.close();
-                    errorStream.close();
-                } catch (IOException e) {
-                    log.error(e.getMessage());
-                    e.printStackTrace();
-                }
-            } else {
-                log.info("文件不存在:{}", fromVideoFile);
-            }
-        }
-        for (String voidT : voidTS) {
-            Runtime.getRuntime().exec("chmod 777 " + voidT);
-        }
-        log.info("ffmpegPath:{}", ffmpegPath);
-        List<String> dos = new ArrayList<>();
-        StringBuffer tsPath = new StringBuffer();
-        tsPath.append(ffmpegPath);
-        tsPath.append(" -i ");
-        tsPath.append("concat:");
-        log.info("voidTS:{}", voidTS);
-        for (int t = 0; t < voidTS.size(); t++) {
-            if (t != voidTS.size() - 1) {
-                tsPath.append(voidTS.get(t) + "|");
-            } else {
-                tsPath.append(voidTS.get(t));
-            }
-        }
-        tsPath.append(" -vcodec ");
-        tsPath.append(" copy ");
-        tsPath.append(" -bsf:a ");
-        tsPath.append(" aac_adtstoasc ");
-        tsPath.append(" -movflags ");
-        tsPath.append(" +faststart ");
-        tsPath.append(newfilePath);
-        log.info("执行的命令:{}", tsPath.toString());
-        Process pr = Runtime.getRuntime().exec(
-                tsPath.toString());
-        process.getInputStream();
-        pr.getOutputStream().close();
-        pr.getInputStream().close();
-        pr.getErrorStream().close();
-        try {
-            int i = pr.waitFor();
-            System.out.println("********");
-            log.info("********");
-            System.out.println(i);
-            log.info(i + "");
-            log.info("********");
-            System.out.println("********");
-        } catch (InterruptedException e) {
-            log.error(e.getMessage());
-            e.printStackTrace();
-        } finally {
-            pr.destroy();
-        }
-
-        //删除生成的ts文件
-//        for (String filePath : voidTS) {
-//            File filet = new File(filePath);
-//            filet.delete();
-//            pr.destroy();
-//        }
-    }
-
-
     public static void myConvetor(List<String> fromVideoFileList,
                                   String newfilePath) throws IOException {
         /*
@@ -435,30 +306,21 @@ public class CameraUtil {
         String s = HttpUtils.sendGet("http://47.106.159.135/streams" + "/api/record/flv/list", param);
     }
 
-    //工具类
-
-    public static void queryRecords(String cameraCode, String channel, Date startTm, Date endTm) {
-        if (StringUtils.isBlank(cameraCode)
-                || StringUtils.isBlank(channel)
-                || ObjectUtils.isEmpty(startTm)
-                || ObjectUtils.isEmpty(endTm)) {
-            throw new BaseException("参数为空");
-        }
-        String param = "id=" + cameraCode + "&channel=" + channel + "&startTime=" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, startTm) + "&endTm=" + DateUtils.parseDateToStr(DateUtils.YYYY_MM_DD_HH_MM_SS, endTm);
-        String s = HttpUtils.sendGet(historyUrl + "/api/gb28181/query/records", param);
-        System.out.println(s);
-    }
 
     @PostConstruct
     public void init() {
-        url = caneraConfig.getUrl();
-        mappingUrl = caneraConfig.getMappingUrl();
         historyUrl = caneraConfig.getHistoryUrl();
         ffmpegPath = caneraConfig.getFfmpegPath();
-        flvPath = caneraConfig.getFlvPath();
         filePath = caneraConfig.getFilePath();
+        webUrl = caneraConfig.getWebUrl();
     }
 
+    /**
+     * 定时任务参数flv文件
+     *
+     * @throws IOException
+     * @throws InterruptedException
+     */
     public void deleteFlv() throws IOException, InterruptedException {
         SimpleDateFormat s = new SimpleDateFormat("yyyy-MM-dd");
         Date date = new Date();

+ 3 - 3
hazard-admin/src/main/resources/application.yml

@@ -15,11 +15,11 @@ base:
   addressEnabled: false
   # 验证码类型 math 数组计算 char 字符验证
   captchaType: math
-  #  path: http://47.106.159.135:8554
-  path: http://47.106.159.135:8554
+  # 摄像头配置
   ffmpegPath: /usr/local/ffmpeg/bin/ffmpeg
-  mappingUrl: http://47.106.159.135/
   filePath: /opt/streams/
+  historyUrl: http://127.0.0.1:9080
+  webUrl: http://124.70.58.209:9080
 
 # 开发环境配置
 server:

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


+ 10 - 5
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -9,6 +9,7 @@ import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.stateSecrets.SM4Utils;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
+import com.ozs.service.entity.BaseUser;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.MsgAlarmFrequency;
 import com.ozs.service.entity.SvcAddress;
@@ -55,6 +56,8 @@ public class GeoHazardMonitorTokenController {
     BaseCameraManagementService baseCameraManagementService;
     @Value("${sdk.publish:http://47.106.159.135:18819/hazard/sdk/publish}")
     private String sdkUrl;
+    @Autowired
+    private BaseUserService baseUserService;
 
     /**
      * 获取web访问令牌
@@ -133,6 +136,7 @@ public class GeoHazardMonitorTokenController {
             }
             MsgAlarm alarm = msgAlarmService.getOne(lw);
             log.info("alarm:{}", alarm);
+            BaseUser admin = baseUserService.getUserName("admin");
             if (ObjectUtils.isEmpty(alarm)) {
                 MsgAlarm msgAlarm = new MsgAlarm();
                 BeanUtils.copyProperties(reqMsgAlarmVo, msgAlarm);
@@ -144,8 +148,8 @@ public class GeoHazardMonitorTokenController {
                     buffer.append(";");
                 }
                 msgAlarm.setImageUrl(buffer.toString());
-                msgAlarm.setCreateBy("admin");
-                msgAlarm.setUpdateBy("admin");
+                msgAlarm.setCreateBy(admin.getUserId());
+                msgAlarm.setUpdateBy(admin.getUserId());
                 msgAlarm.setAlarmMile(baseCameraManagement.getInstallMile());
                 msgAlarm.setAlarmTime(new Date(reqMsgAlarmVo.getAlarmTime()));
                 msgAlarmService.save(msgAlarm);
@@ -163,8 +167,8 @@ public class GeoHazardMonitorTokenController {
                     buffer.append(";");
                 }
                 msgAlarmVice.setImageUrl(buffer.toString());
-                msgAlarmVice.setCreateBy("admin");
-                msgAlarmVice.setUpdateBy("admin");
+                msgAlarmVice.setCreateBy(admin.getUserId());
+                msgAlarmVice.setUpdateBy(admin.getUserId());
                 msgAlarmFrequencyService.save(msgAlarmVice);
                 respMsgAlarmVo.setAlarmId(reqMsgAlarmVo.getAlarmId());
                 respMsgAlarmVo.setCameraCode(reqMsgAlarmVo.getAlarmCamera());
@@ -212,11 +216,12 @@ public class GeoHazardMonitorTokenController {
                 jsonObject.put("message", "信息编码为空!");
                 return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
             }
+            BaseUser admin = baseUserService.getUserName("admin");
             lw.eq(BaseDeviceDynamicManagement::getCameraCode, reqDeviceVo.getCameraCode());
             BaseDeviceDynamicManagement baseDynamicManagement = baseDeviceDynamicManagementService.getOne(lw);
             baseDynamicManagement.setElectricity(reqDeviceVo.getElectricity());
             baseDynamicManagement.setUpdateTime(new Date(reqDeviceVo.getTime()));
-            baseDynamicManagement.setUpdateBy("admin");
+            baseDynamicManagement.setUpdateBy(admin.getUserId());
             log.info("reqDeviceVo:{}", baseDynamicManagement);
             if (baseDeviceDynamicManagementService.updateById(baseDynamicManagement)) {
                 jsonObject.put("resultCode", 1);

+ 3 - 1
hazard-sdk/src/main/java/com/ozs/controller/upload/UploadController.java

@@ -37,6 +37,8 @@ public class UploadController {
     MinioUtils minioUtils;
     @Autowired
     BaseCameraManagementService baseCameraManagementService;
+    @Value("${base.imgUrl:http://124.71.171.71:18801/picbucket}")
+    private String imgUrl;
 
 
     @PostMapping("/putObject")
@@ -77,7 +79,7 @@ public class UploadController {
                 }
                 String imgName = baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename;
                 minioUtils.minIoClientUpload(stream.getInputStream(), imgName);
-                uploadFile = "/" + baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename;
+                uploadFile = imgUrl+"/" + baseCameraManagement.getRailwayCode() + "/" + line + "/" + baseCameraManagement.getInstallMile() + "/" + format1 + "/" + filename;
             }
         } else {
             jsonObject.put("resultCode", 2);