Browse Source

报警统计功能

shilin 1 year ago
parent
commit
f0c2ec59f0

+ 2 - 0
alarm-custom/src/main/java/com/gyee/alarm/service/realtimelibrary/StatusService.java

@@ -256,6 +256,8 @@ public class StatusService {
      */
     public void statusReal() throws Exception {
         Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = CacheContext.wtpAimap;
+
+
         List<ProBasicEquipment> wtls = CacheContext.wtls;
         Map<String, List<ProBasicStatusPoint>> statusMap = CacheContext.statusMap;
         Map<String, ProEconEquipmentmodel> modelMap = CacheContext.modelMap;

+ 16 - 1
alarm-service/src/main/java/com/gyee/alarm/init/CacheContext.java

@@ -180,7 +180,8 @@ public class CacheContext implements CommandLineRunner {
     public static List<ProEconAlarmConfiguration> wtalarmls = new ArrayList<>();
     public static List<ProEconAlarmConfiguration> customalarmls = new ArrayList<>();
     public static Map<String, Map<String, ProBasicStatusPoint>> pointdismap = new HashMap<>();
-
+    public static Map<String, List<ProBasicEquipment>> rgwtlsmap = new HashMap<>();
+    public static Map<String, List<ProBasicEquipment>> cmwtlsmap = new HashMap<>();
     public static Map<String,List<ProEconAlarmConfiguration>> wtAlarmMap=new HashMap<>();
 
     public static List<AlarmVo> alarmWtList=new ArrayList<>();
@@ -415,6 +416,20 @@ public class CacheContext implements CommandLineRunner {
                 lnls.add(wt);
                 lnwtmap.put(wt.getLineId(), lnls);
             }
+            if (cmwtlsmap.containsKey(wt.getCompanyId())) {
+                cmwtlsmap.get(wt.getCompanyId()).add(wt);
+            } else {
+                List<ProBasicEquipment> cmls = new ArrayList<>();
+                cmls.add(wt);
+                cmwtlsmap.put(wt.getCompanyId(), cmls);
+            }
+            if (rgwtlsmap.containsKey(wt.getRegionId())) {
+                rgwtlsmap.get(wt.getRegionId()).add(wt);
+            } else {
+                List<ProBasicEquipment> rgls = new ArrayList<>();
+                rgls.add(wt);
+                rgwtlsmap.put(wt.getRegionId(), rgls);
+            }
 
             if (sqwtmap.containsKey(wt.getSquareId())) {
                 sqwtmap.get(wt.getSquareId()).add(wt);

+ 23 - 0
alarm-service/src/main/java/com/gyee/alarm/mapper/auto/SysUserMapper.java

@@ -0,0 +1,23 @@
+package com.gyee.alarm.mapper.auto;
+
+
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.gyee.alarm.model.auto.SysUser;
+import org.apache.ibatis.annotations.Param;
+import org.apache.ibatis.annotations.Select;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 用户信息表 Mapper 接口
+ * </p>
+ *
+ * @author wang
+ * @since 2023-07-25
+ */
+public interface SysUserMapper extends BaseMapper<SysUser> {
+
+    @Select("SELECT d.nem_code FROM system_dept as d,system_users as u where u.dept_id=d.id and u.id=#{userId} ")
+    public List<String> getUserByuserId(@Param(value = "userId") Long userId);
+}

+ 119 - 0
alarm-service/src/main/java/com/gyee/alarm/model/auto/SysUser.java

@@ -0,0 +1,119 @@
+package com.gyee.alarm.model.auto;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+import java.time.LocalDateTime;
+
+/**
+ * <p>
+ * 用户信息表
+ * </p>
+ *
+ * @author wang
+ * @since 2023-07-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = true)
+public class SysUser extends Model {
+
+    private static final long serialVersionUID = 1L;
+
+    /**
+     * 用户ID
+     */
+    private Long userId;
+
+    /**
+     * 部门ID
+     */
+    private Long deptId;
+
+    /**
+     * 用户账号
+     */
+    private String userName;
+
+    /**
+     * 用户昵称
+     */
+    private String nickName;
+
+    /**
+     * 用户类型(00系统用户)
+     */
+    private String userType;
+
+    /**
+     * 用户邮箱
+     */
+    private String email;
+
+    /**
+     * 手机号码
+     */
+    private String phonenumber;
+
+    /**
+     * 用户性别(0男 1女 2未知)
+     */
+    private String sex;
+
+    /**
+     * 头像地址
+     */
+    private String avatar;
+
+    /**
+     * 密码
+     */
+    private String password;
+
+    /**
+     * 帐号状态(0正常 1停用)
+     */
+    private String status;
+
+    /**
+     * 删除标志(0代表存在 2代表删除)
+     */
+    private String delFlag;
+
+    /**
+     * 最后登录IP
+     */
+    private String loginIp;
+
+    /**
+     * 最后登录时间
+     */
+    private LocalDateTime loginDate;
+
+    /**
+     * 创建者
+     */
+    private String createBy;
+
+    /**
+     * 创建时间
+     */
+    private LocalDateTime createTime;
+
+    /**
+     * 更新者
+     */
+    private String updateBy;
+
+    /**
+     * 更新时间
+     */
+    private LocalDateTime updateTime;
+
+    /**
+     * 备注
+     */
+    private String remark;
+
+
+}

+ 37 - 31
alarm-service/src/main/java/com/gyee/alarm/service/AlarmBtService.java

@@ -11,6 +11,7 @@ import com.gyee.alarm.websocket.PushParams;
 import com.gyee.alarm.websocket.WebSocket;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.web.socket.TextMessage;
 
 import javax.annotation.Resource;
 import javax.websocket.EncodeException;
@@ -34,6 +35,8 @@ public class AlarmBtService {
 
     @Resource
     private WebSocket webSocket;
+    @Resource
+    private PushDataSevice pushDataSevice;
     public void dropSuperTable() {
         alarmTsService.dropSuperTable(AlarmSuperTalbeType.BT.getCode());
     }
@@ -229,7 +232,7 @@ public class AlarmBtService {
                         {
                             alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                         }
-                        pushData(alarm);
+                        pushDataSevice.pushData(alarm);
                         valuels.add(po);
                     }
                 }
@@ -394,7 +397,7 @@ public class AlarmBtService {
                         {
                             alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                         }
-                        pushData(alarm);
+                        pushDataSevice.pushData(alarm);
                         valuels.add(po);
                     }
                 }
@@ -426,33 +429,36 @@ public class AlarmBtService {
 
     }
 
-    public void pushData(AlarmTag po) throws EncodeException, IOException {
-        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
-        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
-        if(!webSocketPushMap.isEmpty()){
-            for(String key : webSocketPushMap.keySet()){
-                // 根据ws连接用户ID获取推送参数
-                PushParams pushParams = webSocketPushParamsMap.get(key);
-
-                if(webSocketPushParamsMap.contains(po.getId()))
-                {
-                    PushParams pp=webSocketPushParamsMap.get(po.getId());
-
-                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
-                    if(hours>pushinterval)
-                    {
-                        webSocket.sendMessageByUserId(key,po);
-                        pp.setStartTime(new Date(po.getTs()));
-                    }
-                }else
-                {
-                    webSocket.sendMessageByUserId(key,po);
-                    PushParams pp=new PushParams();
-                    pp.setStartTime(new Date());
-                    webSocketPushParamsMap.put(po.getId(),pp);
-                }
-            }
-        }
-
-    }
+//    public synchronized void pushData(AlarmTag po) throws EncodeException, IOException {
+//        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
+//        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
+//        if(!webSocketPushMap.isEmpty()){
+//            for(String key : webSocketPushMap.keySet()){
+//                // 根据ws连接用户ID获取推送参数
+//                PushParams pushParams = webSocketPushParamsMap.get(key);
+//
+//                if(webSocketPushParamsMap.contains(po.getId()))
+//                {
+//                    PushParams pp=webSocketPushParamsMap.get(po.getId());
+//
+//                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
+//                    if(hours>pushinterval)
+//                    {
+//
+//                        webSocket.sendMessageByUserId(key,po);
+//                        pp.setStartTime(new Date(po.getTs()));
+//
+//                    }
+//                }else
+//                {
+//                    webSocket.sendMessageByUserId(key,po);
+//                    PushParams pp=new PushParams();
+//                    pp.setStartTime(new Date());
+//                    webSocketPushParamsMap.put(po.getId(),pp);
+//
+//                }
+//            }
+//        }
+//
+//    }
 }

+ 43 - 31
alarm-service/src/main/java/com/gyee/alarm/service/AlarmCtService.java

@@ -36,6 +36,8 @@ public class AlarmCtService {
     private Double pushinterval;
     @Resource
     private WebSocket webSocket;
+    @Resource
+    private PushDataSevice pushDataSevice;
     public void dropSuperTable() {
         alarmTsService.dropSuperTable(AlarmSuperTalbeType.CT.getCode());
     }
@@ -479,7 +481,7 @@ public class AlarmCtService {
                         {
                             alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                         }
-                        pushData(alarm);
+                        pushDataSevice.pushData(alarm);
                         valuels.add(po);
                     }
                 }
@@ -629,7 +631,7 @@ public class AlarmCtService {
                             {
                                 alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                             }
-                            pushData(alarm);
+                           pushDataSevice.pushData(alarm);
                             valuels.add(po);
                         }
                     }
@@ -661,33 +663,43 @@ public class AlarmCtService {
         }
     }
 
-    public void pushData(AlarmTag po) throws EncodeException, IOException {
-        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
-        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
-        if(!webSocketPushMap.isEmpty()){
-            for(String key : webSocketPushMap.keySet()){
-                // 根据ws连接用户ID获取推送参数
-                PushParams pushParams = webSocketPushParamsMap.get(key);
-
-                if(webSocketPushParamsMap.contains(po.getId()))
-                {
-                    PushParams pp=webSocketPushParamsMap.get(po.getId());
-
-                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
-                    if(hours>pushinterval)
-                    {
-                        webSocket.sendMessageByUserId(key,po);
-                        pp.setStartTime(new Date(po.getTs()));
-                    }
-                }else
-                {
-                    webSocket.sendMessageByUserId(key,po);
-                    PushParams pp=new PushParams();
-                    pp.setStartTime(new Date());
-                    webSocketPushParamsMap.put(po.getId(),pp);
-                }
-            }
-        }
-
-    }
+//    public void pushData(AlarmTag po) throws EncodeException, IOException {
+//        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
+//        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
+//        if(!webSocketPushMap.isEmpty()){
+//            for(String key : webSocketPushMap.keySet()){
+//                // 根据ws连接用户ID获取推送参数
+//                PushParams pushParams = webSocketPushParamsMap.get(key);
+//
+//                if(webSocketPushParamsMap.contains(po.getId()))
+//                {
+//                    PushParams pp=webSocketPushParamsMap.get(po.getId());
+//
+//                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
+//                    if(hours>pushinterval)
+//                    {
+//
+//                        synchronized (key)
+//                        {
+//                            webSocket.sendMessageByUserId(key,po);
+//                            pp.setStartTime(new Date(po.getTs()));
+//                        }
+//
+//
+//                    }
+//                }else
+//                {
+//                    synchronized (key)
+//                    {
+//                        webSocket.sendMessageByUserId(key,po);
+//                        PushParams pp=new PushParams();
+//                        pp.setStartTime(new Date());
+//                        webSocketPushParamsMap.put(po.getId(),pp);
+//                    }
+//
+//                }
+//            }
+//        }
+//
+//    }
 }

+ 43 - 31
alarm-service/src/main/java/com/gyee/alarm/service/AlarmInService.java

@@ -33,6 +33,8 @@ public class AlarmInService {
     private Double pushinterval;
     @Resource
     private WebSocket webSocket;
+    @Resource
+    private PushDataSevice pushDataSevice;
     public void dropSuperTable()
     {
         alarmTsService.dropSuperTable(AlarmSuperTalbeType.WT.getCode());
@@ -313,7 +315,7 @@ public class AlarmInService {
                         {
                             alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                         }
-                        pushData(alarm);
+                        pushDataSevice.pushData(alarm);
 
                         valuels.add(po);
                     }
@@ -460,7 +462,7 @@ public class AlarmInService {
                         {
                             alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                         }
-                        pushData(alarm);
+                        pushDataSevice.pushData(alarm);
                         valuels.add(po);
                     }
                 }
@@ -492,33 +494,43 @@ public class AlarmInService {
 
     }
 
-    public void pushData(AlarmTag po) throws EncodeException, IOException {
-        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
-        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
-        if(!webSocketPushMap.isEmpty()){
-            for(String key : webSocketPushMap.keySet()){
-                // 根据ws连接用户ID获取推送参数
-                PushParams pushParams = webSocketPushParamsMap.get(key);
-
-                if(webSocketPushParamsMap.contains(po.getId()))
-                {
-                    PushParams pp=webSocketPushParamsMap.get(po.getId());
-
-                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
-                    if(hours>pushinterval)
-                    {
-                        webSocket.sendMessageByUserId(key,po);
-                        pp.setStartTime(new Date(po.getTs()));
-                    }
-                }else
-                {
-                    webSocket.sendMessageByUserId(key,po);
-                    PushParams pp=new PushParams();
-                    pp.setStartTime(new Date());
-                    webSocketPushParamsMap.put(po.getId(),pp);
-                }
-            }
-        }
-
-    }
+//    public void pushData(AlarmTag po) throws EncodeException, IOException {
+//        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
+//        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
+//        if(!webSocketPushMap.isEmpty()){
+//            for(String key : webSocketPushMap.keySet()){
+//                // 根据ws连接用户ID获取推送参数
+//                PushParams pushParams = webSocketPushParamsMap.get(key);
+//
+//                if(webSocketPushParamsMap.contains(po.getId()))
+//                {
+//                    PushParams pp=webSocketPushParamsMap.get(po.getId());
+//
+//                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
+//                    if(hours>pushinterval)
+//                    {
+//
+//                        synchronized (key)
+//                        {
+//                            webSocket.sendMessageByUserId(key,po);
+//                            pp.setStartTime(new Date(po.getTs()));
+//                        }
+//
+//
+//                    }
+//                }else
+//                {
+//                    synchronized (key)
+//                    {
+//                        webSocket.sendMessageByUserId(key,po);
+//                        PushParams pp=new PushParams();
+//                        pp.setStartTime(new Date());
+//                        webSocketPushParamsMap.put(po.getId(),pp);
+//                    }
+//
+//                }
+//            }
+//        }
+//
+//    }
 }

+ 43 - 31
alarm-service/src/main/java/com/gyee/alarm/service/AlarmWtService.java

@@ -36,6 +36,8 @@ public class AlarmWtService {
     private Double pushinterval;
     @Resource
     private WebSocket webSocket;
+    @Resource
+    private PushDataSevice pushDataSevice;
     public void dropSuperTable()
     {
         alarmTsService.dropSuperTable(AlarmSuperTalbeType.WT.getCode());
@@ -328,7 +330,7 @@ public class AlarmWtService {
                         {
                             alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                         }
-                        pushData(alarm);
+                        pushDataSevice.pushData(alarm);
 
                         valuels.add(po);
                     }
@@ -477,7 +479,7 @@ public class AlarmWtService {
                             alarm.setCode(CacheContext.wtmap.get(vo.getDeviceid()).getNemCode());
                         }
 
-                        pushData(alarm);
+                        pushDataSevice.pushData(alarm);
 
                         valuels.add(po);
                     }
@@ -511,33 +513,43 @@ public class AlarmWtService {
     }
 
 
-    public void pushData(AlarmTag po) throws EncodeException, IOException {
-        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
-        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
-        if(!webSocketPushMap.isEmpty()){
-            for(String key : webSocketPushMap.keySet()){
-                // 根据ws连接用户ID获取推送参数
-                PushParams pushParams = webSocketPushParamsMap.get(key);
-
-                if(webSocketPushParamsMap.contains(po.getId()))
-                {
-                    PushParams pp=webSocketPushParamsMap.get(po.getId());
-
-                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
-                    if(hours>pushinterval)
-                    {
-                        webSocket.sendMessageByUserId(key,po);
-                        pp.setStartTime(new Date(po.getTs()));
-                    }
-                }else
-                {
-                    webSocket.sendMessageByUserId(key,po);
-                    PushParams pp=new PushParams();
-                    pp.setStartTime(new Date());
-                    webSocketPushParamsMap.put(po.getId(),pp);
-                }
-            }
-        }
-
-    }
+//    public void pushData(AlarmTag po) throws EncodeException, IOException {
+//        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
+//        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
+//        if(!webSocketPushMap.isEmpty()){
+//            for(String key : webSocketPushMap.keySet()){
+//                // 根据ws连接用户ID获取推送参数
+//                PushParams pushParams = webSocketPushParamsMap.get(key);
+//
+//                if(webSocketPushParamsMap.contains(po.getId()))
+//                {
+//                    PushParams pp=webSocketPushParamsMap.get(po.getId());
+//
+//                    double hours=DateUtils.hoursDiff(pp.getStartTime(),new Date());
+//                    if(hours>pushinterval)
+//                    {
+//
+//                        synchronized (key)
+//                        {
+//                            webSocket.sendMessageByUserId(key,po);
+//                            pp.setStartTime(new Date(po.getTs()));
+//                        }
+//
+//
+//                    }
+//                }else
+//                {
+//                    synchronized (key)
+//                    {
+//                        webSocket.sendMessageByUserId(key,po);
+//                        PushParams pp=new PushParams();
+//                        pp.setStartTime(new Date());
+//                        webSocketPushParamsMap.put(po.getId(),pp);
+//                    }
+//
+//                }
+//            }
+//        }
+//
+//    }
 }

+ 133 - 0
alarm-service/src/main/java/com/gyee/alarm/service/PushDataSevice.java

@@ -0,0 +1,133 @@
+package com.gyee.alarm.service;
+
+import com.gyee.alarm.init.CacheContext;
+import com.gyee.alarm.model.auto.ProBasicEquipment;
+import com.gyee.alarm.model.vo.AlarmTag;
+import com.gyee.alarm.service.auto.ISysUserService;
+import com.gyee.alarm.util.DateUtils;
+import com.gyee.alarm.websocket.PushParams;
+import com.gyee.alarm.websocket.WebSocket;
+import com.gyee.common.model.StringUtils;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
+import javax.websocket.EncodeException;
+import java.io.IOException;
+import java.util.ArrayList;
+import java.util.Date;
+import java.util.List;
+import java.util.concurrent.ConcurrentHashMap;
+
+
+@Service
+public class PushDataSevice {
+    @Resource
+    private ISysUserService sysUserService;
+    @Value("${pushinterval}")
+    private Double pushinterval;
+    @Resource
+    private WebSocket webSocket;
+    public synchronized void pushData(AlarmTag po) throws EncodeException, IOException {
+        ConcurrentHashMap<String, WebSocket> webSocketPushMap = WebSocket.webSocketMap;
+        ConcurrentHashMap<String, PushParams> webSocketPushParamsMap = WebSocket.webSocketParamsMap;
+        if(!webSocketPushMap.isEmpty()){
+            for(String key : webSocketPushMap.keySet()){
+                // 根据ws连接用户ID获取推送参数
+                PushParams pushParams = webSocketPushParamsMap.get(key);
+
+                if(webSocketPushParamsMap.contains(po.getId()))
+                {
+                    PushParams pp=webSocketPushParamsMap.get(po.getId());
+
+                    double hours= DateUtils.hoursDiff(pp.getStartTime(),new Date());
+                    if(hours>pushinterval)
+                    {
+                        if(checkWtId(key,po.getDeviceId()))
+                        {
+                            webSocket.sendMessageByUserId(key,po);
+                            pp.setStartTime(new Date(po.getTs()));
+                        }
+                    }
+                }else
+                {
+                    if(checkWtId(key,po.getDeviceId()))
+                    {
+                        webSocket.sendMessageByUserId(key,po);
+                        PushParams pp=new PushParams();
+                        pp.setStartTime(new Date());
+                        webSocketPushParamsMap.put(po.getId(),pp);
+                    }
+
+                }
+            }
+        }
+
+    }
+
+    private boolean checkWtId(String userId,String wtId) {
+
+
+        boolean result=false;
+        List<String> depls = sysUserService.getUserByuserId(Long.valueOf(userId));
+        if (!depls.isEmpty()) {
+            String depId = depls.get(0);
+
+            if (CacheContext.wpwtmap.containsKey(depId)) {
+
+                List<ProBasicEquipment> wtls=CacheContext.wpwtmap.get(depId);
+                for(ProBasicEquipment wt:wtls)
+                {
+                   if(wt.getId().equals(wtId))
+                   {
+                       result=true;
+                       break;
+                   }
+
+                }
+
+            } else if (CacheContext.cmwtlsmap.containsKey(depId)) {
+
+                List<ProBasicEquipment> wtls=CacheContext.cmwtlsmap.get(depId);
+                for(ProBasicEquipment wt:wtls)
+                {
+                    if( wt.getId().equals(wtId))
+                    {
+                        result=true;
+                        break;
+                    }
+
+                }
+
+            } else if (CacheContext.rgwtlsmap.containsKey(depId)) {
+
+                List<ProBasicEquipment> wtls=CacheContext.rgwtlsmap.get(depId);
+                for(ProBasicEquipment wt:wtls)
+                {
+                    if( wt.getId().equals(wtId))
+                    {
+                        result=true;
+                        break;
+                    }
+
+                }
+
+            }else  if(depId.equals("0"))
+            {
+                for(ProBasicEquipment wt:CacheContext.wtls)
+                {
+                    if( wt.getId().equals(wtId))
+                    {
+                        result=true;
+                        break;
+                    }
+
+                }
+
+            }
+        }
+
+        return result;
+    }
+}

+ 20 - 0
alarm-service/src/main/java/com/gyee/alarm/service/auto/ISysUserService.java

@@ -0,0 +1,20 @@
+package com.gyee.alarm.service.auto;
+
+
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.gyee.alarm.model.auto.SysUser;
+
+import java.util.List;
+
+/**
+ * <p>
+ * 用户信息表 服务类
+ * </p>
+ *
+ * @author wang
+ * @since 2023-07-25
+ */
+public interface ISysUserService extends IService<SysUser> {
+
+    public List<String> getUserByuserId(Long userId);
+}

+ 38 - 0
alarm-service/src/main/java/com/gyee/alarm/service/auto/impl/SysUserServiceImpl.java

@@ -0,0 +1,38 @@
+package com.gyee.alarm.service.auto.impl;
+
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.gyee.alarm.mapper.auto.SysUserMapper;
+import com.gyee.alarm.model.auto.SysUser;
+import com.gyee.alarm.service.auto.ISysUserService;
+import com.gyee.common.model.StringUtils;
+import org.springframework.stereotype.Service;
+
+import javax.annotation.Resource;
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * <p>
+ * 用户信息表 服务实现类
+ * </p>
+ *
+ * @author wang
+ * @since 2023-07-25
+ */
+@Service
+public class SysUserServiceImpl extends ServiceImpl<SysUserMapper, SysUser> implements ISysUserService {
+
+    @Resource
+    private SysUserMapper sysUserMapper;
+    public List<String> getUserByuserId(Long userId) {
+
+        List<String> list =new ArrayList<>();
+        if(StringUtils.notEmp(userId) )
+        {
+
+            list = sysUserMapper.getUserByuserId(userId);
+        }
+
+        return list;
+    }
+}

+ 9 - 3
alarm-web/src/main/java/com/gyee/alarm/controller/AlertRuleController.java

@@ -8,6 +8,7 @@ import com.gyee.alarm.model.auto.*;
 import com.gyee.alarm.model.vo.*;
 import com.gyee.alarm.service.AlarmRuleService;
 
+import com.gyee.alarm.service.TokenService;
 import com.gyee.alarm.service.auto.IProEconAlarmTypeService;
 import com.gyee.alarm.util.ExcelUtils;
 import com.gyee.alarm.util.SnowflakeGenerator;
@@ -23,6 +24,8 @@ import lombok.extern.slf4j.Slf4j;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.*;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 import org.springframework.web.multipart.MultipartFile;
 
 import javax.annotation.Resource;
@@ -47,7 +50,8 @@ public class AlertRuleController {
     @Resource
     private IProEconAlarmTypeService proEconAlarmTypeService;
 
-
+    @Resource
+    private TokenService tokenService;
     @GetMapping(value = "/list")
     @ApiOperation(value = "查询报警关联部件名称", notes = "查询报警关联部件名称")
     public AjaxResult queryTree() {
@@ -114,7 +118,8 @@ public class AlertRuleController {
     @ApiOperation(value = "查询场站列表", notes = "查询场站列表")
     public AjaxResult queryWplList() {
 
-        List<ProBasicPowerstation> wpls = CacheContext.wpls;
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicPowerstation> wpls = tokenService.getWpls(request);
 
         if (StringUtils.notEmp(wpls)) {
 
@@ -191,7 +196,8 @@ public class AlertRuleController {
     @ApiOperation(value = "获得升压站列表信息", notes = "获得升压站列表信息")
     public AjaxResult querySublList() {
 
-        List<ProBasicSubStation> subwpls = CacheContext.subwpls;
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicSubStation> subwpls = tokenService.getSubwpls(request);
 
         if (StringUtils.notEmp(subwpls)) {
 

+ 18 - 7
alarm-web/src/main/java/com/gyee/alarm/service/AlarmCtService.java

@@ -9,8 +9,11 @@ import com.gyee.alarm.util.DateUtils;
 import com.gyee.alarm.util.StringUtils;
 
 import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.websocket.EncodeException;
 import java.io.IOException;
 import java.sql.SQLException;
@@ -27,7 +30,8 @@ public class AlarmCtService {
     private IProEconAlarmInfoService proEconAlarmInfoService;
 
 
-
+    @Resource
+    private TokenService tokenService;
 
     public List<AlarmVo> initalAlarmVo() {
 
@@ -66,7 +70,9 @@ public class AlarmCtService {
                 }
             }
         }
-        for (ProBasicEquipment wt : CacheContext.wtls) {
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicEquipment> wtls = tokenService.getWtls(request);
+        for (ProBasicEquipment wt : wtls) {
             StringBuilder sb = new StringBuilder();
             sb.append(wt.getWindpowerstationId() + wt.getModelId());
 
@@ -145,7 +151,10 @@ public class AlarmCtService {
                 }
             }
         }
-        for (ProBasicEquipment wt : CacheContext.wtls) {
+
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicEquipment> wtls = tokenService.getWtls(request);
+        for (ProBasicEquipment wt : wtls) {
             StringBuilder sb = new StringBuilder();
             sb.append(wt.getWindpowerstationId() + wt.getModelId());
 
@@ -209,8 +218,9 @@ public class AlarmCtService {
             alarmls = alarmRulesMap.get(DeviceTypeValue.WP.getCode());
 
         }
-
-        for (ProBasicPowerstation wp : CacheContext.wpls) {
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicPowerstation> wpls = tokenService.getWpls(request);
+        for (ProBasicPowerstation wp : wpls) {
             if (!alarmls.isEmpty()) {
                 for (ProEconAlarmRule alarm : alarmls) {
                     AlarmVo vo = new AlarmVo();
@@ -287,8 +297,9 @@ public class AlarmCtService {
                 }
             }
         }
-
-        for (ProBasicSubStation wp : CacheContext.subwpls) {
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicSubStation> subwpls = tokenService.getSubwpls(request);
+        for (ProBasicSubStation wp : subwpls) {
 
             if (!alarmMap.isEmpty() && alarmMap.containsKey(wp.getId())) {
 

+ 9 - 2
alarm-web/src/main/java/com/gyee/alarm/service/AlarmInService.java

@@ -10,8 +10,11 @@ import com.gyee.alarm.util.StringUtils;
 
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.websocket.EncodeException;
 import java.io.IOException;
 import java.sql.SQLException;
@@ -27,7 +30,8 @@ public class AlarmInService {
     private IProEconAlarmInfoService proEconAlarmInfoService;
     @Value("${initialcode}")
     private String initialcode;
-
+    @Resource
+    private TokenService tokenService;
 
 
     public List<AlarmVo> initalAlarmVo() {
@@ -35,7 +39,10 @@ public class AlarmInService {
         List<AlarmVo> alarmVoList=new ArrayList<>();
         Map<String, List<ProEconAlarmConfiguration>> wtAlarmMap = CacheContext.wtAlarmMap;
         Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = CacheContext.wtpAimap;
-        for (ProBasicEquipment wt : CacheContext.wtls) {
+
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicEquipment> wtls = tokenService.getWtls(request);
+        for (ProBasicEquipment wt : wtls) {
 
             if (wtpAimap.containsKey(wt.getId())) {
                 Map<String, ProBasicEquipmentPoint> pointMap = wtpAimap.get(wt.getId());

+ 7 - 2
alarm-web/src/main/java/com/gyee/alarm/service/AlarmReportService.java

@@ -14,8 +14,11 @@ import com.gyee.alarm.util.DateUtils;
 import com.gyee.alarm.util.SnowflakeGenerator;
 
 import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 
 import java.util.Date;
 import java.util.List;
@@ -30,14 +33,16 @@ public class AlarmReportService {
     @Resource
     private IProBasicEarlyWarnScoreService proBasicEarlyWarnScoreService;
 
-
+    @Resource
+    private TokenService tokenService;
 
     public boolean startCount() throws Exception{
 
 
             Date currentDate = DateUtils.truncate(DateUtils.addDays(new Date(), -1));
             Date endData=DateUtils.truncate(new Date());
-            List<ProBasicEquipment> wtList = CacheContext.wtls;
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicEquipment> wtList = tokenService.getWtls(request);
 
             for (ProBasicEquipment wt : wtList) {
 

+ 8 - 2
alarm-web/src/main/java/com/gyee/alarm/service/AlarmWtService.java

@@ -11,8 +11,11 @@ import com.gyee.alarm.util.StringUtils;
 import org.java_websocket.WebSocket;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
+import org.springframework.web.context.request.RequestContextHolder;
+import org.springframework.web.context.request.ServletRequestAttributes;
 
 import javax.annotation.Resource;
+import javax.servlet.http.HttpServletRequest;
 import javax.websocket.EncodeException;
 import java.io.IOException;
 import java.sql.SQLException;
@@ -29,7 +32,8 @@ public class AlarmWtService {
     @Value("${initialcode}")
     private String initialcode;
 
-
+    @Resource
+    private TokenService tokenService;
 
 
     public List<AlarmVo> initalAlarmVo() {
@@ -37,7 +41,9 @@ public class AlarmWtService {
         List<AlarmVo> alarmVoList=new ArrayList<>();
         Map<String, List<ProEconAlarmConfiguration>> wtAlarmMap = CacheContext.wtAlarmMap;
         Map<String, Map<String, ProBasicEquipmentPoint>> wtpAimap = CacheContext.wtpAimap;
-        for (ProBasicEquipment wt : CacheContext.wtls) {
+        HttpServletRequest request = ((ServletRequestAttributes) (RequestContextHolder.currentRequestAttributes())).getRequest();
+        List<ProBasicEquipment> wtls = tokenService.getWtls(request);
+        for (ProBasicEquipment wt : wtls) {
 
 //            if(wt.getId().contains("SXJ_KGDL_DJY_F_WT_0001_EQ"))
 //            {