PC
2024-03-31 8c9ba6667b89cc0494d05b5da4355dde205b8d4a
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
package com.qianwen.smartman.modules.notify.websocket;
 
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import io.jsonwebtoken.Claims;
import java.lang.invoke.SerializedLambda;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import com.qianwen.core.jwt.JwtUtil;
import com.qianwen.core.secure.utils.AuthUtil;
import com.qianwen.core.websocket.config.WebSocketMessageSender;
import com.qianwen.core.websocket.handler.JsonMessageHandler;
import com.qianwen.smartman.modules.notify.service.INotifySystemService;
import org.springframework.stereotype.Component;
import org.springframework.web.socket.WebSocketSession;
 
@Component
/* loaded from: blade-api.jar:BOOT-INF/classes/org/springblade/modules/notify/websocket/InternalMessageDataJsonMessageHandler.class */
public class InternalMessageDataJsonMessageHandler implements JsonMessageHandler<InternalMessageRequestJsonWebSocketMessage> {
    private static final Logger log = LoggerFactory.getLogger(InternalMessageDataJsonMessageHandler.class);
    private INotifySystemService notifySystemService;
 
    private static /* synthetic */ Object $deserializeLambda$(SerializedLambda lambda) {
        String implMethodName = lambda.getImplMethodName();
        boolean z = true;
        switch (implMethodName.hashCode()) {
            case -1462639958:
                if (implMethodName.equals("getNotifyUser")) {
                    z = false;
                    break;
                }
                break;
            case 803533544:
                if (implMethodName.equals("getStatus")) {
                    z = true;
                    break;
                }
                break;
        }
        switch (z) {
            case false:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/modules/notify/entity/NotifySystem") && lambda.getImplMethodSignature().equals("()Ljava/lang/String;")) {
                    return (v0) -> {
                        return v0.getNotifyUser();
                    };
                }
                break;
            case true:
                if (lambda.getImplMethodKind() == 5 && lambda.getFunctionalInterfaceClass().equals("com/baomidou/mybatisplus/core/toolkit/support/SFunction") && lambda.getFunctionalInterfaceMethodName().equals("apply") && lambda.getFunctionalInterfaceMethodSignature().equals("(Ljava/lang/Object;)Ljava/lang/Object;") && lambda.getImplClass().equals("org/springblade/core/mp/base/BaseEntity") && lambda.getImplMethodSignature().equals("()Ljava/lang/Integer;")) {
                    return (v0) -> {
                        return v0.getStatus();
                    };
                }
                break;
        }
        throw new IllegalArgumentException("Invalid lambda deserialization");
    }
 
    public InternalMessageDataJsonMessageHandler(final INotifySystemService notifySystemService) {
        this.notifySystemService = notifySystemService;
    }
 
    public void handle(WebSocketSession session, InternalMessageRequestJsonWebSocketMessage message) {
        try {
            String uri = session.getUri().getQuery();
            Claims claims = AuthUtil.parseJWT(JwtUtil.getToken(uri.substring(uri.lastIndexOf("=") + 1)));
            long unNotificationCount = this.notifySystemService.count((Wrapper) ((LambdaQueryWrapper) Wrappers.lambdaQuery().ne((v0) -> {
                return v0.getStatus();
            }, 1)).eq((v0) -> {
                return v0.getNotifyUser();
            }, claims.get("user_id")));
            InternalMessageResponseJsonWebSocketMessage internalMessageResponseJsonWebSocketMessage = new InternalMessageResponseJsonWebSocketMessage();
            internalMessageResponseJsonWebSocketMessage.setHaveUnread(unNotificationCount > 0);
            WebSocketMessageSender.send(session, internalMessageResponseJsonWebSocketMessage);
        } catch (Exception e) {
            log.error("消息通知websocket连接异常,异常信息为", e);
        }
    }
 
    public String type() {
        return "internalMessageData";
    }
 
    public Class<InternalMessageRequestJsonWebSocketMessage> getMessageClass() {
        return InternalMessageRequestJsonWebSocketMessage.class;
    }
}