fix json type
This commit is contained in:
parent
07af183e7f
commit
c0bd1fe6df
|
|
@ -1,27 +1,35 @@
|
|||
package com.zhangshu.chat.demo.constant;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonCreator;
|
||||
import com.fasterxml.jackson.annotation.JsonValue;
|
||||
import lombok.AllArgsConstructor;
|
||||
import lombok.Getter;
|
||||
|
||||
import java.util.Arrays;
|
||||
|
||||
@Getter
|
||||
@AllArgsConstructor
|
||||
public enum EAgoraEventType {
|
||||
|
||||
channel_create(101,"channel create","创建频道"),
|
||||
channel_destroy(102,"channel destroy","销毁频道"),
|
||||
broadcaster_join_channel(103,"broadcaster join channel","直播场景下,主播加入频道"),
|
||||
broadcaster_leave_channel(104,"broadcaster leave channel","直播场景下,主播离开频道"),
|
||||
audience_join_channel(105,"audience join channel","直播场景下,观众加入频道"),
|
||||
audience_leave_channel(106,"audience leave channel","直播场景下,观众离开频道"),
|
||||
user_join_channel_with_communication_mode(107,"user join channel with communication mode","通信场景下,用户加入频道"),
|
||||
user_leave_channel_with_communication_mode(108,"user leave channel with communication mode","通信场景下,用户离开频道"),
|
||||
client_role_change_to_broadcaster(111,"client role change to broadcaster","直播场景下,观众将角色切换为主播"),
|
||||
client_role_change_to_audience(112,"client role change to audience","直播场景下,主播将角色切换为观众"),
|
||||
channel_create(101, "channel create", "创建频道"),
|
||||
channel_destroy(102, "channel destroy", "销毁频道"),
|
||||
broadcaster_join_channel(103, "broadcaster join channel", "直播场景下,主播加入频道"),
|
||||
broadcaster_leave_channel(104, "broadcaster leave channel", "直播场景下,主播离开频道"),
|
||||
audience_join_channel(105, "audience join channel", "直播场景下,观众加入频道"),
|
||||
audience_leave_channel(106, "audience leave channel", "直播场景下,观众离开频道"),
|
||||
user_join_channel_with_communication_mode(107, "user join channel with communication mode", "通信场景下,用户加入频道"),
|
||||
user_leave_channel_with_communication_mode(108, "user leave channel with communication mode", "通信场景下,用户离开频道"),
|
||||
client_role_change_to_broadcaster(111, "client role change to broadcaster", "直播场景下,观众将角色切换为主播"),
|
||||
client_role_change_to_audience(112, "client role change to audience", "直播场景下,主播将角色切换为观众"),
|
||||
;
|
||||
|
||||
@JsonValue
|
||||
private final int type;
|
||||
private final String name;
|
||||
private final String description;
|
||||
|
||||
@JsonCreator
|
||||
public static EAgoraEventType getByType(int type) {
|
||||
return Arrays.stream(EAgoraEventType.values()).filter(v -> v.type == type).findFirst().orElse(channel_create);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,23 @@
|
|||
package com.zhangshu.chat.demo;
|
||||
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.zhangshu.chat.demo.constant.EAgoraEventType;
|
||||
import com.zhangshu.chat.demo.dto.AgoraEventDto;
|
||||
import lombok.SneakyThrows;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class EventTest {
|
||||
@Test
|
||||
@SneakyThrows
|
||||
public void test() {
|
||||
String str = "{\"eventType\":101}";
|
||||
ObjectMapper mapper = new ObjectMapper();
|
||||
// AgoraEventDto agoraEventDto = mapper.readValue(str, AgoraEventDto.class);
|
||||
AgoraEventDto agoraEventDto = new AgoraEventDto();
|
||||
agoraEventDto.setEventType(EAgoraEventType.audience_join_channel);
|
||||
String s = mapper.writeValueAsString(agoraEventDto);
|
||||
System.out.println(s);
|
||||
AgoraEventDto agoraEventDto2 = mapper.readValue(s, AgoraEventDto.class);
|
||||
System.out.println(mapper.writeValueAsString(agoraEventDto2));
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue