package com.sobot.common.login.model;

import com.sobot.gson.annotations.Expose;
import com.sobot.gson.annotations.SerializedName;

import java.io.Serializable;
import java.util.List;
import java.util.Map;

public class LoginUserEntity implements Serializable {

    private static final long serialVersionUID = 1L;
    private String loginAccount;    //登录账号
    private String loginPwd;    //登录密码
    private String tempId;    //客服temp-id
    private String nickName;    //客服昵称
    private String staffName;    //客服名称
    private int maxServiceCount;    //最大接待量
    private int blackFunction = 1;    //是否有拉黑权限   0 没有  1  有
    private int transferFunction = 1;    //是否有转接权限   0 没有  1  有
    private String face; //头像url
    private int status; //账号状态 1正常0登录邮箱或密码不正确 2用户已在pc端登录
    private String companyId;//sysNum
    private String appKey;
    private String sid;
    private String pu;
    private String puid;
    private String token;
    private int imFlag;//0是工单客服  1是在线客服
    private int cusRoleId;//身份id  3333：超级管理员；1111：在线客服；2222：管理员
    private String cusRoleName;//身份名称 客服身份
    private String aid;//userid
    private int topFlag;//星标置顶 0不置顶 1置顶
    private int sortFlag;//会话排序 0 按接入顺序 1 按新消息时间
    private String centerNumber;//如果不为空，说明开通了呼叫功能
    private int fuseWork;//1-存在融合工作台，使用新版服务总计 0-没有融合工作台
    /**
     * 1 账号开通v6；其它是v1
     */
    private int callV6Flag;
    private int callV1Flag;//是否是V1,方便做那个呼叫v1/v6切换的功能
    private Map<String, Boolean> ticketFunction;//1222 可删除工单 ;1223 可删除工单回复;1224 可关闭工单; 1225 可激活工单 1230 工单操作历史权限
    // 1231-工单状态 ; 1611-查看App客户中心
    private int transferAuditFlag;//转接审核开关 0关闭  1开启
    private String companyName;//公司名称
    private String accountStatus;//企业账号版本：旗舰版

    private String kbVersion;//智能回复，查询版本v6/v1

    private String language;//国际化指定语言 3.1.3新增 为空时，默认中文

    private String access_token;//呼叫v6

    public static final String ACCESS_TOKEN = "access_token";//呼叫v6 accessToken

    private long login_time;//登录时间戳

    public static final String LOGIN_TIME = "login_time";

    public String getCompanyName() {
        return companyName;
    }

    public void setCompanyName(String companyName) {
        this.companyName = companyName;
    }

    public String getAccountStatus() {
        return accountStatus;
    }

    public void setAccountStatus(String accountStatus) {
        this.accountStatus = accountStatus;
    }

    @Expose
    @SerializedName("wslink.bak")
    private List<String> wslinkBak;//通道地址

    @Expose
    @SerializedName("wslink.default")
    private String wslinkDefault;//通道默认地址

    public String getAid() {
        return aid;
    }

    public void setAid(String aid) {
        this.aid = aid;
    }

    public int getBlackFunction() {
        return blackFunction;
    }

    public void setBlackFunction(int blackFunction) {
        this.blackFunction = blackFunction;
    }

    public int getTransferFunction() {
        return transferFunction;
    }

    public void setTransferFunction(int transferFunction) {
        this.transferFunction = transferFunction;
    }

    public List<String> getWslinkBak() {
        return wslinkBak;
    }

    public void setWslinkBak(List<String> wslinkBak) {
        this.wslinkBak = wslinkBak;
    }

    public String getWslinkDefault() {
        return wslinkDefault;
    }

    public void setWslinkDefault(String wslinkDefault) {
        this.wslinkDefault = wslinkDefault;
    }

    public int getCusRoleId() {
        return cusRoleId;
    }

    public void setCusRoleId(int cusRoleId) {
        this.cusRoleId = cusRoleId;
    }

    public String getCusRoleName() {
        return cusRoleName;
    }

    public void setCusRoleName(String cusRoleName) {
        this.cusRoleName = cusRoleName;
    }

    public String getToken() {
        return token;
    }

    public void setToken(String token) {
        this.token = token;
    }

    public int isImFlag() {
        return imFlag;
    }

    public void setImFlag(int imFlag) {
        this.imFlag = imFlag;
    }

    public String getPu() {
        return pu;
    }

    public void setPu(String pu) {
        this.pu = pu;
    }

    public String getPuid() {
        return puid;
    }

    public void setPuid(String puid) {
        this.puid = puid;
    }

    public String getTempId() {
        return tempId;
    }

    public void setTempId(String tempId) {
        this.tempId = tempId;
    }

    public String getNickName() {
        return nickName;
    }

    public void setNickName(String nickName) {
        this.nickName = nickName;
    }

    public String getStaffName() {
        return staffName;
    }

    public void setStaffName(String staffName) {
        this.staffName = staffName;
    }

    public int getMaxServiceCount() {
        return maxServiceCount;
    }

    public void setMaxServiceCount(int maxServiceCount) {
        this.maxServiceCount = maxServiceCount;
    }

    public String getFace() {
        return face;
    }

    public void setFace(String face) {
        this.face = face;
    }

    public int getStatus() {
        return status;
    }

    public void setStatus(int status) {
        this.status = status;
    }

    public String getCompanyId() {
        return companyId;
    }

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

    public String getAppKey() {
        return appKey;
    }

    public void setAppKey(String appKey) {
        this.appKey = appKey;
    }

    public String getSid() {
        return sid;
    }

    public void setSid(String sid) {
        this.sid = sid;
    }

    public int getTopFlag() {
        return topFlag;
    }

    public void setTopFlag(int topFlag) {
        this.topFlag = topFlag;
    }

    public int getSortFlag() {
        return sortFlag;
    }

    public void setSortFlag(int sortFlag) {
        this.sortFlag = sortFlag;
    }

    public String getCenterNumber() {
        return centerNumber;
    }

    public void setCenterNumber(String centerNumber) {
        this.centerNumber = centerNumber;
    }

    public Map<String, Boolean> getTicketFunction() {
        return ticketFunction;
    }

    public void setTicketFunction(Map<String, Boolean> ticketFunction) {
        this.ticketFunction = ticketFunction;
    }

    public boolean getTransferAuditFlag() {
        return transferAuditFlag == 1 ? true : false;
    }

    public void setTransferAuditFlag(int transferAuditFlag) {
        this.transferAuditFlag = transferAuditFlag;
    }

    public int getFuseWork() {
        return fuseWork;
    }

    public void setFuseWork(int fuseWork) {
        this.fuseWork = fuseWork;
    }

    public int getCallV6Flag() {
        return callV6Flag;
    }

    public void setCallV6Flag(int callV6Flag) {
        this.callV6Flag = callV6Flag;
    }

    public int getCallV1Flag() {
        return callV1Flag;
    }

    public void setCallV1Flag(int callV1Flag) {
        this.callV1Flag = callV1Flag;
    }

    public String getKbVersion() {
        return kbVersion;
    }

    public void setKbVersion(String kbVersion) {
        this.kbVersion = kbVersion;
    }

    public String getLanguage() {
        return language;
    }

    public void setLanguage(String language) {
        this.language = language;
    }

    public String getAccess_token() {
        return access_token;
    }

    public void setAccess_token(String access_token) {
        this.access_token = access_token;
    }

    public long getLogin_time() {
        return login_time;
    }

    public void setLogin_time(long login_time) {
        this.login_time = login_time;
    }

    public String getLoginAccount() {
        return loginAccount;
    }

    public void setLoginAccount(String loginAccount) {
        this.loginAccount = loginAccount;
    }

    public String getLoginPwd() {
        return loginPwd;
    }

    public void setLoginPwd(String loginPwd) {
        this.loginPwd = loginPwd;
    }
}
