package chat.module.entity; import chat.user.User; import cn.wildfirechat.proto.WFCMessage; import frame.object.data.DataObject; import frame.object.data.Entity; import frame.object.data.ID; import frame.persist.NamedSQL; import frame.persist.SQLRunner; public class FriendShip { private String id; private String userid; private String friendid; private String statuscode; //private FriendshipStatus status; private String verifytext; private long timestamp; private FriendShip reverseInstance; private WFCMessage.FriendRequest friendRequest; public FriendShip() {} public FriendShip(User user, String friendId, String status) { this.id = ID.newValue(); this.userid = user.getId(); this.friendid = friendId; this.statuscode = status; this.verifytext = "我是" + user.getName(); this.timestamp = System.currentTimeMillis(); } public void load(Entity entity) { id = entity.getString("id"); userid = entity.getString("userid"); friendid = entity.getString("friendid"); //status = FriendshipStatus.parse(entity.getString("statuscode")); statuscode = entity.getString("statuscode"); verifytext = entity.getString("verifytext"); timestamp = Long.parseLong(entity.getString("timestamp")); } public void pushTo(Entity entity) throws Exception { entity.set("id", id); entity.set("userid", userid); entity.set("friendid", friendid); entity.set("statuscode", statuscode); entity.set("verifytext", verifytext); entity.set("timestamp", timestamp); } public void addFriendShipToDataBase() { try { DataObject dataObject = DataObject.getInstance("friendship"); Entity entity = dataObject.newEntity(); pushTo(entity); dataObject.insertToDataBase(entity); } catch(Exception e) { e.printStackTrace(); } } public void updateFriendShipToDataBase(String status) { try { DataObject dataObject = DataObject.getInstance("friendship"); Entity entity = dataObject.newEntity(); pushTo(entity); entity.set("statuscode", status); dataObject.updateToDataBase(entity); } catch(Exception e) { e.printStackTrace(); } } public synchronized FriendShip getReverseInstance() { if (reverseInstance != null) { return reverseInstance; } reverseInstance = new FriendShip(); reverseInstance.id = this.id; reverseInstance.userid = this.friendid; reverseInstance.friendid = this.userid; reverseInstance.statuscode = this.statuscode; reverseInstance.verifytext = this.verifytext; reverseInstance.timestamp = this.timestamp; return reverseInstance; } public String getId() { return id; } public String getUserid() { return userid; } public String getFriendid() { return friendid; } public String getVerifytext() { return verifytext; } public long getTimestamp() { return timestamp; } public WFCMessage.FriendRequest getFriendRequest() { return friendRequest; } public void setFriendRequest(WFCMessage.FriendRequest friendRequest) { this.friendRequest = friendRequest; } }