package com.ym.mec.biz.dal.entity;

import com.ym.mec.common.entity.BaseEntity;
import com.ym.mec.common.enums.BaseEnum;
import org.apache.commons.lang3.builder.ToStringBuilder;

/**
 * 对应数据库表(im_group):
 */
public class ImGroup extends BaseEntity {

	/**  */
	private String id;
	
	/** 群名称 */
	private String name;
	
	/** 群介绍 */
	private String introduce;
	
	/** 群成员数 */
	private Integer memberNum;
	
	/** 群备注 */
	private String memo;
	
	/** 群标签 */
	private String tags;
	
	private String img;

	/** 乐团群 MUSIC，班级群 CLASS，训练营 TRAINING */
	private String type;

	public enum GroupTypeEnum implements BaseEnum<String,GroupTypeEnum> {
		NORMAL("NORMAL", "普通班级"), MIX("MIX", "合奏班级"), HIGH("HIGH", "提高班"),
		VIP("VIP", "vip课"), DEMO("DEMO", "试听课"), PRACTICE("PRACTICE", "网管课"),
		SNAP("SNAP","临时班级"), COMM("COMM", "对外课程"), HIGH_ONLINE("HIGH_ONLINE", "网络基础训练课"),
		MUSIC_NETWORK("MUSIC_NETWORK","乐团网管课"),PARENT_MEETING("PARENT_MEETING","家长会"),
		TRAINING("TRAINING","训练营"),REPERTOIRE_PLAY("REPERTOIRE_PLAY","曲目演奏课");

		private String code;

		private String msg;

		GroupTypeEnum(String code, String msg) {
			this.code = code;
			this.msg = msg;
		}

		public void setCode(String code) {
			this.code = code;
		}

		public String getMsg() {
			return msg;
		}

		public void setMsg(String msg) {
			this.msg = msg;
		}

		@Override
		public String getCode() {
			return this.code;
		}
	}

	//群类型
	private GroupTypeEnum groupType;

	public GroupTypeEnum getGroupType() {
		return groupType;
	}

	public void setGroupType(GroupTypeEnum groupType) {
		this.groupType = groupType;
	}

	/**  */
	private java.util.Date createTime;
	
	/**  */
	private java.util.Date updateTime;
	
	public void setId(String id){
		this.id = id;
	}
	
	public String getId(){
		return this.id;
	}
			
	public void setName(String name){
		this.name = name;
	}
	
	public String getName(){
		return this.name;
	}
			
	public void setIntroduce(String introduce){
		this.introduce = introduce;
	}
	
	public String getIntroduce(){
		return this.introduce;
	}
			
	public void setMemberNum(Integer memberNum){
		this.memberNum = memberNum;
	}
	
	public Integer getMemberNum(){
		return this.memberNum;
	}
			
	public void setMemo(String memo){
		this.memo = memo;
	}
	
	public String getMemo(){
		return this.memo;
	}
			
	public void setTags(String tags){
		this.tags = tags;
	}
	
	public String getTags(){
		return this.tags;
	}
			
	public String getImg() {
		return img;
	}

	public void setImg(String img) {
		this.img = img;
	}

	public String getType() {
		return type;
	}

	public void setType(String type) {
		this.type = type;
	}

	public void setCreateTime(java.util.Date createTime){
		this.createTime = createTime;
	}
	
	public java.util.Date getCreateTime(){
		return this.createTime;
	}
			
	public void setUpdateTime(java.util.Date updateTime){
		this.updateTime = updateTime;
	}
	
	public java.util.Date getUpdateTime(){
		return this.updateTime;
	}
			
	@Override
	public String toString() {
		return ToStringBuilder.reflectionToString(this);
	}

}
