Просмотр исходного кода

Merge remote-tracking branch 'origin/master'

buzhanyi 2 лет назад
Родитель
Сommit
58fe2c0b8c
43 измененных файлов с 1195 добавлено и 393 удалено
  1. 5 7
      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. 3 3
      business-service/src/main/java/com/ozs/service/entity/vo/AlarmStatisticMonthDto.java
  4. 0 5
      business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVo.java
  5. 100 0
      business-service/src/main/java/com/ozs/service/entity/vo/BaseCameraManagementVos.java
  6. 2 0
      business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmResp.java
  7. 3 2
      business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmVo.java
  8. 5 0
      business-service/src/main/java/com/ozs/service/mapper/BaseCameraManagementMapper.java
  9. 22 0
      business-service/src/main/java/com/ozs/service/mapper/BaseDeptMapper.java
  10. 2 0
      business-service/src/main/java/com/ozs/service/mapper/BaseUserMapper.java
  11. 5 0
      business-service/src/main/java/com/ozs/service/mapper/MsgAlarmMapper.java
  12. 13 2
      business-service/src/main/java/com/ozs/service/mapper/MsgWebPushMapper.java
  13. 9 2
      business-service/src/main/java/com/ozs/service/service/BaseCameraManagementService.java
  14. 4 1
      business-service/src/main/java/com/ozs/service/service/MsgAlarmService.java
  15. 8 0
      business-service/src/main/java/com/ozs/service/service/MsgWebPushService.java
  16. 136 23
      business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java
  17. 1 1
      business-service/src/main/java/com/ozs/service/service/impl/BaseDeviceDynamicManagementServiceImpl.java
  18. 34 23
      business-service/src/main/java/com/ozs/service/service/impl/BaseRailwayManagementServiceImpl.java
  19. 18 17
      business-service/src/main/java/com/ozs/service/service/impl/MsgAlarmServiceImpl.java
  20. 112 6
      business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java
  21. 53 0
      business-service/src/main/resources/mapper/service/BaseCameraManagementMapper.xml
  22. 7 0
      business-service/src/main/resources/mapper/service/BaseDeptMapper.xml
  23. 5 1
      business-service/src/main/resources/mapper/service/BaseUserMapper.xml
  24. 74 64
      business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml
  25. 131 3
      business-service/src/main/resources/mapper/service/MsgWebPushMapper.xml
  26. 92 48
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java
  27. 39 11
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java
  28. 83 76
      hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java
  29. 36 28
      hazard-admin/src/main/java/com/ozs/web/controller/app/GeoHazardMineController.java
  30. 6 6
      hazard-admin/src/main/java/com/ozs/web/controller/common/CaptchaController.java
  31. 6 0
      hazard-admin/src/main/java/com/ozs/web/controller/monitor/SysLoginInfoController.java
  32. 8 0
      hazard-admin/src/main/java/com/ozs/web/controller/monitor/SysOperlogController.java
  33. 18 1
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysRoleController.java
  34. 90 43
      hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java
  35. 31 13
      hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java
  36. 3 0
      hazard-admin/src/main/java/com/ozs/web/core/config/CaneraConfig.java
  37. 10 1
      hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java
  38. 6 2
      hazard-admin/src/main/resources/application.yml
  39. BIN
      hazard-admin/src/main/resources/template/SysUser.xlsx
  40. BIN
      hazard-admin/src/main/resources/template/baseCameraManagement.xlsx
  41. BIN
      hazard-admin/src/main/resources/template/baseRailwayManagement.xlsx
  42. 13 2
      hazard-sdk/src/main/java/com/ozs/controller/upload/GeoHazardMonitorTokenController.java
  43. 1 1
      hazard-sdk/src/main/resources/application.yml

+ 5 - 7
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;
 
     /**
@@ -67,19 +66,16 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
     /**
      * 监控相机安装里程位置
      */
-    @Excel(name = "监控相机安装里程位置")
     private Integer installMile;
 
     /**
      * 监控范围开始里程位置
      */
-    @Excel(name = "监控范围开始里程位置")
     private Integer beginMile;
 
     /**
      * 监控范围结束里程位置
      */
-    @Excel(name = "监控范围结束里程位置")
     private Integer endMile;
 
     /**
@@ -97,7 +93,6 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
     /**
      * 线路编码
      */
-    @Excel(name = "线路编码")
     private String railwayCode;
 
     /**
@@ -109,13 +104,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;
 
 
@@ -123,29 +116,34 @@ public class BaseCameraManagement extends BaseEntity implements Serializable {
      * 监控相机安装里程位置字符串形式
      */
     @TableField(exist = false)
+    @Excel(name = "监控相机安装里程位置")
     private String installMiles;
 
     /**
      * 监控范围开始里程位置字符串形式
      */
     @TableField(exist = false)
+    @Excel(name = "监控范围开始里程位置")
     private String beginMiles;
 
     /**
      * 监控范围结束里程位置字符串形式
      */
     @TableField(exist = false)
+    @Excel(name = "监控范围结束里程位置")
     private String endMiles;
 
     /**
      *线路名称
      */
     @TableField(exist = false)
+    @Excel(name = "线路名称")
     private String railwayName;
 
     /**
      *所属工务段名称
      */
     @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;
 
     /** 用户邮箱 */

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

@@ -21,7 +21,7 @@ public class AlarmStatisticMonthDto {
     /**
      * 线路名称
      */
-    @Excel(name = "线路名称")
+    //@Excel(name = "线路名称")
     private String railwayName;
 
     /**
@@ -32,7 +32,7 @@ public class AlarmStatisticMonthDto {
     /**
      * 报警类型
      */
-    @Excel(name = "报警类型")
+    //@Excel(name = "报警类型")
     private String alarmTypeValue;
 
     /**
@@ -51,6 +51,6 @@ public class AlarmStatisticMonthDto {
      * 报警时间
      */
     @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
-    @Excel(name = "报警时间")
+    //@Excel(name = "报警时间")
     private Date alarmTime;
 }

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

@@ -43,9 +43,4 @@ public class BaseCameraManagementVo extends PageVo implements Serializable {
      * 监控范围结束里程位置
      */
     private Integer endMile;
-
-    /**
-     * 监控相机安装里程位置字符串形式
-     */
-    private String installMiles;
 }

+ 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 String installLongitude;
+
+    /**
+     * 监视相机纬度
+     */
+    @Excel(name = "监视相机纬度")
+    private String installLatitude;
+    
+    /**
+     * 物联网卡号
+     */
+    @Excel(name = "物联网卡号")
+    private String cardNum;
+    
+    /**
+     *所属工务段名称
+     */
+    @Excel(name = "所属工务段名称")
+    private String deptName;
+
+    /**
+     * 监控相机安装里程位置字符串形式
+     */
+    @Excel(name = "监控相机安装里程位置")
+    private String installMiles;
+
+    /**
+     * 监控范围开始里程位置字符串形式
+     */
+    @Excel(name = "监控范围开始里程位置")
+    private String beginMiles;
+
+    /**
+     * 监控范围结束里程位置字符串形式
+     */
+    @Excel(name = "监控范围结束里程位置")
+    private String endMiles;
+
+    /**
+     *线路名称
+     */
+    @Excel(name = "线路名称")
+    private String railwayName;
+}

+ 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 - 2
business-service/src/main/java/com/ozs/service/entity/vo/MsgAlarmVo.java

@@ -1,11 +1,10 @@
 package com.ozs.service.entity.vo;
 
-
 import com.ozs.common.vo.PageVo;
 import lombok.Data;
 
 import java.io.Serializable;
-import java.util.Date;
+import java.util.List;
 
 /**
  * <p>
@@ -66,5 +65,7 @@ public class MsgAlarmVo extends PageVo implements Serializable {
      */
     private Integer isLock;
 
+    private List<String> userIds;
 
+    private Integer status;
 }

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

@@ -2,8 +2,12 @@ package com.ozs.service.mapper;
 
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.BaseCameraManagement;
+import com.ozs.service.entity.MsgAlarm;
+import com.ozs.service.entity.vo.BaseCameraManagementVo;
 import org.apache.ibatis.annotations.Mapper;
 
+import java.util.List;
+
 /**
  * <p>
  * 相机台账管理表 Mapper 接口
@@ -15,4 +19,5 @@ import org.apache.ibatis.annotations.Mapper;
 @Mapper
 public interface BaseCameraManagementMapper extends BaseMapper<BaseCameraManagement> {
 
+    List<BaseCameraManagement> selectCameraManagementList(BaseCameraManagementVo baseCameraManagementVo);
 }

+ 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);
+}

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

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

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

@@ -1,11 +1,13 @@
 package com.ozs.service.mapper;
 
+import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.service.entity.MsgAlarm;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import com.ozs.service.entity.vo.AlarmStatisticDto;
 import com.ozs.service.entity.vo.AlarmStatisticMonthDto;
 import com.ozs.service.entity.vo.AlarmStatisticVo;
 
+import com.ozs.service.entity.vo.MsgAlarmVo;
 import org.apache.ibatis.annotations.Mapper;
 import org.apache.ibatis.annotations.Param;
 
@@ -37,4 +39,7 @@ public interface MsgAlarmMapper extends BaseMapper<MsgAlarm> {
     Map selectCameraCode(@Param("cameraCode") String cameraCode);
 
     MsgAlarm selectByCameraCode(@Param("cameraCode") String cameraCode);
+
+
+    List<MsgAlarm> selectMsgAlarmList(MsgAlarmVo msgAlarmVo);
 }

+ 13 - 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,15 @@ 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<MsgAlarm> webAlarm(@Param("userIds") List<String> userIds);
+
+    List<MsgAlarm> messageMore(MsgAlarmVo msgAlarmVo);
+
+    List<String> messageMoreByUserIds(List<String> userIds);
+
+    Map<String, Integer> messageMoreNum(MsgAlarmVo msgAlarmVo);
+
+    int messageMoreCount(MsgAlarmVo msgAlarmVo);
 }

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

@@ -1,9 +1,12 @@
 package com.ozs.service.service;
 
+import com.baomidou.mybatisplus.core.metadata.IPage;
 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.BaseCameraManagementVo;
+import com.ozs.service.entity.vo.BaseCameraManagementVos;
 
 import java.util.List;
 
@@ -23,9 +26,13 @@ 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);
-
+    
     List<String> getUserIds(String userId);
+
+    List<String> getUserIdList(String userId);
+
+    IPage<BaseCameraManagement> queryPage(BaseCameraManagementVo baseCameraManagementVo);
 }

+ 4 - 1
business-service/src/main/java/com/ozs/service/service/MsgAlarmService.java

@@ -7,6 +7,7 @@ import com.ozs.service.entity.vo.AlarmStatisticDto;
 import com.ozs.service.entity.vo.AlarmStatisticMonthDto;
 import com.ozs.service.entity.vo.AlarmStatisticResVo;
 import com.ozs.service.entity.vo.AlarmStatisticVo;
+import com.ozs.service.entity.vo.MsgAlarmVo;
 
 import javax.servlet.http.HttpServletResponse;
 import java.util.List;
@@ -24,7 +25,7 @@ public interface MsgAlarmService extends IService<MsgAlarm> {
     IPage<AlarmStatisticVo> list(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, Integer pageNum, Integer pageSize, String userId);
 
     //web数据统计 报警月统计数据
-    List<AlarmStatisticVo> getCount(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, String userId);
+    List<AlarmStatisticMonthDto> getCount(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, String userId);
 
     //报警数据详情导出数据集合
     List<AlarmStatisticDto> exportExcel(AlarmStatisticResVo alarmStatisticResVo, String userId);
@@ -38,4 +39,6 @@ public interface MsgAlarmService extends IService<MsgAlarm> {
      * @return
      */
     MsgAlarm selectByCameraCode(String cameraCode);
+
+    IPage<MsgAlarm> queryPage(MsgAlarmVo msgAlarmVo);
 }

+ 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<MsgAlarm> messageMore(String userId, MsgAlarmVo msgAlarmVo);
+
+    Map<String, Integer> messageMoreNum(String userId, MsgAlarmVo msgAlarmVo);
 }

+ 136 - 23
business-service/src/main/java/com/ozs/service/service/impl/BaseCameraManagementServiceImpl.java

@@ -1,22 +1,31 @@
 package com.ozs.service.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.pagehelper.PageHelper;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.exception.ServiceException;
+import com.ozs.common.exception.base.BaseException;
+import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.bean.BeanUtils;
 import com.ozs.common.utils.bean.BeanValidators;
 import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseDeviceDynamicManagement;
+import com.ozs.service.entity.BaseRailwayManagement;
 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.BaseCameraManagementVo;
+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;
 import com.ozs.service.service.BaseCameraManagementService;
+import com.ozs.service.service.BaseRailwayManagementService;
 import com.ozs.service.service.BaseUserService;
 import com.ozs.service.utils.DataPermissionUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -49,6 +58,10 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
     private BaseUserMapper baseUserMapper;
     @Resource
     private MsgAlarmMapper msgAlarmMapper;
+    @Autowired
+    private BaseDeptMapper baseDeptMapper;
+    @Autowired
+    private BaseRailwayManagementService baseRailwayManagementService;
 
     /**
      * 相机台账管理表导入
@@ -58,7 +71,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 +79,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,35 +93,75 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
                     BeanValidators.validateWithException(validator, accountManagement);
                     accountManagement.setUpdateBy(userId);
                     accountManagement.setCreateBy(userId);
-                    baseCameraManagementMapper.insert(accountManagement);
-                    BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
-                    baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
-                    baseDeviceDynamicManagement.setUpdateBy(userId);
-                    baseDeviceDynamicManagement.setCreateBy(userId);
-                    baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
-                    successNum++;
-                    successMsg.append("<br/>" + successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
+                    Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
+                    log.debug(accountManagement.getDeptName() + "主键id:" + deptId);
+                    if (!ObjectUtils.isEmpty(deptId)) {
+                        accountManagement.setDeptId(deptId);
+                        LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+                        if (!ObjectUtils.isEmpty(accountManagement.getRailwayName())) {
+                            queryWrapper.eq(BaseRailwayManagement::getRailwayName, accountManagement.getRailwayName());
+                        }
+                        BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
+                        if (!ObjectUtils.isEmpty(baseRailwayManagement)) {
+                            accountManagement.setRailwayCode(baseRailwayManagement.getRailwayCode());
+                            Integer mils = AppendUtils.stringSplit(accountManagement.getInstallMiles());
+                            accountManagement.setInstallMile(mils);
+                            Integer end = AppendUtils.stringSplit(accountManagement.getEndMiles());
+                            accountManagement.setEndMile(end);
+                            Integer begin = AppendUtils.stringSplit(accountManagement.getBeginMiles());
+                            accountManagement.setBeginMile(begin);
+                            baseCameraManagementMapper.insert(accountManagement);
+                            BaseDeviceDynamicManagement baseDeviceDynamicManagement = new BaseDeviceDynamicManagement();
+                            baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
+                            baseDeviceDynamicManagement.setUpdateBy(userId);
+                            baseDeviceDynamicManagement.setCreateBy(userId);
+                            baseDeviceDynamicManagementMapper.insert(baseDeviceDynamicManagement);
+                            successNum++;
+                            successMsg.append("<br/>" + successNum + "、相机编码 " + accountManagement.getCameraCode() + " 导入成功");
+                        }else {
+                            failureNum++;
+                            String msg = "<br/>" + failureNum + "、相机所属线路名称 " + accountManagement.getRailwayName() + "不存在, 导入失败:";
+                            failureMsg.append(msg);
+                            log.error(msg);  
+                        }
+                    }else {
+                        failureNum++;
+                        String msg = "<br/>" + failureNum + "、相机所属工务段 " + accountManagement.getDeptName() + "不存在, 导入失败:";
+                        failureMsg.append(msg);
+                        log.error(msg);
+                    }
                 } else if (updateSupport) {
                     BeanValidators.validateWithException(validator, accountManagement);
                     accountManagement.setUpdateBy(userId);
-                    baseCameraManagementMapper.update(accountManagement, lw);
-                    LambdaQueryWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
-                    if (!ObjectUtils.isEmpty(baseAccountManagement.getCameraCode())) {
-                        wrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseAccountManagement.getCameraCode());
+                    Long deptId = baseDeptMapper.selectDeptByDeptName(accountManagement.getDeptName());
+                    log.debug(accountManagement.getDeptName() + "主键id:" + deptId);
+                    if (!ObjectUtils.isEmpty(deptId)) {
+                        accountManagement.setDeptId(deptId);
+                        baseCameraManagementMapper.update(accountManagement, lw);
+                        LambdaQueryWrapper<BaseDeviceDynamicManagement> wrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
+                        if (!ObjectUtils.isEmpty(baseAccountManagement.getCameraCode())) {
+                            wrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseAccountManagement.getCameraCode());
+                        }
+                        BaseDeviceDynamicManagement baseDeviceDynamicManagement = baseDeviceDynamicManagementMapper.selectOne(wrapper);
+                        baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
+                        baseDeviceDynamicManagement.setUpdateBy(userId);
+                        baseDeviceDynamicManagementMapper.updateById(baseDeviceDynamicManagement);
+                        successNum++;
+                        successMsg.append("<br/>" + successNum + "、相机编码 " + accountManagement.getCameraCode() + " 更新成功");
+                    } else {
+                        failureNum++;
+                        String msg = "<br/>" + failureNum + "、相机所属工务段 " + accountManagement.getDeptName() + "不存在, 导入失败:";
+                        failureMsg.append(msg);
+                        log.error(msg);
                     }
-                    BaseDeviceDynamicManagement baseDeviceDynamicManagement = baseDeviceDynamicManagementMapper.selectOne(wrapper);
-                    baseDeviceDynamicManagement.setCameraCode(accountManagement.getCameraCode());
-                    baseDeviceDynamicManagement.setUpdateBy(userId);
-                    baseDeviceDynamicManagementMapper.updateById(baseDeviceDynamicManagement);
-                    successNum++;
-                    successMsg.append("<br/>" + successNum + "、相机编码 " + accountManagement.getCameraCode() + " 更新成功");
+
                 } else {
                     failureNum++;
                     failureMsg.append("<br/>" + failureNum + "、相机编码 " + accountManagement.getCameraCode() + " 已存在");
                 }
             } 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 +191,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;
     }
@@ -186,4 +242,61 @@ public class BaseCameraManagementServiceImpl extends ServiceImpl<BaseCameraManag
         List<String> list = new ArrayList<>(set);
         return list;
     }
+
+
+    /**
+     * 根据当前登陆用户ID 查询当前用户数据权限
+     *
+     * @param userId
+     * @return
+     */
+    public List<String> getUserIdList(String userId) {
+        BaseUser baseUser = baseUserService.getUser(userId);
+        if (StringUtils.isNull(baseUser) || StringUtils.isNull(baseUser.getDataPermission())
+                || StringUtils.isNull(baseUser.getDeptId())) {
+            return null;
+        }
+        // 数据权限 1:本人;2:本部门;3:本部门及下级部门;4:本人及本级部门;5:本人及本部门及下级部门;6:全部
+        Integer dataPermission = baseUser.getDataPermission();
+        Long deptId = baseUser.getDeptId();
+        Set<String> set = new HashSet<>();
+        if (1 == dataPermission) {
+            set = baseUserMapper.getUserIdList(userId);
+        } else if (2 == dataPermission) {
+            set = baseUserMapper.getUserIdByDeptId(deptId);
+        } else if (3 == dataPermission) {
+            // 获取部门数据
+            List<Long> deptList = baseUserMapper.getDeptId(deptId);
+            // 获取用户列表
+            set = baseUserMapper.getUserIdByDeptIds(deptList);
+        } else if (4 == dataPermission) {
+            set = baseUserMapper.getUserIdByDeptIdAndUserId(userId, deptId);
+        } else if (5 == dataPermission) {
+            // 获取本人
+            Set<String> setUser = baseUserMapper.getUserIdListBy5(userId);
+            // 获取部门数据
+            List<Long> deptList5 = baseUserMapper.getDeptId(deptId);
+            // 获取用户列表
+            Set<String> setUsers = baseUserMapper.getUserIdByDeptIdsBy5(deptList5);
+            set.addAll(setUser);
+            set.addAll(setUsers);
+        } else if (6 == dataPermission) {
+            set = baseUserMapper.getUserIdsList();
+        }
+        List<String> list = new ArrayList<>(set);
+        return list;
+    }
+
+    @Override
+    public IPage<BaseCameraManagement> queryPage(BaseCameraManagementVo baseCameraManagementVo) {
+        int pageNum = Integer.parseInt(baseCameraManagementVo.getPageNum().toString());
+        int pageSize = Integer.parseInt(baseCameraManagementVo.getPageSize().toString());
+        com.github.pagehelper.Page<BaseCameraManagement> page = PageHelper.startPage(pageNum, pageSize)
+                .doSelectPage(() -> baseCameraManagementMapper.selectCameraManagementList(baseCameraManagementVo));
+        com.baomidou.mybatisplus.extension.plugins.pagination.Page<BaseCameraManagement> pageR =
+                new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum, pageSize);
+        pageR.setRecords(page.getResult());
+        pageR.setTotal(page.getTotal());
+        return pageR;
+    }
 }

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

@@ -80,7 +80,7 @@ public class BaseDeviceDynamicManagementServiceImpl extends ServiceImpl<BaseDevi
 
                 // 摄像头
                 CameraTree build2 = CameraTree.builder()
-                        .code(o.getId())
+                        .code(o.getCameraCode())
                         .name(o.getCameraCode())
                         .flay(true)
                         .children(new ArrayList<>())

+ 34 - 23
business-service/src/main/java/com/ozs/service/service/impl/BaseRailwayManagementServiceImpl.java

@@ -17,7 +17,7 @@ import java.util.List;
 
 /**
  * <p>
- *  线路管理表 服务实现类
+ * 线路管理表 服务实现类
  * </p>
  *
  * @author ozs
@@ -25,7 +25,7 @@ import java.util.List;
  */
 @Service
 public class BaseRailwayManagementServiceImpl extends ServiceImpl<BaseRailwayManagementMapper, BaseRailwayManagement> implements BaseRailwayManagementService {
-   
+
     @Resource
     BaseRailwayManagementMapper baseRailwayManagementMapper;
     @Autowired
@@ -33,12 +33,13 @@ public class BaseRailwayManagementServiceImpl extends ServiceImpl<BaseRailwayMan
 
     /**
      * 导出线路管理表信息
+     *
      * @param accountManageList 线路管理表信息列表
-     * @param updateSupport 是否更新支持,如果已存在,则进行更新数据
+     * @param updateSupport     是否更新支持,如果已存在,则进行更新数据
      * @return
      */
     @Override
-    public String importBaseLineManagement(List<BaseRailwayManagement> accountManageList, boolean updateSupport,String userId) {
+    public String importBaseLineManagement(List<BaseRailwayManagement> accountManageList, boolean updateSupport, String userId) {
         if (com.ozs.common.utils.StringUtils.isNull(accountManageList) || accountManageList.size() == 0) {
             throw new ServiceException("导入线路管理信息不能为空!");
         }
@@ -48,28 +49,38 @@ public class BaseRailwayManagementServiceImpl extends ServiceImpl<BaseRailwayMan
         StringBuilder failureMsg = new StringBuilder();
         for (BaseRailwayManagement railwayManagement : accountManageList) {
             try {
-                // 判断相机编码是否存在
-                LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
-                if (!ObjectUtils.isEmpty(railwayManagement.getRailwayCode())) {
-                    lw.eq(BaseRailwayManagement::getRailwayCode, railwayManagement.getRailwayCode());
+                LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+                if (!ObjectUtils.isEmpty(railwayManagement.getRailwayName())) {
+                    wrapper.eq(BaseRailwayManagement::getRailwayName, railwayManagement.getRailwayName());
                 }
-                BaseRailwayManagement baseLineManagement = baseRailwayManagementMapper.selectOne(lw);
-                if (ObjectUtils.isEmpty(baseLineManagement)) {
-                    BeanValidators.validateWithException(validator, railwayManagement);
-                    railwayManagement.setUpdateBy(userId);
-                    railwayManagement.setCreateBy(userId);
-                    baseRailwayManagementMapper.insert(railwayManagement);
-                    successNum++;
-                    successMsg.append("<br/>" + successNum + "、线路编码 " + railwayManagement.getRailwayCode() + " 导入成功");
-                } else if (updateSupport) {
-                    BeanValidators.validateWithException(validator, railwayManagement);
-                    railwayManagement.setUpdateBy(userId);
-                    baseRailwayManagementMapper.update(railwayManagement,lw);
-                    successNum++;
-                    successMsg.append("<br/>" + successNum + "、线路编码 " + railwayManagement.getRailwayCode()  + " 更新成功");
+                BaseRailwayManagement railwayManagement1 = baseRailwayManagementMapper.selectOne(wrapper);
+                if (!ObjectUtils.isEmpty(railwayManagement1)) {
+                    // 判断相机编码是否存在
+                    LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
+                    if (!ObjectUtils.isEmpty(railwayManagement.getRailwayCode())) {
+                        lw.eq(BaseRailwayManagement::getRailwayCode, railwayManagement.getRailwayCode());
+                    }
+                    BaseRailwayManagement baseLineManagement = baseRailwayManagementMapper.selectOne(lw);
+                    if (ObjectUtils.isEmpty(baseLineManagement)) {
+                        BeanValidators.validateWithException(validator, railwayManagement);
+                        railwayManagement.setUpdateBy(userId);
+                        railwayManagement.setCreateBy(userId);
+                        baseRailwayManagementMapper.insert(railwayManagement);
+                        successNum++;
+                        successMsg.append("<br/>" + successNum + "、线路编码 " + railwayManagement.getRailwayCode() + " 导入成功");
+                    } else if (updateSupport) {
+                        BeanValidators.validateWithException(validator, railwayManagement);
+                        railwayManagement.setUpdateBy(userId);
+                        baseRailwayManagementMapper.update(railwayManagement, lw);
+                        successNum++;
+                        successMsg.append("<br/>" + successNum + "、线路编码 " + railwayManagement.getRailwayCode() + " 更新成功");
+                    } else {
+                        failureNum++;
+                        failureMsg.append("<br/>" + failureNum + "、线路编码 " + railwayManagement.getRailwayCode() + " 已存在");
+                    }
                 } else {
                     failureNum++;
-                    failureMsg.append("<br/>" + failureNum + "、线路编码 " + railwayManagement.getRailwayCode() + " 已存在");
+                    failureMsg.append("<br/>" + failureNum + "、线路名称 " + railwayManagement.getRailwayName() + " 已存在");
                 }
             } catch (Exception e) {
                 failureNum++;

+ 18 - 17
business-service/src/main/java/com/ozs/service/service/impl/MsgAlarmServiceImpl.java

@@ -2,17 +2,19 @@ package com.ozs.service.service.impl;
 
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import com.ozs.common.utils.StringUtils;
+import com.github.pagehelper.PageHelper;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.vo.AlarmStatisticDto;
 import com.ozs.service.entity.vo.AlarmStatisticMonthDto;
 import com.ozs.service.entity.vo.AlarmStatisticResVo;
 import com.ozs.service.entity.vo.AlarmStatisticVo;
+import com.ozs.service.entity.vo.MsgAlarmVo;
 import com.ozs.service.mapper.BaseDictDataMapper;
 import com.ozs.service.mapper.MsgAlarmMapper;
 import com.ozs.service.service.MsgAlarmService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.apache.commons.lang3.ObjectUtils;
+import org.apache.commons.lang3.StringUtils;
 import org.apache.poi.hssf.usermodel.*;
 import org.apache.poi.ss.usermodel.*;
 import org.springframework.beans.BeanUtils;
@@ -61,8 +63,8 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
     }
 
     @Override
-    public List<AlarmStatisticVo> getCount(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, String userId) {
-        List<AlarmStatisticVo> list = msgAlarmMapper.listMonth(railwayCode, startMonth, endMonth, alarmType, userId);
+    public List<AlarmStatisticMonthDto> getCount(String railwayCode, Integer startMonth, Integer endMonth, String alarmType, String userId) {
+        List<AlarmStatisticMonthDto> list = msgAlarmMapper.listDtoMonth(railwayCode, startMonth, endMonth, alarmType, userId);
         return list;
     }
 
@@ -70,15 +72,6 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
     public List<AlarmStatisticDto> exportExcel(AlarmStatisticResVo alarmStatisticResVo, String userId) {
         List<AlarmStatisticDto> listDto = msgAlarmMapper.listDto(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
                 alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType(), userId);
-        listDto.forEach(l -> {
-            String alarmType = l.getAlarmType();
-            String alarmTypeValue = baseDictDataMapper.selectDictLabel("sys_alarm_type", alarmType);
-            l.setAlarmTypeValue(alarmTypeValue);
-
-            String lineDir = l.getLineDir();
-            String lineDirValue = baseDictDataMapper.selectDictLabel("sys_line_dir", lineDir);
-            l.setLineDirValue(lineDirValue);
-        });
         return listDto;
     }
 
@@ -86,11 +79,6 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
     public List<AlarmStatisticMonthDto> exportExcelMonth(AlarmStatisticResVo alarmStatisticResVo, String userId) throws Exception {
         List<AlarmStatisticMonthDto> listDto = msgAlarmMapper.listDtoMonth(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
                 alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType(), userId);
-        listDto.forEach(l -> {
-            String alarmType = l.getAlarmType();
-            String alarmTypeValue = baseDictDataMapper.selectDictLabel("sys_alarm_type", alarmType);
-            l.setAlarmTypeValue(alarmTypeValue);
-        });
         return listDto;
     }
 
@@ -99,4 +87,17 @@ public class MsgAlarmServiceImpl extends ServiceImpl<MsgAlarmMapper, MsgAlarm> i
         return msgAlarmMapper.selectByCameraCode(cameraCode);
     }
 
+    @Override
+    public IPage<MsgAlarm> queryPage(MsgAlarmVo vo) {
+        int pageNum = Integer.parseInt(vo.getPageNum().toString());
+        int pageSize = Integer.parseInt(vo.getPageSize().toString());
+        com.github.pagehelper.Page<MsgAlarm> page = PageHelper.startPage(pageNum, pageSize)
+                .doSelectPage(() -> msgAlarmMapper.selectMsgAlarmList(vo));
+        com.baomidou.mybatisplus.extension.plugins.pagination.Page<MsgAlarm> pageR =
+                new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(pageNum, pageSize);
+        pageR.setRecords(page.getResult());
+        pageR.setTotal(page.getTotal());
+        return pageR;
+    }
+
 }

+ 112 - 6
business-service/src/main/java/com/ozs/service/service/impl/MsgWebPushServiceImpl.java

@@ -1,15 +1,30 @@
 package com.ozs.service.service.impl;
 
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.github.pagehelper.Page;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.github.pagehelper.PageHelper;
+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.MsgAlarmResp;
+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.MsgWebPushService;
+import org.springframework.beans.BeanUtils;
 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 java.util.*;
+import java.util.stream.Collectors;
 
 /**
  * @Author : sunhh
@@ -19,6 +34,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 +48,98 @@ 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);
+        List<MsgAlarmResp> msgAlarmRespList = new ArrayList<>();
+        if (StringUtils.isEmpty(userIds)) {
+            webAlarmMap.put("webAlarmNum", 0);
+            webAlarmMap.put("webAlarm", msgAlarmRespList);
+            return webAlarmMap;
+        }
+        Integer webAlarmNum = msgWebPushMapper.webAlarmNum(userIds);
+        List<MsgAlarm> webAlarm = msgWebPushMapper.webAlarm(userIds);
+        if (!StringUtils.isEmpty(webAlarm) && webAlarm.size() > 0) {
+            for (MsgAlarm msgAlarm : webAlarm) {
+                LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+                if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
+                    lw.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
+                }
+                BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
+                LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+                if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
+                    wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
+                }
+                BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
+                MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
+                BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
+                msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
+                msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
+                String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
+                String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
+                String endMile = begin + "-" + end;
+                msgAlarmResp.setBeginMile(endMile);
+                String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
+                msgAlarmResp.setAlarmMile(mile);
+                msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude() + "," + baseCameraManagement.getInstallLatitude());
+                msgAlarmRespList.add(msgAlarmResp);
+            }
+        }
         webAlarmMap.put("webAlarmNum", webAlarmNum);
-        webAlarmMap.put("webAlarm", webAlarm);
+        webAlarmMap.put("webAlarm", msgAlarmRespList);
         return webAlarmMap;
     }
+
+    @Override
+    public IPage<MsgAlarm> messageMore(String userId, MsgAlarmVo msgAlarmVo) {
+        List<String> userIds = baseCameraManagementService.getUserIds(userId);
+        msgAlarmVo.setUserIds(userIds);
+        // List<MsgAlarm> webAlarm = msgWebPushMapper.messageMore(msgAlarmVo);
+        Page<MsgAlarm> page = PageHelper.startPage(msgAlarmVo.getPageNum().intValue(), msgAlarmVo.getPageSize().intValue())
+                .doSelectPage(() -> msgWebPushMapper.messageMore(msgAlarmVo));
+        com.baomidou.mybatisplus.extension.plugins.pagination.Page<MsgAlarm> pageR =
+                new com.baomidou.mybatisplus.extension.plugins.pagination.Page<>(msgAlarmVo.getPageNum().intValue(), msgAlarmVo.getPageSize().intValue());
+
+        pageR.setSize(page.size());
+        pageR.setTotal(page.getTotal());
+
+
+        // Page<MsgAlarm> page = PageUtils.getPages(msgAlarmVo.getPageNum().intValue(), msgAlarmVo.getPageSize().intValue(), webAlarm);
+        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getResult())) {
+            List<MsgAlarm> dto1 = page.getResult().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());
+            pageR.setRecords(dto1);
+        }
+        return pageR;
+    }
+
+    @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;
+    }
 }

+ 53 - 0
business-service/src/main/resources/mapper/service/BaseCameraManagementMapper.xml

@@ -3,4 +3,57 @@
 <mapper namespace="com.ozs.service.mapper.BaseCameraManagementMapper">
 
 
+    <select id="selectCameraManagementList" resultType="com.ozs.service.entity.BaseCameraManagement" parameterType="com.ozs.service.entity.vo.BaseCameraManagementVo">
+        SELECT
+        a.id  AS id,
+        a.camera_code AS cameraCode,
+        a.railway_code AS railwayCode,
+        a.channel AS channel,
+        a.dept_id AS deptId,
+        a.line_dir AS lineDir,
+        a.install_mile AS installMile,
+        a.begin_mile AS beginMile,
+        a.end_mile AS endMile,
+        a.install_longitude AS installLongitude,
+        a.install_latitude AS installLatitude,
+        a.card_num AS cardNum,
+        a.start_recording AS startRecording,
+        a.task_id AS taskId,
+        a.create_time AS createTime
+        FROM
+        base_camera_management a
+        <where>
+            <if test="railwayCode != null and railwayCode != ''">
+                and a.railway_code=#{railwayCode}
+            </if>
+            <if test="lineDir != null and lineDir != 0">
+                and a.line_dir =#{lineDir}
+            </if>
+            <if test="deptId != null and deptId != 0">
+                and a.dept_id =#{deptId}
+            </if>
+            <if test="beginMile != null and beginMile != 0">
+                and a.begin_mile &gt;=#{beginMile}
+            </if>
+            <if test="endMile != null and endMile != 0">
+                and a.end_mile &lt;=#{endMile}
+            </if>
+            <if test="!dsFlay">
+                and (
+                <if test="dsUserId != null and dsUserId != ''">
+                    a.create_by=#{dsUserId}  or
+                </if>
+                <if test="dsDeptId != null and dsDeptId != 0">
+                    a.dept_id=#{dsDeptId}  or
+                </if>
+                <if test="dsDeptIds != null">
+                    a.dept_id in
+                    <foreach item="item" collection="dsDeptIds" separator="," open="(" close=")" index="">
+                        #{item}
+                    </foreach>
+                </if>
+                )
+            </if>
+        </where>
+    </select>
 </mapper>

+ 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>

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

@@ -45,7 +45,7 @@
           and data_permission = 5
     </select>
 
-    <select id="getUserIdByDeptIdsBy5" resultType="java.util.List" parameterType="java.lang.Long">
+    <select id="getUserIdByDeptIdsBy5" resultType="string" parameterType="list">
         select user_id
         from sys_user
         where dept_id in
@@ -67,4 +67,8 @@
     <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>
+    <select id="getUserIdsList" resultType="java.lang.String">
+        select user_id
+        from sys_user
+    </select>
 </mapper>

+ 74 - 64
business-service/src/main/resources/mapper/service/MsgAlarmMapper.xml

@@ -21,6 +21,7 @@
         <association property="baseCameraManagement" javaType="com.ozs.service.entity.BaseCameraManagement">
             <id column="id" property="id"/>
             <result column="railway_code" property="railwayCode"/>
+            <result column="railwayName" property="railwayName"/>
             <result column="channel" property="channel"/>
             <result column="install_mile" property="installMile"/>
             <result column="begin_mile" property="beginMile"/>
@@ -51,11 +52,13 @@
         b.begin_mile AS begin_mile,
         b.end_mile AS end_mile,
         b.install_longitude AS install_longitude,
-        b.install_latitude AS install_latitude
+        b.install_latitude AS install_latitude,
+        c.railway_name AS railwayName
         FROM
         msg_alarm AS a left join
         base_camera_management AS b on a.camera_code=b.camera_code left join
-        msg_web_push m on a.alarm_id = m.alarm_id
+        msg_web_push m on a.alarm_id = m.alarm_id left join
+        base_railway_management c on b.railway_code=c.railway_code
 
         <where>
             <if test="railwayCode != null and railwayCode != ''">
@@ -78,57 +81,6 @@
         group by a.alarm_id
     </select>
 
-    <select id="listMonth" resultMap="AlarmStatisticVoResult">
-        SELECT
-        a.alarm_id ,
-        MONTH(a.alarm_time) as monthsta,
-        count(DISTINCT a.alarm_id) as frequency,
-        a.camera_code ,
-        a.alarm_time ,
-        a.alarm_mile ,
-        a.content ,
-        a.alarm_confidence,
-        a.line_dir ,
-        a.alarm_type ,
-        a.alarm_attr ,
-        a.image_url ,
-        a.released_by ,
-        a.released_time,
-        a.is_lock ,
-        b.railway_code AS railway_code,
-        b.channel AS channel,
-        b.install_mile AS install_mile,
-        b.begin_mile AS begin_mile,
-        b.end_mile AS end_mile,
-        b.install_longitude AS install_longitude,
-        b.install_latitude AS install_latitude
-        FROM
-        msg_alarm AS a left join
-        base_camera_management AS b on a.camera_code=b.camera_code left join
-        msg_web_push m on a.alarm_id = m.alarm_id
-
-        <where>
-            <if test="railwayCode != null and railwayCode != ''">
-                and UPPER(b.railway_code) like UPPER(CONCAT('%',#{railwayCode},'%'))
-            </if>
-            <if test="startMonth != null and startMonth != 0">
-                <![CDATA[and MONTH(a.alarm_time) >=#{startMonth}]]>
-            </if>
-            <if test="endMonth != null and endMonth != 0">
-                <![CDATA[and MONTH(a.alarm_time) <=#{endMonth}]]>
-            </if>
-            <if test="alarmType != null and alarmType != ''">
-                and UPPER(a.alarm_type) like UPPER(CONCAT('%',#{alarmType},'%'))
-            </if>
-            <if test="userId != null and userId != ''">
-                and UPPER(m.receive_by) like UPPER(CONCAT('%',#{userId},'%'))
-            </if>
-            and YEAR(a.alarm_time) = YEAR(SYSDATE())
-        </where>
-        group by a.alarm_id,MONTH(a.alarm_time)
-
-    </select>
-
     <resultMap id="AlarmStatisticDtoResult" type="com.ozs.service.entity.vo.AlarmStatisticDto">
         <id column="id" property="id"/>
         <result column="alarmId" property="alarmId"/>
@@ -180,21 +132,16 @@
     </select>
     <resultMap id="AlarmStatisticMonthDtoResult" type="com.ozs.service.entity.vo.AlarmStatisticMonthDto">
         <id column="id" property="id"/>
-        <result column="alarmId" property="alarmId"/>
-        <result column="railwayName" property="railwayName"/>
-        <result column="alarmType" property="alarmType"/>
-        <result column="alarmTime" property="alarmTime"/>
         <result column="monthsta" property="monthsta"/>
         <result column="frequency" property="frequency"/>
+        <result column="alarm_type" property="alarmType"/>
     </resultMap>
     <select id="listDtoMonth" resultMap="AlarmStatisticMonthDtoResult">
-        SELECT
-        a.alarm_id AS alarmId,
+        SELECT p.monthsta,SUM(p.fre) as frequency
+        from
+        (SELECT
         MONTH(a.alarm_time) as monthsta,
-        count(DISTINCT a.alarm_id) as frequency,
-        a.alarm_type AS alarmType,
-        a.alarm_time AS alarmTime,
-        c.railway_name AS railwayName
+        count(DISTINCT a.alarm_id) as fre
         FROM
         msg_alarm AS a left join
         base_camera_management AS b on a.camera_code=b.camera_code left join
@@ -219,7 +166,7 @@
             </if>
             and YEAR(a.alarm_time) = YEAR(SYSDATE())
         </where>
-        group by a.alarm_id,MONTH(a.alarm_time)
+        group by a.alarm_id,MONTH(a.alarm_time)) AS p
     </select>
 
     <select id="selectCameraCode" parameterType="java.lang.String" resultType="java.util.Map">
@@ -229,4 +176,67 @@
     <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>
+    <select id="selectMsgAlarmList" resultType="com.ozs.service.entity.MsgAlarm"
+            parameterType="com.ozs.service.entity.vo.MsgAlarmVo">
+        SELECT
+        a.alarm_id AS alarmId,
+        a.alarm_time AS alarmTime,
+        a.alarm_mile AS alarmMile,
+        a.line_dir AS lineDir,
+        a.alarm_type AS alarmType,
+        a.camera_code AS cameraCode,
+        a.id  AS id,
+        a.content AS content,
+        a.alarm_confidence AS alarmConfidence,
+        a.alarm_attr AS alarmAttr,
+        a.image_url AS imageUrl,
+        a.released_by AS releasedBy,
+        a.is_lock AS isLock,
+        a.released_time AS releasedTime
+        FROM
+        msg_alarm AS a  join
+        base_camera_management AS b on a.camera_code=b.camera_code
+        <where>
+            <if test="railwayCode != null and railwayCode != ''">
+                and b.railway_code=#{railwayCode}
+            </if>
+            <if test="beginMile != null and beginMile != 0">
+                and b.begin_mile &gt;=#{beginMile}
+            </if>
+            <if test="endMile != null and endMile != 0">
+                and b.end_mile &lt;=#{endMile}
+            </if>
+            <if test="!dsFlay">
+            and (
+                <if test="dsUserId != null and dsUserId != ''">
+                     a.create_by=#{dsUserId}  or
+                </if>
+                <if test="dsDeptId != null and dsDeptId != 0">
+                     b.dept_id=#{dsDeptId}  or
+                </if>
+                <if test="dsDeptIds != null">
+                     b.dept_id in
+                    <foreach item="item" collection="dsDeptIds" separator="," open="(" close=")" index="">
+                        #{item}
+                    </foreach>
+                </if>
+                )
+            </if>
+            <if test="alarmType != null and alarmType != 0">
+                and a.alarm_type=#{alarmType}
+            </if>
+            <if test="alarmMile != null and alarmMile != 0">
+                and a.alarm_mile=#{alarmMile}
+            </if>
+            <if test="isLock != null and isLock != 0">
+                and a.is_lock=#{isLock}
+            </if>
+            <if test="beginAlarmTime != null and beginAlarmTime != ''">
+                and date_format(a.alarm_time,'%Y-%m-%d %H:%i:%S') &gt;= date_format(#{beginAlarmTime},'%Y-%m-%d %H:%i:%S')
+            </if>
+            <if test="endAlarmTime != null and endAlarmTime != ''">
+                AND date_format(a.alarm_time,'%Y-%m-%d %H:%i:%S') &lt;= date_format(#{endAlarmTime},'%Y-%m-%d %H:%i:%S')
+            </if>
+        </where>
+    </select>
 </mapper>

+ 131 - 3
business-service/src/main/resources/mapper/service/MsgWebPushMapper.xml

@@ -3,10 +3,138 @@
 <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
+        <if test="userIds != null and userIds != ''">
+            and receive_by in
+            <foreach item="item" collection="userIds" separator="," open="(" close=")" index="">
+                #{item}
+            </foreach>
+        </if>
     </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 id="webAlarm" parameterType="java.lang.String" resultType="com.ozs.service.entity.MsgAlarm">
+        select b.* from (
+            select alarm_id from msg_web_push where status = 1
+                <if test="userIds != null and userIds != ''">
+                    and receive_by in
+                    <foreach item="item" collection="userIds" separator="," open="(" close=")" index="">
+                        #{item}
+                    </foreach>
+                </if>
+        ) a left join (
+            select * from msg_alarm
+        ) b on a.alarm_id = b.alarm_id
+    </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="messageMoreCount" parameterType="com.ozs.service.entity.vo.MsgAlarmVo" resultType="java.lang.Integer">
+        select count(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>

+ 92 - 48
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseCameraManagementController.java

@@ -27,12 +27,14 @@ 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;
 import com.ozs.service.service.BaseDeviceDynamicManagementService;
 import com.ozs.service.service.BaseRailwayManagementService;
 import com.ozs.service.service.MsgAlarmService;
+import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDeptService;
 import com.ozs.web.core.config.CaneraConfig;
 import com.ozs.web.core.util.CameraUtil;
@@ -57,15 +59,11 @@ import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletResponse;
+import javax.validation.constraints.NotNull;
 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;
 
 /**
@@ -96,6 +94,8 @@ public class BaseCameraManagementController extends BaseController {
     private CaneraConfig caneraConfig;
     @Autowired
     private IdempotenceUtils idempotenceUtils;
+    @Autowired
+    private DataScoreUtil dataScoreUtil;
 
     /**
      * 所有相机列表+权限
@@ -150,11 +150,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;
@@ -169,32 +172,12 @@ public class BaseCameraManagementController extends BaseController {
     @ApiOperation(value = "相机台账管理分页")
     @PostMapping("/list")
     public AjaxResult selectBaseAccountManagement(@RequestBody BaseCameraManagementVo baseCameraManagementVo) {
-        List<String> userIds = baseCameraManagementService.getUserIds(getUserId());
-        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
-        if (!ObjectUtils.isEmpty(userIds)) {
-            lw.in(BaseCameraManagement::getCreateBy, userIds);
-        }
-        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getLineDir()) && baseCameraManagementVo.getLineDir() != 0) {
-            lw.eq(BaseCameraManagement::getLineDir, baseCameraManagementVo.getLineDir());
-        }
-        if (!StringUtils.isBlank(baseCameraManagementVo.getRailwayCode())) {
-            lw.eq(BaseCameraManagement::getRailwayCode, baseCameraManagementVo.getRailwayCode());
-        }
-        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getDeptId())) {
-            lw.eq(BaseCameraManagement::getDeptId, baseCameraManagementVo.getDeptId());
-        }
-        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getBeginMile())) {
-            lw.ge(BaseCameraManagement::getBeginMile, baseCameraManagementVo.getBeginMile());
-        }
-        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getEndMile())) {
-            lw.le(BaseCameraManagement::getEndMile, baseCameraManagementVo.getEndMile());
-        }
-        if (!ObjectUtils.isEmpty(baseCameraManagementVo.getInstallMiles())) {
-            int miles = AppendUtils.stringSplit(baseCameraManagementVo.getInstallMiles());
-            lw.eq(BaseCameraManagement::getInstallMile, miles);
-        }
-        IPage<BaseCameraManagement> page = baseCameraManagementService.page(new Page<>(baseCameraManagementVo.getPageNum(), baseCameraManagementVo.getPageSize()), lw);
-        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
+        baseCameraManagementVo = (BaseCameraManagementVo) dataScoreUtil.setDataScore(getUserId(), baseCameraManagementVo);
+        IPage<BaseCameraManagement> page = baseCameraManagementService.queryPage(baseCameraManagementVo);
+        page.setTotal(page.getTotal());
+        page.setCurrent(page.getCurrent());
+        page.setPages(page.getPages());
+        if (!ObjectUtils.isEmpty(page) && page.getRecords().size() > 0) {
             List<BaseCameraManagement> dto1 = page.getRecords().stream().map(o -> {
                 LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
                 if (!ObjectUtils.isEmpty(o.getRailwayCode())) {
@@ -250,8 +233,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>();
@@ -359,11 +342,17 @@ public class BaseCameraManagementController extends BaseController {
             wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
         }
         BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
+        if (ObjectUtils.isEmpty(baseRailwayManagement)) {
+            return error("线路表中没有该线路编码:" + baseCameraManagement.getRailwayCode() + "的数据");
+        }
         LambdaQueryWrapper<BaseDeviceDynamicManagement> queryWrapper = new LambdaQueryWrapper<BaseDeviceDynamicManagement>();
         if (!ObjectUtils.isEmpty(baseCameraManagement.getCameraCode())) {
             queryWrapper.eq(BaseDeviceDynamicManagement::getCameraCode, baseCameraManagement.getCameraCode());
         }
         BaseDeviceDynamicManagement baseDeviceDynamicManagement = baseDeviceDynamicManagementService.getOne(queryWrapper);
+        if (ObjectUtils.isEmpty(baseRailwayManagement)) {
+            return error("设备动态管理表中没有该相机编码:" + baseCameraManagement.getCameraCode() + "的数据");
+        }
         List<Object> list = new ArrayList<>();
         list.add(baseRailwayManagement.getRailwayName());
         list.add(AppendUtils.stringAppend(baseCameraManagement.getInstallMile()));
@@ -387,9 +376,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 +407,22 @@ 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());
+            LambdaQueryWrapper<BaseRailwayManagement> queryWrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+            if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
+                queryWrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
+            }
+            BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
+            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);
+        }
         ExcelUtil<BaseCameraManagement> util = new ExcelUtil<>(BaseCameraManagement.class);
         util.exportExcel(response, list, "台账管理相机数据");
     }
@@ -438,7 +443,7 @@ public class BaseCameraManagementController extends BaseController {
 
     @ApiOperation("查询录像")
     @GetMapping("/api/records/{cameraCode}")
-    public AjaxResult apiRecords(@PathVariable String cameraCode) {
+    public AjaxResult apiRecords(@PathVariable @NotNull(message = "相机编码不能为空") String cameraCode) {
         LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
         lw.eq(BaseCameraManagement::getCameraCode, cameraCode);
         BaseCameraManagement one = baseCameraManagementService.getOne(lw);
@@ -448,6 +453,45 @@ public class BaseCameraManagementController extends BaseController {
         return new AjaxResult(200, "ok", CameraUtil.getPlayFlv(cameraCode, one.getChannel()));
     }
 
+    @ApiOperation("查询录像")
+    @GetMapping("/api/records/{cameraCode}/{flay}")
+    public AjaxResult apiRecords(@PathVariable @NotNull(message = "相机编码不能为空") String cameraCode,
+                                 @PathVariable @NotNull(message = "条件不能为空") boolean flay) {
+        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+        lw.eq(BaseCameraManagement::getCameraCode, cameraCode);
+        BaseCameraManagement one = baseCameraManagementService.getOne(lw);
+        if (ObjectUtils.isEmpty(one)) {
+            throw new BaseException("相机编号【" + cameraCode + "】不存在");
+        }
+        return new AjaxResult(200, "ok", CameraUtil.getPlayFlv(cameraCode, one.getChannel(), flay));
+    }
+
+    @ApiOperation("批量查询录像")
+    @GetMapping("/api/recordsList")
+    public AjaxResult apiRecordsList(@RequestBody
+                                     @NotNull(message = "相机编码不能为空")
+                                             List<String> cameraCodes) {
+        List<String> list = new ArrayList<>();
+        for (String cameraCode : cameraCodes) {
+            LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+            lw.eq(BaseCameraManagement::getCameraCode, cameraCode);
+            BaseCameraManagement one = baseCameraManagementService.getOne(lw);
+            if (ObjectUtils.isEmpty(one)) {
+                throw new BaseException("相机编号【" + cameraCode + "】不存在");
+            }
+            String playFlv = null;
+            if (list.size() > 5) {
+                playFlv = CameraUtil.getPlayFlv(cameraCode, one.getChannel(), false);
+            } else {
+                playFlv = CameraUtil.getPlayFlv(cameraCode, one.getChannel());
+            }
+            list.add(playFlv);
+        }
+
+        return new AjaxResult(200, "ok", list);
+    }
+
+
     @ApiOperation("播放回放-废弃")
     @PostMapping("/api/invite")
     public AjaxResult apiInvite(@Validated @RequestBody BaseCameraResVo vo) {
@@ -507,13 +551,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) {
@@ -606,7 +650,7 @@ public class BaseCameraManagementController extends BaseController {
             msgAlarmResp.setAlarmMile(baseCameraManagement.getInstallMile().toString());
             return AjaxResult.success(msgAlarmResp);
         } else {
-            return error("该相机没有报警消息");
+            return success("无报警信息数据");
         }
     }
 }

+ 39 - 11
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/BaseRailwayManagementController.java

@@ -71,11 +71,7 @@ public class BaseRailwayManagementController extends BaseController {
     @ApiOperation(value = "线路管理表分页")
     @PostMapping("/list")
     public AjaxResult selectBaseLineManagement(@RequestBody BaseRailwayManagementVo baseRailwayManagementVo) {
-        List<String> userIds = baseCameraManagementService.getUserIds(getUserId());
         LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
-        if (!ObjectUtils.isEmpty(userIds)) {
-            lw.in(BaseRailwayManagement::getCreateBy, userIds);
-        }
         if (!StringUtils.isBlank(baseRailwayManagementVo.getRailwayCode())) {
             lw.like(BaseRailwayManagement::getRailwayCode, "%" + baseRailwayManagementVo.getRailwayCode() + "%");
         }
@@ -134,11 +130,35 @@ public class BaseRailwayManagementController extends BaseController {
     @PostMapping("/saveRailwayManagement")
     @ApiOperation("新增线路管理表信息")
     public AjaxResult saveLineManagement(@RequestBody BaseRailwayManagement baseRailwayManagement) {
+        String idempotence = idempotenceUtils.getIdempotence(baseRailwayManagement.getRailwayCode());
+        if (StringUtils.isNotEmpty(idempotence)){
+            return  error("你的网络卡顿,请不要一直添加!!!");
+        }
+        idempotenceUtils.createIdempotence(baseRailwayManagement.getRailwayCode());
+        
+        LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
+        if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayCode())) {
+            lw.eq(BaseRailwayManagement::getRailwayCode, baseRailwayManagement.getRailwayCode());
+            BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
+            if (!ObjectUtils.isEmpty(railwayManagement)) {
+                return error("线路编码已存在,不能重复添加");
+            }
+        }
+        if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayName())) {
+            lw.eq(BaseRailwayManagement::getRailwayName, baseRailwayManagement.getRailwayName());
+            BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
+            if (!ObjectUtils.isEmpty(railwayManagement)) {
+                return error("线路名称已存在,不能重复添加");
+            }
+        }
+        
         baseRailwayManagement.setCreateBy(getUserId());
         baseRailwayManagement.setUpdateBy(getUserId());
         if (baseRailwayManagementService.save(baseRailwayManagement)) {
+            idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
             return AjaxResult.success();
         }
+        idempotenceUtils.deleteIdempotence(baseRailwayManagement.getRailwayCode());
         return AjaxResult.error();
     }
 
@@ -151,15 +171,25 @@ 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("主键不存在");
         }
+        LambdaQueryWrapper<BaseRailwayManagement> lw = new LambdaQueryWrapper<BaseRailwayManagement>();
+        if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayCode())) {
+            lw.eq(BaseRailwayManagement::getRailwayCode, baseRailwayManagement.getRailwayCode());
+            BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
+            if (!ObjectUtils.isEmpty(railwayManagement) && !baseRailwayManagement.getId().equals(railwayManagement.getId())) {
+                return error("线路编码已存在,不能进行修改操作");
+            }
+        }
+        if (!ObjectUtils.isEmpty(baseRailwayManagement.getRailwayName())) {
+            lw.eq(BaseRailwayManagement::getRailwayName, baseRailwayManagement.getRailwayName());
+            BaseRailwayManagement railwayManagement = baseRailwayManagementService.getOne(lw);
+            if (!ObjectUtils.isEmpty(railwayManagement) && !baseRailwayManagement.getId().equals(railwayManagement.getId())) {
+                return error("线路名称已存在,不能进行修改操作");
+            }
+        }
         if (!baseRailwayManagement1.getRailwayCode().equals(baseRailwayManagement.getRailwayCode())) {
             LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper();
             wrapper.eq(BaseCameraManagement::getRailwayCode, baseRailwayManagement1.getRailwayCode());
@@ -170,10 +200,8 @@ 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();
     }
 

+ 83 - 76
hazard-admin/src/main/java/com/ozs/web/controller/accountmanagment/MsgAlarmController.java

@@ -1,6 +1,5 @@
 package com.ozs.web.controller.accountmanagment;
 
-
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -8,6 +7,8 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.common.core.controller.BaseController;
 import com.ozs.common.core.domain.AjaxResult;
 import com.ozs.common.core.domain.entity.SysDept;
+import com.ozs.common.core.domain.entity.SysUser;
+import com.ozs.common.core.domain.model.LoginUser;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.common.utils.poi.ExcelUtil;
@@ -15,6 +16,7 @@ import com.ozs.service.entity.*;
 import com.ozs.service.entity.vo.*;
 import com.ozs.service.mapper.MsgAlarmMapper;
 import com.ozs.service.service.*;
+import com.ozs.system.service.DataScoreUtil;
 import com.ozs.system.service.ISysDictDataService;
 import io.swagger.annotations.ApiImplicitParam;
 import io.swagger.annotations.ApiImplicitParams;
@@ -79,6 +81,30 @@ public class MsgAlarmController extends BaseController {
     private MsgWebPushService msgWebPushService;
     @Autowired
     private ISysDictDataService dictDataService;
+    @Autowired
+    private DataScoreUtil dataScoreUtil;
+
+    /**
+     * 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<MsgAlarm> messageMore = msgWebPushService.messageMore(userId, msgAlarmVo);
+        return AjaxResult.success(messageMore);
+    }
 
     /**
      * web报警未读消息个数+未读消息列表
@@ -112,49 +138,13 @@ public class MsgAlarmController extends BaseController {
     @ApiOperation(value = "报警信息分页")
     @PostMapping("/list")
     public AjaxResult selectMsgAlarm(@RequestBody MsgAlarmVo msgAlarmVo) {
-        List<BaseCameraManagement> baseCameraManagementList=new ArrayList<>();
-        LambdaQueryWrapper<BaseCameraManagement> wrapper = new LambdaQueryWrapper<BaseCameraManagement>();
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getRailwayCode())) {
-            wrapper.eq(BaseCameraManagement::getRailwayCode, msgAlarmVo.getRailwayCode());
-        }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getBeginMile())) {
-            wrapper.ge(BaseCameraManagement::getBeginMile, msgAlarmVo.getBeginMile());
-        }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getEndMile())) {
-            wrapper.le(BaseCameraManagement::getEndMile, 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());
-        LambdaQueryWrapper<MsgAlarm> lw = new LambdaQueryWrapper<MsgAlarm>();
-        if (!ObjectUtils.isEmpty(userIds)) {
-            lw.in(MsgAlarm::getCreateBy, userIds);
-        }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getLineDir())) {
-            lw.eq(MsgAlarm::getLineDir, msgAlarmVo.getLineDir());
-        }
-        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) {
-            lw.eq(MsgAlarm::getAlarmMile, msgAlarmVo.getAlarmMile());
-        }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getBeginAlarmTime())) {
-            lw.ge(MsgAlarm::getAlarmTime, msgAlarmVo.getBeginAlarmTime());
-        }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getEndAlarmTime())) {
-            lw.le(MsgAlarm::getAlarmTime, msgAlarmVo.getEndAlarmTime());
-        }
-        if (!ObjectUtils.isEmpty(msgAlarmVo.getIsLock())) {
-            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())){
+        msgAlarmVo = (MsgAlarmVo) dataScoreUtil.setDataScore(getUserId(), msgAlarmVo);
+        IPage<MsgAlarm> page = msgAlarmService.queryPage(msgAlarmVo);
+        page.setTotal(page.getTotal());
+        page.setCurrent(page.getCurrent());
+        page.setPages(page.getPages());
+
+        if (!ObjectUtils.isEmpty(page) && page.getRecords().size() > 0) {
             List<MsgAlarm> dto1 = page.getRecords().stream().map(o -> {
                 String[] split = o.getImageUrl().split(";");
                 ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
@@ -169,7 +159,6 @@ public class MsgAlarmController extends BaseController {
                     queryWrapper.eq(BaseRailwayManagement::getRailwayCode, cameraManagement.getRailwayCode());
                 }
                 BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(queryWrapper);
-
                 o.setRailwayName(baseRailwayManagement.getRailwayName());
                 String mils = AppendUtils.stringAppend(cameraManagement.getInstallMile());
                 o.setAlarmMiles(mils);
@@ -177,7 +166,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);
@@ -189,31 +178,34 @@ public class MsgAlarmController extends BaseController {
     @ApiOperation("根据报警信息ID获取详细信息")
     public AjaxResult getInfo(@PathVariable Long id) {
         MsgAlarm msgAlarm = msgAlarmService.getById(id);
-        LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
-        if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
-            lw.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
+        if (!ObjectUtils.isEmpty(msgAlarm)) {
+            LambdaQueryWrapper<BaseCameraManagement> lw = new LambdaQueryWrapper<BaseCameraManagement>();
+            if (!ObjectUtils.isEmpty(msgAlarm.getCameraCode())) {
+                lw.eq(BaseCameraManagement::getCameraCode, msgAlarm.getCameraCode());
+            }
+            BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
+            LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
+            if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
+                wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
+            }
+            BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
+            MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
+            BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
+            msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
+            msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
+            String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
+            String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
+            String endMile = begin + "-" + end;
+            msgAlarmResp.setBeginMile(endMile);
+            String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
+            msgAlarmResp.setAlarmMile(mile);
+            msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude() + "," + baseCameraManagement.getInstallLatitude());
+            return AjaxResult.success(msgAlarmResp);
+        }else {
+            return success("无报警信息数据");
         }
-        BaseCameraManagement baseCameraManagement = baseCameraManagementService.getOne(lw);
-        LambdaQueryWrapper<BaseRailwayManagement> wrapper = new LambdaQueryWrapper<BaseRailwayManagement>();
-        if (!ObjectUtils.isEmpty(baseCameraManagement.getRailwayCode())) {
-            wrapper.eq(BaseRailwayManagement::getRailwayCode, baseCameraManagement.getRailwayCode());
-        }
-        BaseRailwayManagement baseRailwayManagement = baseRailwayManagementService.getOne(wrapper);
-        MsgAlarmResp msgAlarmResp = new MsgAlarmResp();
-        BeanUtils.copyProperties(msgAlarm, msgAlarmResp);
-        msgAlarmResp.setRailwayName(baseRailwayManagement.getRailwayName());
-        msgAlarmResp.setDeptId(baseCameraManagement.getDeptId());
-        String begin = AppendUtils.stringAppend(baseCameraManagement.getBeginMile());
-        String end = AppendUtils.stringAppend(baseCameraManagement.getEndMile());
-        String endMile=begin+"-"+end;
-        msgAlarmResp.setBeginMile(endMile);
-        String mile = AppendUtils.stringAppend(baseCameraManagement.getInstallMile());
-        msgAlarmResp.setAlarmMile(mile);
-        msgAlarmResp.setInstallLongitude(baseCameraManagement.getInstallLongitude()+","+baseCameraManagement.getInstallLatitude());
-        return AjaxResult.success(msgAlarmResp);
     }
 
-
     @PutMapping(value = "/{id}")
     @ApiOperation("根据报警信息ID解除报警")
     public AjaxResult updateIsLock(@PathVariable Long id) {
@@ -235,11 +227,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);
@@ -262,8 +254,9 @@ public class MsgAlarmController extends BaseController {
     public AjaxResult dataStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) {
         Integer pageNum = alarmStatisticResVo.getPageNum().intValue();
         Integer pageSize = alarmStatisticResVo.getPageSize().intValue();
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
         IPage<AlarmStatisticVo> page = msgAlarmService.list(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
@@ -286,11 +279,13 @@ public class MsgAlarmController extends BaseController {
             @ApiImplicitParam(paramType = "query", name = "alarmType", value = "灾害类型"),
     })
     public AjaxResult alarmMonthStatistic(@RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        ;
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
-        List<AlarmStatisticVo> list = msgAlarmService.getCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
+        List<AlarmStatisticMonthDto> list = msgAlarmService.getCount(alarmStatisticResVo.getRailwayCode(), alarmStatisticResVo.getStartMonth(),
                 alarmStatisticResVo.getEndMonth(), alarmStatisticResVo.getAlarmType(), userId);
         return AjaxResult.success(list);
     }
@@ -311,12 +306,23 @@ public class MsgAlarmController extends BaseController {
             @ApiImplicitParam(paramType = "query", name = "alarmType", value = "灾害类型"),
     })
     public void exportDataStatistic(HttpServletResponse response, @RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
         try {
             List<AlarmStatisticDto> list = msgAlarmService.exportExcel(alarmStatisticResVo, userId);
+            list.forEach(l -> {
+                String alarmType = l.getAlarmType();
+                String alarmTypeValue = dictDataService.selectDictLabel("sys_alarm_type", alarmType);
+                l.setAlarmTypeValue(alarmTypeValue);
+
+                String lineDir = l.getLineDir();
+                String lineDirValue = dictDataService.selectDictLabel("sys_line_dir", lineDir);
+                l.setLineDirValue(lineDirValue);
+
+            });
             ExcelUtil<AlarmStatisticDto> util = new ExcelUtil<>(AlarmStatisticDto.class);
             util.exportExcel(response, list, "报警数据详情");
         } catch (Exception e) {
@@ -340,8 +346,9 @@ public class MsgAlarmController extends BaseController {
             @ApiImplicitParam(paramType = "query", name = "alarmType", value = "灾害类型"),
     })
     public void exportDataStatisticMonth(HttpServletResponse response, @RequestBody AlarmStatisticResVo alarmStatisticResVo) {
+        SysUser user = getLoginUser().getUser();
         String userId = getUserId();
-        if ("1".equals(userId)) {
+        if (user.isAdmin(user.getId())) {
             userId = "";
         }
         try {

+ 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);
     }
 
     /**

+ 6 - 6
hazard-admin/src/main/java/com/ozs/web/controller/common/CaptchaController.java

@@ -46,12 +46,12 @@ public class CaptchaController
     public AjaxResult getCode(HttpServletResponse response) throws IOException
     {
         AjaxResult ajax = AjaxResult.success();
-//        boolean captchaEnabled = configService.selectCaptchaEnabled();
-//        ajax.put("captchaEnabled", captchaEnabled);
-//        if (!captchaEnabled)
-//        {
-//            return ajax;
-//        }
+        boolean captchaEnabled = configService.selectCaptchaEnabled();
+        ajax.put("captchaEnabled", captchaEnabled);
+        if (!captchaEnabled)
+        {
+            return ajax;
+        }
 
         // 保存验证码信息
         String uuid = IdUtils.simpleUUID();

+ 6 - 0
hazard-admin/src/main/java/com/ozs/web/controller/monitor/SysLoginInfoController.java

@@ -66,6 +66,12 @@ public class SysLoginInfoController extends BaseController {
         if (!ObjectUtils.isEmpty(sysLoginInfoVo.getLoginTime())) {
             wrapper.like(SysLoginInfo::getLoginTime, sysLoginInfoVo.getLoginTime());
         }
+        if (!ObjectUtils.isEmpty(sysLoginInfoVo.getStartTime())) {
+            wrapper.ge(SysLoginInfo::getLoginTime, sysLoginInfoVo.getStartTime());
+        }
+        if (!ObjectUtils.isEmpty(sysLoginInfoVo.getEndTime())) {
+            wrapper.le(SysLoginInfo::getLoginTime, sysLoginInfoVo.getEndTime());
+        }
         IPage<SysLoginInfo> page = logininforService.page(new Page<>(sysLoginInfoVo.getPageNum(), sysLoginInfoVo.getPageSize()), wrapper);
         return AjaxResult.success(page);
     }

+ 8 - 0
hazard-admin/src/main/java/com/ozs/web/controller/monitor/SysOperlogController.java

@@ -8,8 +8,10 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.ozs.common.core.domain.vo.SysLoginInfoVo;
 import com.ozs.common.core.domain.vo.SysOperlogVo;
+import com.ozs.common.utils.DateUtils;
 import com.ozs.system.domain.SysLoginInfo;
 import io.swagger.annotations.ApiOperation;
+import org.apache.poi.ss.usermodel.DateUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.ObjectUtils;
@@ -66,6 +68,12 @@ public class SysOperlogController extends BaseController {
         if (!ObjectUtils.isEmpty(sysOperlogVo.getOperTime())) {
             wrapper.like(SysOperLog::getOperTime, sysOperlogVo.getOperTime());
         }
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getStartTime())) {
+            wrapper.ge(SysOperLog::getOperTime, sysOperlogVo.getStartTime());
+        }
+        if (!ObjectUtils.isEmpty(sysOperlogVo.getEndTime())) {
+            wrapper.le(SysOperLog::getOperTime, sysOperlogVo.getEndTime());
+        }
         IPage<SysOperLog> page = operLogService.page(new Page<>(sysOperlogVo.getPageNum(), sysOperlogVo.getPageSize()), wrapper);
         return AjaxResult.success(page);
     }

+ 18 - 1
hazard-admin/src/main/java/com/ozs/web/controller/system/SysRoleController.java

@@ -8,6 +8,8 @@ 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.vo.SysRoleRequestVo;
+import com.ozs.common.core.domain.vo.SysUserVo;
+import com.ozs.system.service.DataScoreUtil;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.security.access.prepost.PreAuthorize;
@@ -63,6 +65,8 @@ public class SysRoleController extends BaseController
 
     @Autowired
     private ISysDeptService deptService;
+    @Autowired
+    private DataScoreUtil dataScoreUtil;
 
 //    @PreAuthorize("@ss.hasPermi('system:role:list')")
 //    @GetMapping("/list")
@@ -78,8 +82,9 @@ public class SysRoleController extends BaseController
     @ApiOperation("根据条件分页查询角色数据")
     public AjaxResult page(@NotEmpty(message = "数据为空")
                            @RequestBody SysRoleRequestVo vo) {
+//        vo= (SysRoleRequestVo) dataScoreUtil.setDataScore(getUserId(),vo);
         LambdaQueryWrapper<SysRole> lw = new LambdaQueryWrapper<SysRole>();
-        lw.eq(SysRole::getDelFlag,0);
+        lw.eq(SysRole::getDelFlag, 1);
         if (!StringUtils.isBlank(vo.getRoleName())) {
             lw.like(SysRole::getRoleName, "%" +vo.getRoleName() + "%");
         }
@@ -89,6 +94,18 @@ public class SysRoleController extends BaseController
         if (!StringUtils.isBlank(vo.getStatus())) {
             lw.eq(SysRole::getStatus, vo.getStatus());
         }
+        
+//        if(!vo.getDsFlay()){
+//            if (!ObjectUtils.isEmpty(vo.getDsUserId())){
+//                lw.eq(SysRole::getCreateBy, vo.getDsUserId()).or();
+//            }
+//            if (!ObjectUtils.isEmpty(vo.getDsDeptId())){
+//                lw.eq(SysRole::getDeptId,vo.getDsDeptId()).or();
+//            }
+//            if (!ObjectUtils.isEmpty(vo.getDsDeptIds())){
+//                lw.in(SysRole::getDeptId,vo.getDsDeptIds());
+//            }
+//        }
         IPage<SysRole> page = roleService.page(new Page<SysRole>(vo.getPageNum(), vo.getPageSize()), lw);
         return success(page);
 

+ 90 - 43
hazard-admin/src/main/java/com/ozs/web/controller/system/SysUserController.java

@@ -23,10 +23,12 @@ import com.ozs.service.entity.BaseCameraManagement;
 import com.ozs.service.entity.BaseRailwayManagement;
 import com.ozs.service.entity.MsgAlarm;
 import com.ozs.service.entity.vo.MsgAlarmVo;
+import com.ozs.system.service.DataScoreUtil;
 import io.swagger.annotations.ApiOperation;
 import lombok.extern.slf4j.Slf4j;
 import org.apache.commons.lang3.ArrayUtils;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
 import org.springframework.http.MediaType;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.util.ObjectUtils;
@@ -73,7 +75,12 @@ public class SysUserController extends BaseController {
     private ISysPostService postService;
     @Autowired
     private TokenService tokenService;
-
+    @Autowired
+    private ISysRoleService iSysRoleService;
+    @Value("${base.defaultPassword:yn5aq5Mt.106.tky}")
+    private String defaultPassword;
+    @Autowired
+    private DataScoreUtil dataScoreUtil;
 //    /**
 //     * 获取用户列表
 //     */
@@ -96,30 +103,30 @@ public class SysUserController extends BaseController {
     @PostMapping("/list")
     @PreAuthorize("@ss.hasPermi('system:user:list')")
     public AjaxResult list(@RequestBody SysUserVo sysUserVo) {
+        sysUserVo = (SysUserVo) dataScoreUtil.setDataScore(getUserId(), sysUserVo);
         LambdaQueryWrapper<SysUser> wrapper = new LambdaQueryWrapper<SysUser>();
-        if (!ObjectUtils.isEmpty(sysUserVo.getUserName())) {
-            wrapper.like(SysUser::getUserName, sysUserVo.getUserName());
-        }
-        if (!ObjectUtils.isEmpty(sysUserVo.getNickName())) {
-            wrapper.like(SysUser::getNickName, sysUserVo.getNickName());
-        }
-        if (!ObjectUtils.isEmpty(sysUserVo.getPhoneNum())) {
-            wrapper.like(SysUser::getPhoneNum, sysUserVo.getPhoneNum());
-        }
-        if (!ObjectUtils.isEmpty(sysUserVo.getDeptId())) {
-            wrapper.eq(SysUser::getDeptId, sysUserVo.getDeptId());
-        }
-        if (!ObjectUtils.isEmpty(sysUserVo.getStatus())) {
-            wrapper.eq(SysUser::getStatus, sysUserVo.getStatus());
-        }
+        IPage<SysUser> page = userService.queryPage(sysUserVo);
+        page.setTotal(page.getTotal());
+        page.setCurrent(page.getCurrent());
+        page.setPages(page.getPages());
 
-        IPage<SysUser> page = userService.page(new Page<>(sysUserVo.getPageNum(), sysUserVo.getPageSize()), wrapper);
-        if (!ObjectUtils.isEmpty(page) && !ObjectUtils.isEmpty(page.getRecords())) {
+        if (!ObjectUtils.isEmpty(page) && page.getRecords().size() > 0) {
             List<SysUser> dto1 = page.getRecords().stream().map(o -> {
+                List<Long> longs = new ArrayList<>();
                 SysDept sysDept = deptService.selectDeptById(o.getDeptId());
                 if (!ObjectUtils.isEmpty(sysDept)) {
                     o.setDeptName(sysDept.getDeptName());
                 }
+                if (SysUser.isAdmin(o.getId())) {
+                    List<SysRole> roles = roleService.selectRoleAll();
+                    for (SysRole role : roles) {
+                        longs.add(role.getRoleId());
+                    }
+                } else {
+                    longs = iSysRoleService.selectRoleListByUserId(o.getId());
+                }
+                Long[] objects = longs.toArray(new Long[]{});
+                o.setRoleIds(objects);
                 return o;
             }).collect(Collectors.toList());
             page.setRecords(dto1);
@@ -131,7 +138,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, "用户数据");
     }
@@ -172,7 +198,7 @@ public class SysUserController extends BaseController {
     @PreAuthorize("@ss.hasPermi('system:user:query')")
     @GetMapping(value = {"/", "/{id}"})
     public AjaxResult getInfo(@PathVariable(value = "id", required = false) Long id) {
-        userService.checkUserDataScope(id);
+//        userService.checkUserDataScope(id);
         AjaxResult ajax = AjaxResult.success();
         List<SysRole> roles = roleService.selectRoleAll();
         ajax.put("roles", SysUser.isAdmin(id) ? roles : roles.stream().filter(r -> !r.isAdmin()).collect(Collectors.toList()));
@@ -191,10 +217,6 @@ public class SysUserController extends BaseController {
     @Log(title = "用户管理", businessType = BusinessType.INSERT)
     @PostMapping("/add")
     public AjaxResult add(@Validated @RequestBody SysUser user) {
-        boolean matches = user.getPassword().matches(PW_PATTERN);
-        if (!matches) {
-            return error("您的密码太简单!需要包含大小英文、数字、特殊字符、并且长度8-20");
-        }
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return error("新增用户'" + user.getUserName() + "'失败,登录账号已存在");
         } else if (StringUtils.isNotEmpty(user.getPhoneNum())
@@ -202,7 +224,6 @@ public class SysUserController extends BaseController {
             return error("新增用户'" + user.getUserName() + "'失败,手机号码已存在");
         }
         user.setCreateBy(getUsername());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         return toAjax(userService.saveUser(user));
     }
 
@@ -213,12 +234,8 @@ public class SysUserController extends BaseController {
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @RequestMapping(value = "/edit", method = RequestMethod.PUT)
     public AjaxResult edit(@Validated @RequestBody SysUser user) {
-        boolean matches = user.getPassword().matches(PW_PATTERN);
-        if (!matches) {
-            return error("您的密码太简单!需要包含大小英文、数字、特殊字符、并且长度8-20");
-        }
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getId());
+//        userService.checkUserAllowed(user);
+//        userService.checkUserDataScope(user.getId());
         if (UserConstants.NOT_UNIQUE.equals(userService.checkUserNameUnique(user))) {
             return error("修改用户'" + user.getUserName() + "'失败,登录账号已存在");
         } else if (StringUtils.isNotEmpty(user.getPhoneNum())
@@ -229,7 +246,6 @@ public class SysUserController extends BaseController {
             return error("修改用户'" + user.getUserName() + "'失败,邮箱账号已存在");
         }
         user.setUpdateBy(getUsername());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
         return toAjax(userService.updateUsers(user));
     }
 
@@ -246,8 +262,8 @@ public class SysUserController extends BaseController {
                 return error("您的密码太简单!需要包含大小英文、数字、特殊字符、并且长度8-20");
             }
         }
-        userService.checkUserAllowedUpdate(user);
-        userService.checkUserDataScope(user.getId());
+//        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())
@@ -259,12 +275,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);
@@ -304,15 +322,44 @@ public class SysUserController extends BaseController {
      */
     @PreAuthorize("@ss.hasPermi('system:user:resetPwd')")
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
-    @PutMapping("/resetPwd")
-    public AjaxResult resetPwd(@RequestBody SysUser user) {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getId());
-        user.setPassword(SecurityUtils.encryptPassword(user.getPassword()));
+    @GetMapping("/resetPwd/{id}")
+    public AjaxResult resetPwd(@PathVariable(value = "id") Long id) {
+        SysUser user = new SysUser();
+        user.setId(id);
+        user.setPassword(SecurityUtils.encryptPassword(defaultPassword));
         user.setUpdateBy(getUsername());
         return toAjax(userService.resetPwd(user));
     }
 
+
+    /**
+     * 修改密码
+     */
+    @Log(title = "用户管理", businessType = BusinessType.UPDATE)
+    @PutMapping("/updatePassWord")
+    public AjaxResult updatePassWord(@RequestBody SysUser user) {
+        LoginUser loginUser = getLoginUser();
+        if (!SecurityUtils.matchesPassword(user.getPassword(), loginUser.getPassword())) {
+            return error("修改密码失败,旧密码错误");
+        }
+        boolean matches =user.getNewPassword().matches(PW_PATTERN);
+        if (!matches) {
+            return error("您的密码太简单!需要包含大小英文、数字、特殊字符、并且长度8-20");
+        }
+        if (SecurityUtils.matchesPassword(user.getNewPassword(), loginUser.getPassword())) {
+            return error("新密码不能与旧密码相同");
+        }
+        user.setPassword(SecurityUtils.encryptPassword(user.getNewPassword()));
+        user.setUpdateBy(getUsername());
+        if (userService.resetPwd(user)>0) {
+            // 更新缓存用户密码
+            loginUser.getUser().setPassword(SecurityUtils.encryptPassword(user.getNewPassword()));
+            tokenService.setLoginUser(loginUser);
+            return success();
+        }
+        return error("修改密码异常,请联系管理员");
+    }
+
     /**
      * 状态修改
      */
@@ -320,8 +367,8 @@ public class SysUserController extends BaseController {
     @Log(title = "用户管理", businessType = BusinessType.UPDATE)
     @PutMapping("/changeStatus")
     public AjaxResult changeStatus(@RequestBody SysUser user) {
-        userService.checkUserAllowed(user);
-        userService.checkUserDataScope(user.getId());
+//        userService.checkUserAllowed(user);
+//        userService.checkUserDataScope(user.getId());
         user.setUpdateBy(getUsername());
         return toAjax(userService.updateUserStatus(user));
     }
@@ -347,7 +394,7 @@ public class SysUserController extends BaseController {
     @Log(title = "用户管理", businessType = BusinessType.GRANT)
     @PutMapping("/authRole")
     public AjaxResult insertAuthRole(Long userId, Long[] roleIds) {
-        userService.checkUserDataScope(userId);
+//        userService.checkUserDataScope(userId);
         userService.insertUserAuth(userId, roleIds);
         return success();
     }

+ 31 - 13
hazard-admin/src/main/java/com/ozs/web/controller/websocket/WebSocketConteoller.java

@@ -3,6 +3,7 @@ package com.ozs.web.controller.websocket;
 import com.alibaba.fastjson2.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.ozs.common.core.controller.BaseController;
+import com.ozs.common.core.domain.entity.SysUser;
 import com.ozs.common.utils.AppendUtils;
 import com.ozs.common.utils.StringUtils;
 import com.ozs.service.entity.BaseCameraManagement;
@@ -11,6 +12,7 @@ import com.ozs.service.entity.MsgAppPush;
 import com.ozs.service.entity.MsgWebPush;
 import com.ozs.service.entity.vo.MsgAlarmResp;
 import com.ozs.service.service.*;
+import com.ozs.system.service.ISysUserService;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -36,6 +38,8 @@ public class WebSocketConteoller extends BaseController {
     private WebSocketServer webSocketServer;
     @Autowired
     private BaseUserService baseUserService;
+    @Autowired
+    private ISysUserService userService;
     @Resource
     private BaseRailwayManagementService baseRailwayManagementService;
     @Autowired
@@ -78,23 +82,35 @@ public class WebSocketConteoller extends BaseController {
             ArrayList<String> objects = new ArrayList<>(Arrays.asList(split));
             msgAlarmResp.setImageUrls(objects);
         }
+        if (!StringUtils.isEmpty(msgAlarm.getId())) {
+            msgAlarmResp.setId(msgAlarm.getId());
+        }
         // 推送消息reqMsgAlarmVo
         webSocketServer.sendMoreMessage(list, objStr(msgAlarmResp));
         // app 消息推送
-        List<String> alias = userRegistrationidService.selectRegistrationID(userIdList);
+        List<String> alias = new ArrayList<>();
+        if (!StringUtils.isEmpty(userIdList) || userIdList.size() > 0) {
+            alias = userRegistrationidService.selectRegistrationID(userIdList);
+        }
         // List<String> alias = new ArrayList<String>();
         // alias.add("sunhh");
-        Date alarmTime = msgAlarm.getAlarmTime();
-        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
-        String formatDate = sdf.format(alarmTime != null ? alarmTime : new Date());
-        JPushUtil.sendToRegistrationId(
-                alias,
-                "报警通知!", cameraName != null ? cameraName : "",
-                formatDate + "     " + (msgAlarmResp.getAlarmType() == 1 ? "泥石流" : msgAlarmResp.getAlarmType()) + "     " + (baseCameraManagement.getLineDir() == 1 ? "上行" : "下行") + "     " + mile + "     " + endMile,
-                "");
+        if (!StringUtils.isEmpty(alias) || alias.size() > 0) {
+            Date alarmTime = msgAlarm.getAlarmTime();
+            SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
+            String formatDate = sdf.format(alarmTime != null ? alarmTime : new Date());
+            JPushUtil.sendToRegistrationId(
+                    alias,
+                    "报警通知!", cameraName != null ? cameraName : "",
+                    formatDate + "     " + (msgAlarmResp.getAlarmType() == 1 ? "泥石流" : msgAlarmResp.getAlarmType()) + "     " + (baseCameraManagement.getLineDir() == 1 ? "上行" : "下行") + "     " + mile + "     " + endMile,
+                    "");
+        }
         // 存入数据
         if (!StringUtils.isEmpty(msgAlarm.getAlarmId()) || !StringUtils.isEmpty(userIdList)) {
-            String userIdLogin = getUserId();
+            String userIdLogin = "admin编码";
+            SysUser user = userService.selectUserById(1L);
+            if (!ObjectUtils.isEmpty(user)) {
+                userIdLogin = user.getUserId();
+            }
             String alarmId = msgAlarm.getAlarmId();
             for (String userId : userIdList) {
                 MsgWebPush msgWebPush = new MsgWebPush();
@@ -107,9 +123,11 @@ public class WebSocketConteoller extends BaseController {
                 msgWebPush.setUpdateBy(userIdLogin);
                 msgWebPush.setUpdateTime(new Date());
                 msgWebPushService.save(msgWebPush);
-                MsgAppPush msgAppPush = new MsgAppPush();
-                BeanUtils.copyProperties(msgWebPush, msgAppPush);
-                msgAppPushService.save(msgAppPush);
+                if (!StringUtils.isEmpty(alias) || alias.size() > 0) {
+                    MsgAppPush msgAppPush = new MsgAppPush();
+                    BeanUtils.copyProperties(msgWebPush, msgAppPush);
+                    msgAppPushService.save(msgAppPush);
+                }
             }
         }
         HashMap<String, Object> map = new HashMap<>();

+ 3 - 0
hazard-admin/src/main/java/com/ozs/web/core/config/CaneraConfig.java

@@ -29,5 +29,8 @@ public class CaneraConfig {
     @Value("${base.webUrl:http://47.106.159.135/streams}")
     private String webUrl;
 
+    @Value("${base.bakUrl:http://124.70.58.209:18891}")
+    private String bakUrl;
+
 
 }

+ 10 - 1
hazard-admin/src/main/java/com/ozs/web/core/util/CameraUtil.java

@@ -33,6 +33,7 @@ public class CameraUtil {
     private static String ffmpegPath;
     private static String filePath;
     private static String webUrl;
+    private static String bakUrl;
 
     @Autowired
     private CaneraConfig caneraConfig;
@@ -72,10 +73,17 @@ public class CameraUtil {
      * @param channel    相机通道
      * @return
      */
-    public static String getPlayFlv(String cameraCode, String channel) {
+    public static String getPlayFlv(String cameraCode, String channel, boolean flay) {
+        if (!flay) {
+            return bakUrl + "/hdl/" + channel + "/" + cameraCode + ".flv";
+        }
         return webUrl + "/hdl/" + channel + "/" + cameraCode + ".flv";
     }
 
+    public static String getPlayFlv(String cameraCode, String channel) {
+        return getPlayFlv(cameraCode, channel, true);
+    }
+
     /**
      * 开启录制功能
      *
@@ -313,6 +321,7 @@ public class CameraUtil {
         ffmpegPath = caneraConfig.getFfmpegPath();
         filePath = caneraConfig.getFilePath();
         webUrl = caneraConfig.getWebUrl();
+        bakUrl = caneraConfig.getBakUrl();
     }
 
     /**

+ 6 - 2
hazard-admin/src/main/resources/application.yml

@@ -18,8 +18,12 @@ base:
   # 摄像头配置
   ffmpegPath: /usr/local/ffmpeg/bin/ffmpeg
   filePath: /opt/streams/
-  historyUrl: http://124.70.58.209:9080
-  webUrl: http://124.70.58.209:9080
+  historyUrl: http://124.70.58.209:18891
+  #  webUrl: http://124.70.58.209:18819
+  webUrl: http://124.70.58.209:18819
+  bakUrl: http://124.70.58.209:18891
+  defaultPassword: yn5aq5Mt.106.tky
+  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


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


+ 13 - 2
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;
@@ -54,7 +55,7 @@ public class GeoHazardMonitorTokenController {
     SvcAddressService svcAddressService;
     @Autowired
     BaseCameraManagementService baseCameraManagementService;
-    @Value("${sdk.publish:http://47.106.159.135:18819/hazard/sdk/publish}")
+    @Value("${sdk.publish}")
     private String sdkUrl;
     @Autowired
     private BaseUserService baseUserService;
@@ -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);
@@ -183,10 +187,17 @@ public class GeoHazardMonitorTokenController {
                 respMsgAlarmVo.setCancelTime(null);
             }
             try {
+                log.info("sdkUrl:{}", sdkUrl);
+                log.info("alarmJSON :{}", JSON.toJSONString(alarm));
                 String result = HttpClientUtil.postJson(sdkUrl, JSON.toJSONString(alarm));
+                log.info("result:{}", result);
             } 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", "成功");

+ 1 - 1
hazard-sdk/src/main/resources/application.yml

@@ -154,4 +154,4 @@ minio:
   secretKey: admin123 #访问的秘钥
 
 sdk:
-  publish: http://http://124.70.58.209/:18819/hazard/sdk/publish
+  publish: http://124.70.58.209:18819/hazard/sdk/publish