package chat.handler.data;
|
|
import java.util.ArrayList;
|
import java.util.Base64;
|
import java.util.HashMap;
|
import java.util.List;
|
import java.util.Map;
|
|
import chat.user.User;
|
import chat.user.UserStore;
|
import cn.wildfirechat.proto.WFCMessage;
|
import cn.wildfirechat.proto.WFCMessage.Message;
|
import cn.wildfirechat.proto.WFCMessage.UserResult;
|
|
public class DataList {
|
|
private static List<FriendData> friendList;
|
private static List<WFCMessage.Message> messageList;
|
private static Map<String, WFCMessage.UserResult> userMap;
|
private static WFCMessage.UserResult currentUserInfo;
|
public static long timestamp;
|
|
static {
|
timestamp = System.currentTimeMillis();
|
|
//1. friend list
|
friendList = new ArrayList<FriendData>();
|
|
// friendList.add(new FriendData("user000", "user001", "朋友1别名", null, 0, 0, timestamp));
|
// friendList.add(new FriendData("user000", "user002", "朋友2别名", null, 0, 0, timestamp));
|
// friendList.add(new FriendData("user000", "user003", "朋友3别名", null, 0, 0, timestamp));
|
// friendList.add(new FriendData("user000", "user004", "朋友4别名", null, 0, 0, timestamp));
|
|
//2. message list
|
messageList = new ArrayList<WFCMessage.Message>();
|
|
WFCMessage.Message message0 = createOneMessage(202101109876543201L, "user001");
|
messageList.add(message0);
|
|
// WFCMessage.Message message1 = createOneMessage(202101109876543202L, "user001");
|
// messageList.add(message1);
|
|
WFCMessage.Message message2 = createOneMessage(202101109876543203L, "user002");
|
messageList.add(message2);
|
|
WFCMessage.Message message3 = createOneMessage(202101109876543204L, "user003");
|
messageList.add(message3);
|
|
WFCMessage.Message message4 = createOneMessage(202101109876543204L, "user004");
|
messageList.add(message4);
|
|
//3. user list
|
userMap = new HashMap<String, WFCMessage.UserResult>();
|
// currentUserInfo = createUserInfo("user000", "user000", "usera000", "http://cdn2.wildfirechat.cn/robot.png", "13636388405");
|
// WFCMessage.UserResult user1 = createUserInfo("user001", "user001", "usera001", "http://cdn2.wildfirechat.cn/robot.png", "13600000001");
|
// WFCMessage.UserResult user2 = createUserInfo("user002", "user002", "usera002", "http://cdn2.wildfirechat.cn/robot.png", "13600000002");
|
// WFCMessage.UserResult user3 = createUserInfo("user003", "user003", "usera003", "http://cdn2.wildfirechat.cn/robot.png", "13600000003");
|
// WFCMessage.UserResult user4 = createUserInfo("user004", "user004", "user004", "http://cdn2.wildfirechat.cn/robot.png", "13600000004");
|
|
// userMap.put("user000", currentUserInfo);
|
// userMap.put("user001", user1);
|
// userMap.put("user002", user2);
|
// userMap.put("user003", user3);
|
// userMap.put("user004", user4);
|
}
|
|
public static List<FriendData> getFriendList() {
|
return friendList;
|
}
|
|
public static List<WFCMessage.Message> getMessageList() {
|
return messageList;
|
}
|
|
public static WFCMessage.UserResult getUserInfo() {
|
return currentUserInfo;
|
}
|
|
private static Message createOneMessage(long messageId, String userId) {
|
WFCMessage.Message message = null;
|
|
try {
|
WFCMessage.Message.Builder builder = WFCMessage.Message.newBuilder();
|
|
builder.setMessageId(messageId);
|
builder.setFromUser(userId);
|
|
WFCMessage.Conversation.Builder cb = WFCMessage.Conversation.newBuilder();
|
cb.setType(0);
|
//cb.setTarget("user000");
|
cb.setTarget("user000");
|
cb.setLine(0);
|
builder.setConversation(cb.build());
|
|
WFCMessage.MessageContent.Builder contentBuilder = WFCMessage.MessageContent.newBuilder();
|
contentBuilder.setType(1);
|
String str = "this is " + userId + "say 测试: Hello!!!";
|
byte[] bytes = str.getBytes();
|
bytes = Base64.getEncoder().encode(bytes);
|
//ByteString byteString = ByteString.copyFromUtf8(str);
|
//contentBuilder.setSearchableContentBytes(byteString);
|
contentBuilder.setSearchableContent(str);
|
contentBuilder.setMediaType(0);
|
contentBuilder.setPersistFlag(0);
|
contentBuilder.setExpireDuration(0);
|
contentBuilder.setMentionedType(0);
|
WFCMessage.MessageContent messageContent = contentBuilder.build();
|
builder.setContent(messageContent);
|
|
builder.setServerTimestamp(timestamp);
|
|
message = builder.build();
|
}
|
catch (Exception e) {
|
e.printStackTrace();
|
}
|
|
return message;
|
}
|
|
private static UserResult createUserInfo(String userId, String name, String displayName, String portrait, String mobile) {
|
//1. create user
|
User user = new User(userId);
|
user.setName(name);
|
user.setDisplayName(displayName);
|
user.setPortrait(portrait);
|
user.setMobile(mobile);
|
|
//2. add to store
|
UserStore.addOne(user);
|
|
//3. to user result
|
WFCMessage.UserResult userResult = user.toWFCUserResult();
|
|
return userResult;
|
}
|
|
public static UserResult getUser(String uid) {
|
WFCMessage.UserResult user = userMap.get(uid);
|
return user;
|
}
|
|
}
|