package com.qxueyou.scc.msg.model;
|
|
import java.io.Serializable;
|
import java.util.Date;
|
import java.util.List;
|
|
import javax.persistence.CascadeType;
|
import javax.persistence.Column;
|
import javax.persistence.Entity;
|
import javax.persistence.FetchType;
|
import javax.persistence.GeneratedValue;
|
import javax.persistence.Id;
|
import javax.persistence.JoinColumn;
|
import javax.persistence.JoinTable;
|
import javax.persistence.Lob;
|
import javax.persistence.ManyToMany;
|
import javax.persistence.NamedQuery;
|
import javax.persistence.Table;
|
import javax.persistence.Transient;
|
|
import org.hibernate.annotations.CollectionId;
|
import org.hibernate.annotations.GenericGenerator;
|
import org.hibernate.annotations.Type;
|
|
import com.qxueyou.scc.base.model.ITrace;
|
import com.qxueyou.scc.base.util.UUIDUtils;
|
import com.fasterxml.jackson.annotation.JsonIgnore;
|
|
|
/**
|
* 消息群表 实体
|
* @author ody.yuan
|
*
|
*/
|
@Entity
|
@Table(name="msg_group")
|
@NamedQuery(name="MsgGroup.findAll", query="SELECT m FROM MsgGroup m")
|
public class MsgGroup implements Serializable,ITrace {
|
private static final long serialVersionUID = 1L;
|
|
/** 群ID */
|
@Id
|
@Column(name="GROUP_ID", unique=true, nullable=false, length=32)
|
private String groupId;
|
|
/**
|
* 环信群组ID
|
*/
|
@Column(name="EASEMOB_GROUP_ID", length=32)
|
private String easmobGroupId;
|
|
/** 创建者ID */
|
@Column(name="CREATE_ID", nullable=false, length=32)
|
private String createId;
|
|
/** 创建时间 */
|
@Column(name="CREATE_TIME", nullable=false)
|
private Date createTime;
|
|
/** 创建人 */
|
@Column(name="CREATOR", nullable=false, length=100)
|
private String creator;
|
|
/** 删除标志 */
|
@Column(name="DELETE_FLAG", nullable=false)
|
private boolean deleteFlag;
|
|
/** 描述 */
|
@Column(name="DESCRIPTION", length=2000)
|
private String description;
|
|
/** 名称 */
|
@Column(name="NAME", length=64)
|
private String name;
|
|
/** 头像 */
|
@Lob
|
@Column(name="PORTRIAIT",length=512)
|
private String portriait;
|
|
/** 修改人ID */
|
@Column(name="UPDATE_ID", length=32)
|
private String updateId;
|
|
/** 修改时间 */
|
@Column(name="UPDATE_TIME", nullable=false)
|
private Date updateTime;
|
|
/** 修改人 */
|
@Column(name="UPDATOR",length=100)
|
private String updator;
|
|
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
|
@JoinTable(name = "msg_group_user_re", joinColumns = {
|
@JoinColumn(name = "GROUP_ID") },
|
inverseJoinColumns = { @JoinColumn(name = "USER_ID") })
|
@GeneratedValue(generator = "hibernate-uuid")
|
@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
|
@CollectionId(
|
columns = @Column(name="RELATION_ID"),
|
type=@Type(type="string"),
|
generator = "hibernate-uuid"
|
)
|
@JsonIgnore
|
private List<MsgUser> users;
|
|
@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)
|
@JoinTable(name = "msg_group_admin", joinColumns = {
|
@JoinColumn(name = "GROUP_ID") },
|
inverseJoinColumns = { @JoinColumn(name = "USER_ID") })
|
@GeneratedValue(generator = "hibernate-uuid")
|
@GenericGenerator(name = "hibernate-uuid", strategy = "uuid")
|
@CollectionId(
|
columns = @Column(name="GROUP_ADMIN_ID"),
|
type=@Type(type="string"),
|
generator = "hibernate-uuid"
|
)
|
@JsonIgnore
|
private List<MsgUser> admins;
|
|
@Transient
|
private int msgUserCount;
|
|
public int getMsgUserCount() {
|
return msgUserCount;
|
}
|
|
public void setMsgUserCount(int msgUserCount) {
|
this.msgUserCount = msgUserCount;
|
}
|
|
public List<MsgUser> getUsers() {
|
return users;
|
}
|
|
public void setUsers(List<MsgUser> users) {
|
this.users = users;
|
}
|
|
public String getNameInitial(){
|
// return name!=null?"#".concat(Unidecode.initials(name.substring(0, 1))):"";
|
return name!=null?"#".concat(UUIDUtils.generateShortUuid()):"";
|
}
|
|
public MsgGroup() {
|
}
|
|
public String getGroupId() {
|
return this.groupId;
|
}
|
|
public void setGroupId(String groupId) {
|
this.groupId = groupId;
|
}
|
|
public String getCreateId() {
|
return this.createId;
|
}
|
|
public void setCreateId(String createId) {
|
this.createId = createId;
|
}
|
|
public Date getCreateTime() {
|
return this.createTime;
|
}
|
|
|
public String getCreator() {
|
return this.creator;
|
}
|
|
public void setCreator(String creator) {
|
this.creator = creator;
|
}
|
|
public String getDescription() {
|
return this.description;
|
}
|
|
public void setDescription(String description) {
|
this.description = description;
|
}
|
|
public String getName() {
|
return this.name;
|
}
|
|
public void setName(String name) {
|
this.name = name;
|
}
|
|
public String getPortriait() {
|
return this.portriait;
|
}
|
|
public void setPortriait(String portriait) {
|
this.portriait = portriait;
|
}
|
|
public String getUpdateId() {
|
return this.updateId;
|
}
|
|
public void setUpdateId(String updateId) {
|
this.updateId = updateId;
|
}
|
|
public Date getUpdateTime() {
|
return this.updateTime;
|
}
|
|
public String getUpdator() {
|
return this.updator;
|
}
|
|
public void setUpdator(String updator) {
|
this.updator = updator;
|
}
|
|
|
public void setDeleteFlag(boolean deleteFlag) {
|
this.deleteFlag = deleteFlag;
|
}
|
|
@Override
|
public void setCreateTime(java.util.Date createTime) {
|
this.createTime = createTime;
|
|
}
|
|
@Override
|
public boolean getDeleteFlag() {
|
return this.deleteFlag;
|
}
|
|
@Override
|
public void setUpdateTime(java.util.Date updateTime) {
|
this.updateTime = updateTime;
|
}
|
|
public List<MsgUser> getAdmins() {
|
return admins;
|
}
|
|
public void setAdmins(List<MsgUser> admins) {
|
this.admins = admins;
|
}
|
|
public int getUserCount(){
|
return this.users.size();
|
}
|
|
public String getEasmobGroupId() {
|
return easmobGroupId;
|
}
|
|
public void setEasmobGroupId(String easmobGroupId) {
|
this.easmobGroupId = easmobGroupId;
|
}
|
}
|