package chat.module;
|
|
import java.util.ArrayList;
|
import java.util.List;
|
import java.util.UUID;
|
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
|
import chat.module.entity.Group;
|
import chat.module.entity.FriendRequest;
|
import chat.module.entity.Member;
|
import chat.module.entity.MessageRecord;
|
import chat.user.User;
|
import cn.wildfirechat.proto.WFCMessage;
|
import cn.wildfirechat.proto.WFCMessage.UserRequest;
|
import frame.object.data.DataObject;
|
import frame.object.data.Entity;
|
import frame.object.data.ID;
|
|
|
public class FriendRequstBucket extends Bucket<FriendRequest> {
|
|
private static FriendRequstBucket instance;
|
private static final Logger LOG = LoggerFactory.getLogger(FriendRequstBucket.class);
|
|
public static synchronized FriendRequstBucket getInstance() {
|
if (instance == null) {
|
instance = new FriendRequstBucket();
|
}
|
|
return instance;
|
}
|
|
public static String getUUID() {
|
UUID uuid = UUID.randomUUID();
|
String str = uuid.toString();
|
str = str.replace("-", "");
|
return str;
|
}
|
|
public void createFriendRequest(String userId, WFCMessage.AddFriendRequest request, long[] head) throws Exception {
|
//1. get group from cache
|
FriendRequest friendRequest = getOne(userId);
|
|
//2. create new group
|
if (friendRequest == null) {
|
friendRequest = new FriendRequest(userId, request.getTargetUid());
|
friendRequest.load(request);
|
|
createOneFriendRequest(friendRequest);
|
addOne(userId, friendRequest);
|
}
|
|
//3. create hello message
|
//MessageRecord record = MessageRecord.getTextInstance(sender.getName() + "拉你入群", sender);
|
//friendGroup.addOneMessage(record, sender);
|
|
//4. send message to members
|
// friendGroup.publishOneMessage(record, sender, true, content);
|
|
//5. return
|
}
|
|
private void createOneFriendRequest(FriendRequest friendRequest) throws Exception {
|
DataObject dataObject;
|
Entity entity;
|
|
//1. insert group
|
dataObject = DataObject.getInstance("friend_request");
|
|
entity = dataObject.newEntity();
|
friendRequest.pushTo(entity);
|
|
dataObject.insertToDataBase(entity);
|
}
|
|
}
|