zhaowenyu
2025-10-20 fc365c426e431a73d116e5d51deaec667f4864de
ard-work/src/main/java/com/ard/work/component/websocket/handler/BaseSubscriptionManager.java
@@ -23,10 +23,10 @@
    /**
     * 订阅指定设备的数据
     */
    public void subscribe(String boxSn, Long userId,Integer period) {
    public void subscribe(String boxSn, Long userId, Integer period) {
        subscriptions.computeIfAbsent(boxSn, k -> new HashSet<>()).add(userId);
        if (subscriptions.get(boxSn).size() == 1) {
            startPushTask(boxSn,period);
            startPushTask(boxSn, period);
        }
    }
@@ -46,7 +46,7 @@
    /**
     * 启动推送任务
     */
    private void startPushTask(String boxSn,Integer period) {
    private void startPushTask(String boxSn, Integer period) {
        // 如果已经存在任务,则不再创建
        if (pushTasks.containsKey(boxSn)) {
            return;
@@ -79,7 +79,6 @@
    }
    /**
     * 向订阅者发送数据
     */
@@ -90,7 +89,7 @@
        if (userIds != null) {
            for (Long userId : userIds) {
                try {
                    log.warn("给用户{}定时推送",userId);
                    log.debug("给用户{}定时推送", userId);
                    WebSocketUtil.sendMessage(userId, JSON.toJSONString(baseMessage));
                } catch (Exception e) {
                    log.error("Error sending message to session {}", userId, e);