|
|
@@ -0,0 +1,56 @@
|
|
|
+package com.hy.modules.bz.daemon.websocket.impl.tiktok;
|
|
|
+
|
|
|
+import com.alibaba.fastjson.JSON;
|
|
|
+import com.alibaba.fastjson.JSONObject;
|
|
|
+
|
|
|
+/**
|
|
|
+ * tiktok 消息类型
|
|
|
+ */
|
|
|
+public enum MessageTypeEn implements MessageDecoder {
|
|
|
+
|
|
|
+ MEMBER("MemberMessage",MemberMessage.class),
|
|
|
+ CHAT("ChatMessage",ChatMessage.class),
|
|
|
+ LIKE("LikeMessage",LikeMessage.class),
|
|
|
+ GIFT("GiftMessage",GiftMessage.class),;
|
|
|
+
|
|
|
+ private String value;
|
|
|
+
|
|
|
+ private Class<? extends Message> clz;
|
|
|
+
|
|
|
+ MessageTypeEn(String _value,Class<? extends Message> _clz) {
|
|
|
+ value = _value;
|
|
|
+ clz = _clz;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static MessageTypeEn getEnum(String value) {
|
|
|
+ for (MessageTypeEn en : MessageTypeEn.values()) {
|
|
|
+ if (en.value.equals(value)) {
|
|
|
+ return en;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ throw new IllegalArgumentException(value);
|
|
|
+ }
|
|
|
+
|
|
|
+ public String getValue() {
|
|
|
+ return value;
|
|
|
+ }
|
|
|
+
|
|
|
+ public <T extends Message> Class<T> getClz() {
|
|
|
+ return (Class<T>) clz;
|
|
|
+ }
|
|
|
+
|
|
|
+ public static MessageTypeEn fromMessage(String message){
|
|
|
+ JSONObject obj = JSONObject.parseObject(message);
|
|
|
+ String key = "type";
|
|
|
+ if(!obj.containsKey(key)){
|
|
|
+ throw new IllegalArgumentException("");
|
|
|
+ }
|
|
|
+
|
|
|
+ return getEnum(obj.getString(key));
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public <T extends Message> T decode(String message) {
|
|
|
+ return JSON.parseObject(message,getClz());
|
|
|
+ }
|
|
|
+}
|