/**
 * 
 */
package org.jim.common.packets;

import java.util.List;

/**
 * 群组是临时性的; 客户/游客每一次 和 客服 聊天 都会创建一个在线群组
 * 但是有例外: 当客户去与认领该客户的客服聊天时,该客服不在线,则创建离线群组
 * 离线群组不删除,在线群组删除(每创建一次群组,都会创建一次会话,群组id 就是 会话id )
 * 群组主键id 和 会话主键id 一致
 * 版本: [1.0]
 * 功能说明: 
 * 作者: WChao 创建时间: 2017年9月21日 下午1:54:04
 */
public class Group extends Message{
	
	private static final long serialVersionUID = -3817755433171220952L;

	/**
	 * 群租id
	 */
	private String group_id;

	/**
	 * 群组名称;
	 */
	private String name;

	/**
	 * 群组头像;
	 */
	private String avatar;

	/**
	 * 在线人数;
	 */
	private Integer online;

	/**
	 * 组用户;
	 */
	private List<User> users;

	/**
	 * sw_service_account_role_department_middle 表主键id
	 */
	private String serviceAccountRoleDepartmentId;

	/**
	 * 游客(visitorDepartmentId) 或者 客户(customerDepartmentId)
	 */
	private String consumerId;

	/**
	 * 群组类型 0:游客-客服 类型 1:客户-客服 类型
	 */
	private Integer groupType;

	/**
	 * 平台id
	 */
	private String companyId;

	/**
	 * 部门id
	 */
	private String departmentId;

	/**
	 * 每一次对话 生成新的 会话id 不保存到群组中
	 */
	private String conversationId;

	public Group(){}
	public Group(String group_id , String name){
		this.group_id = group_id;
		this.name = name;
	}

	public String getConversationId() {
		return conversationId;
	}

	public void setConversationId(String conversationId) {
		this.conversationId = conversationId;
	}

	public String getCompanyId() {
		return companyId;
	}

	public void setCompanyId(String companyId) {
		this.companyId = companyId;
	}

	public String getDepartmentId() {
		return departmentId;
	}

	public void setDepartmentId(String departmentId) {
		this.departmentId = departmentId;
	}

	public String getServiceAccountRoleDepartmentId() {
		return serviceAccountRoleDepartmentId;
	}

	public void setServiceAccountRoleDepartmentId(String serviceAccountRoleDepartmentId) {
		this.serviceAccountRoleDepartmentId = serviceAccountRoleDepartmentId;
	}

	public String getConsumerId() {
		return consumerId;
	}

	public void setConsumerId(String consumerId) {
		this.consumerId = consumerId;
	}

	public Integer getGroupType() {
		return groupType;
	}

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

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	public String getAvatar() {
		return avatar;
	}
	public void setAvatar(String avatar) {
		this.avatar = avatar;
	}
	public Integer getOnline() {
		return online;
	}
	public void setOnline(Integer online) {
		this.online = online;
	}
	public List<User> getUsers() {
		return users;
	}
	public void setUsers(List<User> users) {
		this.users = users;
	}
	public String getGroup_id() {
		return group_id;
	}
	public void setGroup_id(String group_id) {
		this.group_id = group_id;
	}
}
