package chat.module.entity; import chat.user.User; import chat.user.UserStore; import cn.wildfirechat.proto.WFCMessage; import cn.wildfirechat.proto.WFCMessage.GroupMember; import frame.object.data.Entity; import frame.object.data.ID; public class Member { private String id; private String spaceid; private String spacecode; private String userid; private String alias; private String statuscode; private int rolecode; private long timestamp; private String ismute; private String isforbidden; private User user; private WFCMessage.GroupMember wfcMember; public Member(String containerId, String typecode) { this.id = ID.newValue(); this.spaceid = containerId; this.spacecode = typecode; this.timestamp = System.currentTimeMillis(); } public Member(String spaceId, User user) { this.id = ID.newValue(); this.spaceid = spaceId; this.spacecode = "Private"; this.userid = user.getId(); this.alias = user.getName(); this.statuscode = "Open"; this.rolecode = 0; this.timestamp = System.currentTimeMillis(); this.ismute = "F"; this.isforbidden = "F"; } public void load(Entity entity) throws Exception { id = entity.getString("id"); spaceid = entity.getString("spaceid"); spacecode = entity.getString("spacecode"); userid = entity.getString("userid"); alias = entity.getString("alias"); statuscode = entity.getString("statuscode"); rolecode = entity.getInteger("rolecode"); timestamp = Long.parseLong(entity.getString("timestamp")); ismute = entity.getString("ismute"); isforbidden = entity.getString("isforbidden"); } public void load(GroupMember groupMember) { alias = groupMember.getAlias(); userid = groupMember.getMemberId(); rolecode = groupMember.getType(); } public void pushTo(Entity entity) throws Exception { entity.set("id", id); entity.set("spaceid", spaceid); entity.set("spacecode", spacecode); entity.set("userid", userid); entity.set("alias", alias); entity.set("statuscode", "Open"); entity.set("rolecode", rolecode); entity.set("timestamp", timestamp); entity.set("ismute", ismute); entity.set("isforbidden", isforbidden); } public User getUser() { return UserStore.getById(userid); } public String getAlias() { return alias; } public WFCMessage.GroupMember toWFCMember() { if (wfcMember != null) { synchronized (this) { if (wfcMember != null) { return wfcMember; } } } WFCMessage.GroupMember.Builder builder = WFCMessage.GroupMember.newBuilder(); builder.setAlias(alias); builder.setMemberId(userid); builder.setType(rolecode); return wfcMember; } public String getId() { return id; } public String getUserId() { return userid; } public String getSpaceid() { return spaceid; } public void setSpaceid(String spaceid) { this.spaceid = spaceid; } public String getSpacecode() { return spacecode; } public void setSpacecode(String spacecode) { this.spacecode = spacecode; } public int getRolecode() { return rolecode; } public void setRolecode(int rolecode) { this.rolecode = rolecode; } }