Browse Source

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

hexiao 2 years ago
parent
commit
70873ed488
24 changed files with 500 additions and 94 deletions
  1. 1 3
      business-service/src/main/java/com/ozs/service/entity/BaseCameraManagement.java
  2. 1 1
      business-service/src/main/java/com/ozs/service/entity/BaseUser.java
  3. 100 0
      business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVos.java
  4. 2 0
      business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmResp.java
  5. 3 0
      business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmVo.java
  6. 22 0
      business-service/src/main/java/com/ozs/service/mapper/BaseDeptMapper.java
  7. 11 2
      business-service/src/main/java/com/ozs/service/mapper/MsgWebPushMapper.java
  8. 2 1
      business-service/src/main/java/com/ozs/service/service/BaseCameraManagementService.java
  9. 8 0
      business-service/src/main/java/com/ozs/service/service/MsgWebPushService.java
  10. 16 5
      business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java
  11. 69 5
      business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java
  12. 7 0
      business-service/src/main/resources/mapper/service/BaseDeptMapper.xml
  13. 73 2
      business-service/src/main/resources/mapper/service/MsgWebPushMapper.xml
  14. 23 20
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java
  15. 37 12
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java
  16. 36 28
      hazard-admin/src/main/java/com/ozs/web/controller/app/GeoHazardMineController.java
  17. 29 6
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysDeptController.java
  18. 21 6
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysMenuController.java
  19. 23 2
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java
  20. 6 0
      hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java
  21. 1 0
      hazard-admin/src/main/resources/application.yml
  22. BIN
      hazard-admin/src/main/resources/template/SysUser.xlsx
  23. BIN
      hazard-admin/src/main/resources/template/baseCameraManagement.xlsx
  24. 9 1
      hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

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

@@ -55,7 +55,6 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
     /**
      * 所属工务段编码(单位id)
      */
-    @Excel(name = "所属工务段编码(单位id)")
     private Long deptId;
 
     /**
@@ -109,13 +108,11 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
     /**
      * 是否开启录像(1开启2不开启)
      */
-    @Excel(name = "是否开启录像",readConverterExp = "1=开启,2=不开启")
     private Integer startRecording;
 
     /**
      * 录像接口返回的任务ID
      */
-    @Excel(name = "录像接口返回的任务ID")
     private String taskId;
 
 
@@ -147,5 +144,6 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      *所属工务段名称
      */
     @TableField(exist = false)
+    @Excel(name = "所属工务段名称")
     private String deptName;
 }

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

@@ -37,7 +37,7 @@ public class BaseUser implements Serializable {
     /** 用户账号 */
     private String userName;
 
-    /** 用户昵称 */
+    /** 真实姓名 */
     private String nickName;
 
     /** 用户邮箱 */

+ 100 - 0
business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVos.java

@@ -0,0 +1,100 @@
+package com.ozs.service.entity.vo;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableField;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.ozs.common.annotation.Excel;
+import com.ozs.common.core.domain.BaseEntity;
+import io.swagger.annotations.ApiModel;
+import lombok.AllArgsConstructor;
+import lombok.Builder;
+import lombok.Data;
+import lombok.NoArgsConstructor;
+
+import java.io.Serializable;
+
+/**
+ * <p>
+ * 相机台账管理表
+ * </p>
+ *
+ * @author ozs
+ * @since 2023-02-17
+ */
+@Data
+@AllArgsConstructor
+@NoArgsConstructor
+@Builder
+@ApiModel("相机台账管理表")
+public class BaseCameraManagementVos implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+   
+    /**
+     * 相机编码
+     */
+    @Excel(name = "相机编码")
+    private String cameraCode;
+
+    /**
+     * 通道编号
+     */
+    @Excel(name = "通道编号")
+    private String channel;
+    
+
+    /**
+     * 行别(1上行2下行)
+     */
+    @Excel(name = "行别",readConverterExp = "1=上行,2=下行")
+    private Integer lineDir;
+
+    /**
+     * 监控相机安装里程位置
+     */
+    @Excel(name = "监控相机安装里程位置")
+    private Integer installMile;
+
+    /**
+     * 监控范围开始里程位置
+     */
+    @Excel(name = "监控范围开始里程位置")
+    private Integer beginMile;
+
+    /**
+     * 监控范围结束里程位置
+     */
+    @Excel(name = "监控范围结束里程位置")
+    private Integer endMile;
+
+    /**
+     * 监视相机经度
+     */
+    @Excel(name = "监视相机经度")
+    private String installLongitude;
+
+    /**
+     * 监视相机纬度
+     */
+    @Excel(name = "监视相机纬度")
+    private String installLatitude;
+
+    /**
+     * 线路编码
+     */
+    @Excel(name = "线路编码")
+    private String railwayCode;
+
+    /**
+     * 物联网卡号
+     */
+    @Excel(name = "物联网卡号")
+    private String cardNum;
+    
+    /**
+     *所属工务段名称
+     */
+    @Excel(name = "所属工务段名称")
+    private String deptName;
+}

+ 2 - 0
business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmResp.java

@@ -28,6 +28,8 @@ public class MsgAlarmResp implements Serializable {
 
     private static final long serialVersionUID = 1L;
 
+    private long id;
+
     /**
      * 线路名称
      */

+ 3 - 0
business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmVo.java

@@ -6,6 +6,7 @@ import lombok.Data;
 
 import java.io.Serializable;
 import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -66,5 +67,7 @@ public class MsgAlarmVo extends PageVo implements Serializable {
      */
     private Integer isLock;
 
+    private List<String> userIds;
 
+    private Integer status;
 }

+ 22 - 0
business-service/src/main/java/com/ozs/service/mapper/BaseDeptMapper.java

@@ -0,0 +1,22 @@
+package com.ozs.service.mapper;
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.common.core.domain.entity.SysDept;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+/**
+ * 部门管理 数据层
+ *
+ * @author hx
+ */
+@Mapper
+public interface BaseDeptMapper extends BaseMapper<SysDept> {
+    
+    /**
+     * 根据部门名称查询信息
+     * @param deptName
+     * @return
+     */
+    Long selectDeptByDeptName(@Param("deptName") String deptName);
+}

+ 11 - 2
business-service/src/main/java/com/ozs/service/mapper/MsgWebPushMapper.java

@@ -1,11 +1,14 @@
 package com.ozs.service.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.MsgWebPush;
+import com.ozs.service.entity.vo.MsgAlarmVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @Author : sunhh
@@ -13,7 +16,13 @@ import java.util.List;
  */
 @Mapper
 public interface MsgWebPushMapper extends BaseMapper<MsgWebPush> {
-    Integer webAlarmNum(@Param("userId") String userId);
+    Integer webAlarmNum(@Param("userIds") List<String> userIds);
 
-    List<MsgWebPush> webAlarm(@Param("userId") String userId);
+    List<MsgWebPush> webAlarm(@Param("userIds") List<String> userIds);
+
+    List<MsgAlarm> messageMore(MsgAlarmVo msgAlarmVo);
+
+    List<String> messageMoreByUserIds(List<String> userIds);
+
+    Map<String, Integer> messageMoreNum(MsgAlarmVo msgAlarmVo);
 }

+ 2 - 1
business-service/src/main/java/com/ozs/service/service/BaseCameraManagementService.java

@@ -4,6 +4,7 @@ import com.ozs.common.core.domain.AjaxResult;
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.vo.BaseCameraManagementHomeVo;
+import com.ozs.service.entity.vo.BaseCameraManagementVos;
 
 import java.util.List;
 
@@ -23,7 +24,7 @@ public interface BaseCameraManagementService extends IService<BaseCameraManageme
      * @param userId
      * @return
      */
-    String importBaseAccountManagement(List<BaseCameraManagement> accountManageList, boolean updateSupport,String userId);
+    String importBaseAccountManagement(List<BaseCameraManagementVos> accountManageList, boolean updateSupport, String userId);
 
     List<BaseCameraManagementHomeVo> selectCameraAll(String userId);
 

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

@@ -1,9 +1,13 @@
 package com.ozs.service.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.MsgAppPush;
 import com.ozs.service.entity.MsgWebPush;
+import com.ozs.service.entity.vo.MsgAlarmVo;
 
+import java.util.List;
 import java.util.Map;
 
 /**
@@ -14,4 +18,8 @@ public interface MsgWebPushService extends IService<MsgWebPush> {
     int read(MsgWebPush msgWebPush);
 
     Map webAlarm(String userId);
+
+    IPage messageMore(String userId, MsgAlarmVo msgAlarmVo);
+
+    Map<String, Integer> messageMoreNum(String userId, MsgAlarmVo msgAlarmVo);
 }

+ 16 - 5
business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java

@@ -11,8 +11,10 @@ import com.ozs.service.entity.BaseDeviceDynamicManagement;
 import com.ozs.service.entity.BaseUser;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.vo.BaseCameraManagementHomeVo;
+import com.ozs.service.entity.vo.BaseCameraManagementVos;
 import com.ozs.service.mapper.BaseCameraManagementMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.service.mapper.BaseDeptMapper;
 import com.ozs.service.mapper.BaseDeviceDynamicManagementMapper;
 import com.ozs.service.mapper.BaseUserMapper;
 import com.ozs.service.mapper.MsgAlarmMapper;
@@ -49,6 +51,8 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
     private BaseUserMapper baseUserMapper;
     @Resource
     private MsgAlarmMapper msgAlarmMapper;
+    @Autowired
+    private BaseDeptMapper baseDeptMapper;
 
     /**
      * 相机台账管理表导入
@@ -58,7 +62,7 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
      * @return
      */
     @Override
-    public String importBaseAccountManagement(List<BaseCameraManagement> accountManageList, boolean updateSupport,String userId) {
+    public String importBaseAccountManagement(List<BaseCameraManagementVos> accountManageList, boolean updateSupport, String userId) {
         if (com.ozs.common.utils.StringUtils.isNull(accountManageList) || accountManageList.size() == 0) {
             throw new ServiceException("导入相机台账列表信息不能为空!");
         }
@@ -66,8 +70,10 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
         int failureNum = 0;
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
-        for (BaseCameraManagement accountManagement : accountManageList) {
+        for (BaseCameraManagementVos cameraManagementVos : accountManageList) {
             try {
+                BaseCameraManagement accountManagement = new BaseCameraManagement();
+                BeanUtils.copyProperties(cameraManagementVos, accountManagement);
                 // 判断相机编码是否存在
                 LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
                 if (!ObjectUtils.isEmpty(accountManagement.getCameraCode())) {
@@ -78,6 +84,8 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                     BeanValidators.validateWithException(validator, accountManagement);
                     accountManagement.setUpdateBy(userId);
                     accountManagement.setCreateBy(userId);
+                    Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
+                    accountManagement.setDeptId(deptId);
                     baseCameraManagementMapper.insert(accountManagement);
                     BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
                     baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
@@ -89,6 +97,8 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                 } else if (updateSupport) {
                     BeanValidators.validateWithException(validator, accountManagement);
                     accountManagement.setUpdateBy(userId);
+                    Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
+                    accountManagement.setDeptId(deptId);
                     baseCameraManagementMapper.update(accountManagement, lw);
                     LambdaQueryWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
                     if (!ObjectUtils.isEmpty(baseAccountManagement.getCameraCode())) {
@@ -106,7 +116,7 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                 }
             } catch (Exception e) {
                 failureNum++;
-                String msg = "<br/>" + failureNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入失败:";
+                String msg = "<br/>" + failureNum + "、相机编码 " + cameraManagementVos.getCameraCode() + " 导入失败:";
                 failureMsg.append(msg + e.getMessage());
                 log.error(msg, e);
             }
@@ -136,10 +146,11 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
         List<BaseCameraManagementHomeVo> allListVo = BeanUtils.entityListToVOList(baseCameraManagementList, BaseCameraManagementHomeVo.class);
         for (BaseCameraManagementHomeVo baseCameraManagementHomeVo : allListVo) {
             Map map = msgAlarmMapper.selectCameraCode(baseCameraManagementHomeVo.getCameraCode());
+            String isLock = "1";
             if (!StringUtils.isEmpty(map) && !StringUtils.isEmpty(map.get("isLock"))) {
-                String isLock = map.get("isLock").toString();
-                baseCameraManagementHomeVo.setIsLock(Integer.valueOf(isLock));
+                isLock = map.get("isLock").toString();
             }
+            baseCameraManagementHomeVo.setIsLock(Integer.valueOf(isLock));
         }
         return allListVo;
     }

+ 69 - 5
business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java

@@ -1,15 +1,29 @@
 package com.ozs.service.service.impl;
 
+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.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.ozs.common.utils.AppendUtils;
+import com.ozs.common.utils.PageUtils;
+import com.ozs.common.utils.StringUtils;
+import com.ozs.service.entity.BaseCameraManagement;
+import com.ozs.service.entity.BaseRailwayManagement;
+import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.MsgWebPush;
+import com.ozs.service.entity.vo.MsgAlarmVo;
 import com.ozs.service.mapper.MsgWebPushMapper;
+import com.ozs.service.service.BaseCameraManagementService;
+import com.ozs.service.service.BaseRailwayManagementService;
+import com.ozs.service.service.MsgAlarmFrequencyService;
 import com.ozs.service.service.MsgWebPushService;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
+import org.springframework.util.ObjectUtils;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import javax.annotation.Resource;
+import java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author : sunhh
@@ -19,6 +33,10 @@ import java.util.Map;
 public class MsgWebPushServiceImpl extends ServiceImpl<MsgWebPushMapper, MsgWebPush> implements MsgWebPushService {
     @Autowired
     private MsgWebPushMapper msgWebPushMapper;
+    @Autowired
+    private BaseCameraManagementService baseCameraManagementService;
+    @Autowired
+    private BaseRailwayManagementService baseRailwayManagementService;
 
     @Override
     public int read(MsgWebPush msgWebPush) {
@@ -29,11 +47,57 @@ public class MsgWebPushServiceImpl extends ServiceImpl<MsgWebPushMapper, MsgWebP
 
     @Override
     public Map webAlarm(String userId) {
+        List<String> userIds = baseCameraManagementService.getUserIds(userId);
         Map<String, Object> webAlarmMap = new HashMap<>();
-        Integer webAlarmNum = msgWebPushMapper.webAlarmNum(userId);
-        List<MsgWebPush> webAlarm = msgWebPushMapper.webAlarm(userId);
+        Integer webAlarmNum = msgWebPushMapper.webAlarmNum(userIds);
+        List<MsgWebPush> webAlarm = msgWebPushMapper.webAlarm(userIds);
         webAlarmMap.put("webAlarmNum", webAlarmNum);
         webAlarmMap.put("webAlarm", webAlarm);
         return webAlarmMap;
     }
+
+    @Override
+    public IPage messageMore(String userId, MsgAlarmVo msgAlarmVo) {
+        List<String> userIds = baseCameraManagementService.getUserIds(userId);
+        msgAlarmVo.setUserIds(userIds);
+        List<MsgAlarm> webAlarm = msgWebPushMapper.messageMore(msgAlarmVo);
+        Page<MsgAlarm> page = PageUtils.getPages(msgAlarmVo.getPageNum().intValue(), msgAlarmVo.getPageSize().intValue(), webAlarm);
+        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
+            List<MsgAlarm> dto1 = page.getRecords().stream().map(o -> {
+                String[] split = o.getImageUrl().split(";");
+                ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
+                o.setImageUrls(objects);
+                LambdaQueryWrapper<BaseCameraManagement> cameraManagementLambdaQueryWrapper = new LambdaQueryWrapper<BaseCameraManagement>();
+                if (!ObjectUtils.isEmpty(o.getCameraCode())) {
+                    cameraManagementLambdaQueryWrapper.eq(BaseCameraManagement::getCameraCode, o.getCameraCode());
+                }
+                BaseCameraManagement cameraManagement = baseCameraManagementService.getOne(cameraManagementLambdaQueryWrapper);
+                LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+                if (!ObjectUtils.isEmpty(cameraManagement.getRailwayCode())) {
+                    queryWrapper.eq(BaseRailwayManagement::getRailwayCode, cameraManagement.getRailwayCode());
+                }
+                BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
+
+                o.setRailwayName(baseRailwayManagement.getRailwayName());
+                String mils = AppendUtils.stringAppend(cameraManagement.getInstallMile());
+                o.setAlarmMiles(mils);
+                String end = AppendUtils.stringAppend(cameraManagement.getEndMile());
+                o.setEndMile(end);
+                String begin = AppendUtils.stringAppend(cameraManagement.getBeginMile());
+                o.setBeginMile(begin);
+                // o.setAlarmCount((int) msgAlarmFrequencyService.count()+1);
+                return o;
+            }).collect(Collectors.toList());
+            page.setRecords(dto1);
+        }
+        return page;
+    }
+
+    @Override
+    public Map<String, Integer> messageMoreNum(String userId, MsgAlarmVo msgAlarmVo) {
+        List<String> userIds = baseCameraManagementService.getUserIds(userId);
+        msgAlarmVo.setUserIds(userIds);
+        Map<String, Integer> map = msgWebPushMapper.messageMoreNum(msgAlarmVo);
+        return map;
+    }
 }

+ 7 - 0
business-service/src/main/resources/mapper/service/BaseDeptMapper.xml

@@ -0,0 +1,7 @@
+<?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.BaseDeptMapper">
+    <select id="selectDeptByDeptName" parameterType="string"  resultType="java.lang.Long">
+		select dept_id from sys_dept where dept_name = #{deptName}
+	</select>
+</mapper>

+ 73 - 2
business-service/src/main/resources/mapper/service/MsgWebPushMapper.xml

@@ -3,10 +3,81 @@
 <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 count(*) from msg_web_push where status = 1 and receive_by in
+        <foreach item="item" collection="userIds" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
     </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 * from msg_web_push where status = 1 and receive_by in
+        <foreach item="item" collection="userIds" separator="," open="(" close=")" index="">
+            #{item}
+        </foreach>
+    </select>
+
+    <select id="messageMoreByUserIds" parameterType="java.util.List" resultType="java.lang.String">
+        select alarm_id from msg_web_push where status = #{status} and receive_by in
+        <foreach item="item" collection="userIds" index="index" separator="," open="(" close=")">
+            #{item}
+        </foreach>
+    </select>
+
+    <select id="messageMore" parameterType="com.ozs.service.entity.vo.MsgAlarmVo" resultType="com.ozs.service.entity.MsgAlarm">
+        select b.* from (
+            select alarm_id from msg_web_push
+            <where>
+                <if test="status != null  and status != ''">
+                    and status = #{status}
+                </if>
+                <if test="userIds != null and userIds != ''">
+                    and receive_by in
+                    <foreach item="item" collection="userIds" index="index" separator="," open="(" close=")">
+                        #{item}
+                    </foreach>
+                </if>
+            </where>
+        ) a left join (
+            select * from msg_alarm
+            <where>
+                <if test="alarmType != null and alarmType != ''">
+                    and alarm_type = #{alarmType}
+                </if>
+                <if test="beginAlarmTime != null and beginAlarmTime != ''">
+                    and alarm_time &gt;= #{beginAlarmTime}
+                </if>
+                <if test="endAlarmTime != null and endAlarmTime != ''">
+                    and alarm_time &lt;= #{endAlarmTime}
+                </if>
+                <if test="isLock != null and isLock != ''">
+                    and is_lock = #{isLock}
+                </if>
+            </where>
+        ) b on a.alarm_id = b.alarm_id left join (
+            select * from base_camera_management
+            <where>
+                <if test="railwayCode != null and railwayCode != ''">
+                    and railway_code = #{railwayCode}
+                </if>
+                <if test="beginMile != null and beginMile != ''">
+                    and begin_mile &gt;= #{beginMile}
+                </if>
+                <if test="endMile != null and endMile != ''">
+                    and end_mile &lt;= #{endMile}
+                </if>
+            </where>
+        ) c on b.camera_code = c.camera_code
+    </select>
+
+    <select id="messageMoreNum" parameterType="com.ozs.service.entity.vo.MsgAlarmVo" resultType="java.util.Map">
+        select count(id) count, SUM(CASE status WHEN '1' THEN 1 ELSE 0 end) AS 'noCount' from msg_web_push
+        <where>
+            <if test="userIds != null and userIds != ''">
+                and receive_by in
+                <foreach item="item" collection="userIds" index="index" separator="," open="(" close=")">
+                    #{item}
+                </foreach>
+            </if>
+        </where>
     </select>
 </mapper>

+ 23 - 20
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -27,6 +27,7 @@ import com.ozs.service.entity.CameraTree;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.vo.BaseCameraManagementHomeVo;
 import com.ozs.service.entity.vo.BaseCameraManagementVo;
+import com.ozs.service.entity.vo.BaseCameraManagementVos;
 import com.ozs.service.entity.vo.BaseCameraResVo;
 import com.ozs.service.entity.vo.MsgAlarmResp;
 import com.ozs.service.service.BaseCameraManagementService;
@@ -60,12 +61,7 @@ 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.*;
 import java.util.stream.Collectors;
 
 /**
@@ -150,11 +146,14 @@ public class BaseCameraManagementController extends BaseController {
             msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
             String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
             String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
-            String endMile=begin+"-"+end;
+            String endMile = begin + "-" + end;
             msgAlarmResp.setBeginMile(endMile);
             String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
             msgAlarmResp.setAlarmMile(mile);
-            msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude()+","+baseCameraManagement.getInstallLatitude());
+            msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude() + "," + baseCameraManagement.getInstallLatitude());
+            String[] split = msgAlarm.getImageUrl().split(";");
+            ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
+            msgAlarmResp.setImageUrls(objects);
             return AjaxResult.success(msgAlarmResp);
         }
         return null;
@@ -250,8 +249,8 @@ public class BaseCameraManagementController extends BaseController {
     @Transactional
     public AjaxResult saveAccountManagement(@RequestBody BaseCameraManagement baseCameraManagement) {
         String idempotence = idempotenceUtils.getIdempotence(baseCameraManagement.getCameraCode());
-        if (StringUtils.isNotEmpty(idempotence)){
-            return  error("你的网络卡顿,请不要一直添加!!!");
+        if (StringUtils.isNotEmpty(idempotence)) {
+            return error("你的网络卡顿,请不要一直添加!!!");
         }
         idempotenceUtils.createIdempotence(baseCameraManagement.getCameraCode());
         LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
@@ -387,9 +386,9 @@ public class BaseCameraManagementController extends BaseController {
     @ApiOperation("相机台账管理信息导入")
     @PostMapping("/importBaseAccountManagement")
     public AjaxResult importBaseAccountManagement(MultipartFile file, boolean updateSupport) throws Exception {
-        ExcelUtil<BaseCameraManagement> util = new ExcelUtil<BaseCameraManagement>(BaseCameraManagement.class);
-        List<BaseCameraManagement> AccountManageList = util.importExcel(file.getInputStream());
-        String message = baseCameraManagementService.importBaseAccountManagement(AccountManageList, updateSupport,getUserId());
+        ExcelUtil<BaseCameraManagementVos> util = new ExcelUtil<BaseCameraManagementVos>(BaseCameraManagementVos.class);
+        List<BaseCameraManagementVos> accountManageList = util.importExcel(file.getInputStream());
+        String message = baseCameraManagementService.importBaseAccountManagement(accountManageList, updateSupport, getUserId());
         return AjaxResult.success(message);
     }
 
@@ -418,6 +417,10 @@ public class BaseCameraManagementController extends BaseController {
             lw.le(BaseCameraManagement::getEndMile, baseAccountManagementVo.getEndMile());
         }
         List<BaseCameraManagement> list = baseCameraManagementService.list(lw);
+        for (BaseCameraManagement baseCameraManagement : list) {
+        SysDept sysDept = deptService.selectDeptById(baseCameraManagement.getDeptId());
+            baseCameraManagement.setDeptName(sysDept.getDeptName());
+        }
         ExcelUtil<BaseCameraManagement> util = new ExcelUtil<>(BaseCameraManagement.class);
         util.exportExcel(response, list, "台账管理相机数据");
     }
@@ -507,13 +510,13 @@ public class BaseCameraManagementController extends BaseController {
             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;
-                  }
+                    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) {

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

@@ -47,6 +47,7 @@ import java.io.File;
 import java.io.FileOutputStream;
 import java.io.OutputStream;
 import java.util.ArrayList;
+import java.util.Arrays;
 import java.util.Date;
 import java.util.List;
 import java.util.Map;
@@ -79,6 +80,28 @@ public class MsgAlarmController extends BaseController {
     @Autowired
     private ISysDictDataService dictDataService;
 
+    /**
+     * web更多消息-总数,已读数
+     */
+    @PostMapping("/messageMoreNum")
+    @ApiOperation("更多消息--总数,已读数")
+    public AjaxResult messageMoreNum(@RequestBody MsgAlarmVo msgAlarmVo) {
+        String userId = getUserId();
+        Map<String, Integer> messageMore = msgWebPushService.messageMoreNum(userId, msgAlarmVo);
+        return AjaxResult.success(messageMore);
+    }
+
+    /**
+     * web更多消息
+     */
+    @PostMapping("/messageMore")
+    @ApiOperation("更多消息")
+    public AjaxResult messageMore(@RequestBody MsgAlarmVo msgAlarmVo) {
+        String userId = getUserId();
+        IPage messageMore = msgWebPushService.messageMore(userId, msgAlarmVo);
+        return AjaxResult.success(messageMore);
+    }
+
     /**
      * web报警未读消息个数+未读消息列表
      */
@@ -111,7 +134,7 @@ public class MsgAlarmController extends BaseController {
     @ApiOperation(value = "报警信息分页")
     @PostMapping("/list")
     public AjaxResult selectMsgAlarm(@RequestBody MsgAlarmVo msgAlarmVo) {
-        List<BaseCameraManagement> baseCameraManagementList=new ArrayList<>();
+        List<BaseCameraManagement> baseCameraManagementList = new ArrayList<>();
         LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
         if (!ObjectUtils.isEmpty(msgAlarmVo.getRailwayCode())) {
             wrapper.eq(BaseCameraManagement::getRailwayCode, msgAlarmVo.getRailwayCode());
@@ -122,7 +145,7 @@ public class MsgAlarmController extends BaseController {
         if (!ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
             wrapper.le(BaseCameraManagement::getEndMile, msgAlarmVo.getEndMile());
         }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getRailwayCode())||!ObjectUtils.isEmpty(msgAlarmVo.getBeginMile())||!ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getRailwayCode()) || !ObjectUtils.isEmpty(msgAlarmVo.getBeginMile()) || !ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
             baseCameraManagementList = baseCameraManagementService.list(wrapper);
         }
         List<String> userIds = baseCameraManagementService.getUserIds(getUserId());
@@ -133,14 +156,14 @@ public class MsgAlarmController extends BaseController {
         if (!ObjectUtils.isEmpty(msgAlarmVo.getLineDir())) {
             lw.eq(MsgAlarm::getLineDir, msgAlarmVo.getLineDir());
         }
-        if (baseCameraManagementList.size()>0) {
+        if (baseCameraManagementList.size() > 0) {
             List<String> collect = baseCameraManagementList.stream().map(BaseCameraManagement::getCameraCode).collect(Collectors.toList());
             lw.in(MsgAlarm::getCameraCode, collect);
         }
         if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmType())) {
             lw.eq(MsgAlarm::getAlarmType, msgAlarmVo.getAlarmType());
         }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile())&& msgAlarmVo.getAlarmMile() != 0) {
+        if (!ObjectUtils.isEmpty(msgAlarmVo.getAlarmMile()) && msgAlarmVo.getAlarmMile() != 0) {
             lw.eq(MsgAlarm::getAlarmMile, msgAlarmVo.getAlarmMile());
         }
         if (!ObjectUtils.isEmpty(msgAlarmVo.getBeginAlarmTime())) {
@@ -153,8 +176,11 @@ public class MsgAlarmController extends BaseController {
             lw.eq(MsgAlarm::getIsLock, msgAlarmVo.getIsLock());
         }
         IPage<MsgAlarm> page = msgAlarmService.page(new Page<>(msgAlarmVo.getPageNum(), msgAlarmVo.getPageSize()), lw);
-        if(!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())){
+        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
             List<MsgAlarm> dto1 = page.getRecords().stream().map(o -> {
+                String[] split = o.getImageUrl().split(";");
+                ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
+                o.setImageUrls(objects);
                 LambdaQueryWrapper<BaseCameraManagement> cameraManagementLambdaQueryWrapper = new LambdaQueryWrapper<BaseCameraManagement>();
                 if (!ObjectUtils.isEmpty(o.getCameraCode())) {
                     cameraManagementLambdaQueryWrapper.eq(BaseCameraManagement::getCameraCode, o.getCameraCode());
@@ -173,7 +199,7 @@ public class MsgAlarmController extends BaseController {
                 o.setEndMile(end);
                 String begin = AppendUtils.stringAppend(cameraManagement.getBeginMile());
                 o.setBeginMile(begin);
-                o.setAlarmCount((int) msgAlarmFrequencyService.count()+1);
+                o.setAlarmCount((int) msgAlarmFrequencyService.count() + 1);
                 return o;
             }).collect(Collectors.toList());
             page.setRecords(dto1);
@@ -201,15 +227,14 @@ public class MsgAlarmController extends BaseController {
         msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
         String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
         String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
-        String endMile=begin+"-"+end;
+        String endMile = begin + "-" + end;
         msgAlarmResp.setBeginMile(endMile);
         String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
         msgAlarmResp.setAlarmMile(mile);
-        msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude()+","+baseCameraManagement.getInstallLatitude());
+        msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude() + "," + baseCameraManagement.getInstallLatitude());
         return AjaxResult.success(msgAlarmResp);
     }
 
-
     @PutMapping(value = "/{id}")
     @ApiOperation("根据报警信息ID解除报警")
     public AjaxResult updateIsLock(@PathVariable Long id) {
@@ -231,11 +256,11 @@ public class MsgAlarmController extends BaseController {
         return AjaxResult.success(list);
     }
 
-    @GetMapping(value = "/videoHistoricalAlarm/{alarmId}")
+    @GetMapping(value = "/videoHistoricalAlarm/{cameraCode}")
     @ApiOperation("视频服务历史报警信息")
-    public AjaxResult videoHistoricalAlarm(@PathVariable String alarmId) {
+    public AjaxResult videoHistoricalAlarm(@PathVariable String cameraCode) {
         QueryWrapper<MsgAlarm> wrapper = new QueryWrapper<>();
-        wrapper.eq("alarm_id", alarmId);
+        wrapper.eq("camera_code", cameraCode);
         wrapper.orderByDesc("alarm_time");
         List<MsgAlarm> list = msgAlarmService.list(wrapper);
         return AjaxResult.success(list);

+ 36 - 28
hazard-admin/src/main/java/com/ozs/web/controller/app/GeoHazardMineController.java

@@ -8,6 +8,11 @@ import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 
 import com.ozs.common.utils.ImgUtil;
+import com.ozs.common.utils.MinioUtils;
+import com.ozs.common.utils.StringUtils;
+import com.ozs.common.utils.uuid.IdUtils;
+import com.ozs.service.entity.BaseCameraManagement;
+import com.ozs.service.entity.BaseRailwayManagement;
 import com.ozs.service.entity.MsgAppPush;
 import com.ozs.service.entity.vo.MsgAppPushVo;
 import com.ozs.service.service.MsgAppPushService;
@@ -22,8 +27,11 @@ import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.*;
 import org.springframework.web.multipart.MultipartFile;
 
+import javax.annotation.Resource;
 import java.io.File;
 import java.io.FileOutputStream;
+import java.text.SimpleDateFormat;
+import java.util.Date;
 import java.util.List;
 import java.util.UUID;
 
@@ -44,43 +52,43 @@ public class GeoHazardMineController extends BaseController {
     private ISysUserService sysUserService;
     @Autowired
     private MsgAppPushService msgAppPushService;
+    @Resource
+    private MinioUtils minioUtils;
+    @Value("${base.imgUrl}")
+    private String imgUrl;
 
     /**
      * 修改头像
      */
     @PostMapping("/updateAvatar")
     @ApiOperation("app修改头像")
-    public AjaxResult updateAvatar(MultipartFile image, String userId) {
-
-        String imageUrl = null;
-        try {
-            if (image != null) {
-                //获取文件名
-                String fileName = image.getOriginalFilename();
-                if (org.springframework.util.StringUtils.isEmpty(fileName) || image.getSize() == 0) {
-                    throw new Exception("图像文件不能为空!");
-                }
-                //验证文件名是否合格
-                if (!ImgUtil.isImg(fileName)) {
-                    throw new Exception("图像文件必须是图片格式!");
-                }
-                String saveFileName = UUID.randomUUID().toString();
-                File saveDirFile = new File(avatarURL);
-                if (!saveDirFile.exists()) {
-                    saveDirFile.mkdirs();
+    public AjaxResult updateAvatar(@RequestParam("image") MultipartFile image, @RequestParam("userId") String userId) {
+        if (image.isEmpty()) {
+            return AjaxResult.error("不能上传空文件哦");
+        }
+        //图片保存路径
+        //String fileUploadPath ="/"+userId+"/image";
+        String uploadFile = null;
+        if (image != null && !image.isEmpty()) {
+            String imageName = image.getOriginalFilename();
+            if (StringUtils.isNotBlank(imageName)) {
+                // String date = new SimpleDateFormat("yyyyMMddHHmmss").format(new Date());
+                String filename = IdUtils.fastSimpleUUID() + image.getOriginalFilename().substring(image.getOriginalFilename().lastIndexOf("."));
+                SimpleDateFormat dateFormat1 = new SimpleDateFormat("yyyy-MM-dd");
+                String format1 = dateFormat1.format(new Date());
+                String imgName = format1 + "/" + filename;
+                try {
+                    minioUtils.minIoClientUpload(image.getInputStream(), imgName);
+                } catch (Exception e) {
+                    e.printStackTrace();
                 }
-                File picFullFile = new File(saveDirFile.getAbsolutePath(), saveFileName);
-                FileOutputStream fos = new FileOutputStream(picFullFile);
-                fos.write(image.getBytes());
-                imageUrl = fileUrl + avatarURL + saveFileName;
-                sysUserService.updateUserAvatarById(userId, imageUrl);
-            } else {
-                throw new Exception("上传文件不能为空");
+                uploadFile = imgUrl + "/" + format1 + "/" + filename;
+                sysUserService.updateUserAvatarById(userId, uploadFile);
             }
-        } catch (Exception e) {
-            e.printStackTrace();
+        } else {
+            return AjaxResult.error("上传功能出错");
         }
-        return AjaxResult.success(imageUrl);
+        return AjaxResult.success(uploadFile);
     }
 
     /**

+ 29 - 6
hazard-admin/src/main/java/com/ozs/web/controller/system/SysDeptController.java

@@ -1,6 +1,10 @@
 package com.ozs.web.controller.system;
 
 import java.util.List;
+
+import com.ozs.common.core.domain.entity.SysRole;
+import com.ozs.common.utils.poi.ExcelUtil;
+import io.swagger.annotations.ApiOperation;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -22,6 +26,8 @@ import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.system.service.ISysDeptService;
 
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * 部门信息
  *
@@ -29,8 +35,7 @@ import com.ozs.system.service.ISysDeptService;
  */
 @RestController
 @RequestMapping("/system/dept")
-public class SysDeptController extends BaseController
-{
+public class SysDeptController extends BaseController {
     @Autowired
     private ISysDeptService deptService;
 
@@ -45,6 +50,16 @@ public class SysDeptController extends BaseController
         return success(depts);
     }
 
+    /**
+     * 获取部门树列表
+     */
+    @GetMapping("/deptTree")
+    @ApiOperation("获取部门树列表")
+    public AjaxResult deptTree(SysDept dept)
+    {
+        return success(deptService.selectDeptTreeList(dept));
+    }
+
     /**
      * 查询部门列表(排除节点)
      */
@@ -118,15 +133,23 @@ public class SysDeptController extends BaseController
     @DeleteMapping("/{deptId}")
     public AjaxResult remove(@PathVariable Long deptId)
     {
-        if (deptService.hasChildByDeptId(deptId))
-        {
+        if (deptService.hasChildByDeptId(deptId)) {
             return warn("存在下级部门,不允许删除");
         }
-        if (deptService.checkDeptExistUser(deptId))
-        {
+        if (deptService.checkDeptExistUser(deptId)) {
             return warn("部门存在用户,不允许删除");
         }
         deptService.checkDeptDataScope(deptId);
         return toAjax(deptService.deleteDeptById(deptId));
     }
+
+    @Log(title = "部门管理", businessType = BusinessType.EXPORT)
+    @PreAuthorize("@ss.hasPermi('system:role:export')")
+    @PostMapping("/export")
+    @ApiOperation("部门管理")
+    public void export(HttpServletResponse response, SysDept dept) {
+        List<SysDept> list = deptService.selectDeptList(dept);
+        ExcelUtil<SysDept> util = new ExcelUtil<SysDept>(SysDept.class);
+        util.exportExcel(response, list, "角色数据");
+    }
 }

+ 21 - 6
hazard-admin/src/main/java/com/ozs/web/controller/system/SysMenuController.java

@@ -1,6 +1,11 @@
 package com.ozs.web.controller.system;
 
 import java.util.List;
+
+import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.core.domain.model.LoginUser;
+import com.ozs.common.utils.poi.ExcelUtil;
+import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.validation.annotation.Validated;
@@ -21,6 +26,8 @@ import com.ozs.common.enums.BusinessType;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.system.service.ISysMenuService;
 
+import javax.servlet.http.HttpServletResponse;
+
 /**
  * 菜单信息
  *
@@ -28,8 +35,7 @@ import com.ozs.system.service.ISysMenuService;
  */
 @RestController
 @RequestMapping("/system/menu")
-public class SysMenuController extends BaseController
-{
+public class SysMenuController extends BaseController {
     @Autowired
     private ISysMenuService menuService;
 
@@ -129,14 +135,23 @@ public class SysMenuController extends BaseController
     @DeleteMapping("/{menuId}")
     public AjaxResult remove(@PathVariable("menuId") Long menuId)
     {
-        if (menuService.hasChildByMenuId(menuId))
-        {
+        if (menuService.hasChildByMenuId(menuId)) {
             return warn("存在子菜单,不允许删除");
         }
-        if (menuService.checkMenuExistRole(menuId))
-        {
+        if (menuService.checkMenuExistRole(menuId)) {
             return warn("菜单已分配,不允许删除");
         }
         return toAjax(menuService.deleteMenuById(menuId));
     }
+
+    @Log(title = "菜单管理", businessType = BusinessType.EXPORT)
+    @PreAuthorize("@ss.hasPermi('system:menu:export')")
+    @PostMapping("/export")
+    @ApiOperation("菜单管理")
+    public void export(HttpServletResponse response, SysMenu menu) {
+        LoginUser loginUser = getLoginUser();
+        List<SysMenu> list = menuService.selectMenuList(menu, loginUser.getId());
+        ExcelUtil<SysMenu> util = new ExcelUtil<SysMenu>(SysMenu.class);
+        util.exportExcel(response, list, "角色数据");
+    }
 }

+ 23 - 2
hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -131,7 +131,26 @@ public class SysUserController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:user:export')")
     @PostMapping("/export")
     public void export(HttpServletResponse response, SysUser user) {
+        List<Long> longs=new ArrayList<>();
         List<SysUser> list = userService.selectUserList(user);
+        for (SysUser sysUser : list) {
+            StringBuilder stringBuilder = new StringBuilder();
+            if (SysUser.isAdmin(sysUser.getId())) {
+                List<SysRole> roles = roleService.selectRoleAll();
+                for (SysRole role : roles) {
+                    longs.add(role.getRoleId());
+                }
+            } else {
+                longs= roleService.selectRoleListByUserId(sysUser.getId());
+            }
+            for (Long aLong : longs) {
+                SysRole sysRole = roleService.selectRoleById(aLong);
+                stringBuilder.append(sysRole.getRoleName());
+                stringBuilder.append(",");
+                String name = stringBuilder.toString();
+                sysUser.setRoleName(name.substring(0, name.length() - 1));
+            }
+        }
         ExcelUtil<SysUser> util = new ExcelUtil<SysUser>(SysUser.class);
         util.exportExcel(response, list, "用户数据");
     }
@@ -259,12 +278,14 @@ public class SysUserController extends BaseController {
         }
         user.setUpdateBy(getUsername());
         user.setUpdateTime(new Date());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+        if (!StringUtils.isEmpty(user.getPassword())) {
+            user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+        }
         int i = userService.updateUsersUpdate(user);
-        LoginUser loginUser = getLoginUser();
         if (i != 0) {
             // redisCache.deleteObject(CacheConstants.LOGIN_TOKEN_KEY + tokenId);
             // 删除用户缓存记录
+            LoginUser loginUser = getLoginUser();
             tokenService.delLoginUser(loginUser.getToken());
         }
         return toAjax(i);

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

@@ -72,6 +72,12 @@ public class WebSocketConteoller extends BaseController {
         msgAlarmResp.setRailwayName(cameraName != null ? cameraName : "");
         msgAlarmResp.setLineDirStr(baseCameraManagement.getLineDir() == 1 ? "上行" : "下行");
         msgAlarmResp.setAlarmTime(msgAlarm.getAlarmTime() != null ? msgAlarm.getAlarmTime() : new Date());
+        // 图片
+        if (!StringUtils.isEmpty(msgAlarm.getImageUrl())) {
+            String[] split = msgAlarm.getImageUrl().split(";");
+            ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
+            msgAlarmResp.setImageUrls(objects);
+        }
         // 推送消息reqMsgAlarmVo
         webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp));
         // app 消息推送

+ 1 - 0
hazard-admin/src/main/resources/application.yml

@@ -20,6 +20,7 @@ base:
   filePath: /opt/streams/
   historyUrl: http://127.0.0.1:9080
   webUrl: http://124.70.58.209:9080
+  imgUrl: http://124.71.171.71:18801/picbucket
 
 # 开发环境配置
 server:

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


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


+ 9 - 1
hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java

@@ -22,6 +22,7 @@ import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
+import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.ObjectUtils;
 import org.springframework.web.bind.annotation.PostMapping;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -111,6 +112,7 @@ public class GeoHazardMonitorTokenController {
      * @return // 生成令牌
      */
     @PostMapping("/alarm")
+    @Transactional
     public String alarm(@RequestParam("parameter") String parameter, HttpServletRequest request) {
         String token = apiTokenUtils.getGeoHazardMonitorToken(request);
         log.info("token:{}", token);
@@ -141,6 +143,7 @@ public class GeoHazardMonitorTokenController {
             if (ObjectUtils.isEmpty(alarm)) {
                 MsgAlarm msgAlarm = new MsgAlarm();
                 BeanUtils.copyProperties(reqMsgAlarmVo, msgAlarm);
+                BeanUtils.copyProperties(reqMsgAlarmVo, msgAlarmVice);
                 msgAlarm.setCameraCode(String.valueOf(reqMsgAlarmVo.getAlarmCamera()));
                 String[] imageUrl = reqMsgAlarmVo.getImageUrls();
                 StringBuffer buffer = new StringBuffer();
@@ -170,7 +173,8 @@ public class GeoHazardMonitorTokenController {
                     buffer.append(ss);
                     buffer.append(";");
                 }
-                msgAlarmVice.setImageUrl(buffer.toString());
+                String url = buffer.toString();
+                msgAlarmVice.setImageUrl(url.substring(0, url.length() - 1));
                 msgAlarmVice.setCreateBy(admin.getUserId());
                 msgAlarmVice.setUpdateBy(admin.getUserId());
                 msgAlarmFrequencyService.save(msgAlarmVice);
@@ -187,6 +191,10 @@ public class GeoHazardMonitorTokenController {
             } catch (Exception e) {
                 log.info(e.getMessage());
                 e.printStackTrace();
+                jsonObject.put("resultCode", 2);
+                jsonObject.put("message", "失败");
+                jsonObject.put("data", "消息推送失败");
+                return SM4Utils.encryptData_ECB(JSONObject.toJSONString(jsonObject), "4370780c9a8c43e5");
             }
             jsonObject.put("resultCode", 1);
             jsonObject.put("message", "成功");