package com.sdtool.common.entity.mall;

import com.sdtool.common.datas.TokenUserFrom;
import com.sdtool.common.entity.base.BaseEntity;
import com.sdtool.common.entity.site.TokenUserData;
import com.sdtool.common.tdoc.ApiPlace;
import com.sweetfish.util.Comment;
import org.rex.db.RColumn;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @Author: xl Created on 2024-03-27
 * @Content: 商城用户(缺字段了再补)
 */
public class MallUser extends BaseEntity implements TokenUserData {

    @Comment("")
    @RColumn("id")
    @ApiPlace("MallUser_SetLevel")
    @ApiPlace("MallUser_SetLevelExclude")
    private long id;

    @Comment("用户名")
    @RColumn("username")
    @ApiPlace("/mallFront/registerMallUser")
    private String userName;

    @Comment("登录名")
    @RColumn("loginname")
    private String loginName;

    @Comment("注册手机号")
    @RColumn("loginaccount")
    @ApiPlace("/mallFront/registerMallUser")
    private String loginAccount;

    @Comment("密码")
    @RColumn("password")
    @ApiPlace("/mallFront/registerMallUser")
    private String password;

    @Comment("QQ号")
    @RColumn("qqcode")
    @ApiPlace("/mallFront/registerMallUser")
    private String qqCode;

    @Comment("禁用标记")
    @RColumn("voidflag")
    private int voidFlag;

    @Comment("")
    @RColumn("verifyflag")
    private int verifyFlag;

    @Comment("")
    @RColumn("idverifyuser")
    private long idVerifyUser;

    @Comment("")
    @RColumn("verifyuser")
    private String verifyUser;

    @Comment("")
    @RColumn("verifydate")
    private Date verifyDate;

    @Comment("")
    @RColumn("verifydatelong")
    private long verifyDateLong;

    @Comment("余额管理")
    @RColumn("balanceflag")
    private int balanceFlag;

    @Comment("级别")
    @RColumn("idlevel")
    @ApiPlace("MallUser_SetLevel")
    @ApiPlace("MallUser_SetLevelExclude")
    private long idLevel;

    @Comment("级别到期时间")
    @RColumn("levelexpiredate")
    private Date levelExpireDate;

    @Comment("级别到期时间")
    @RColumn("levelexpiredatelong")
    private long levelExpireDateLong;

    @Comment("")
    private BigDecimal balanceMoney;

    @Comment("级别名称")
    private String levelName;

    public long getId() {
        return id;
    }

    @Override
    public long getDeptId() {
        return 0L;
    }

    public void setId(long id) {
        this.id = id;
    }

    public String getUserName() {
        return userName;
    }

    public String getLoginName() {
        return loginName;
    }

    public void setLoginName(String loginName) {
        this.loginName = loginName;
    }

    @Override
    public String getAccount() {
        return loginAccount;
    }

    @Override
    public String getDeptName() {
        return "";
    }

    @Override
    public int getUserFrom() {
        return TokenUserFrom.PC_MALL_FRONT.getValue();
    }

    @Override
    public long getIdBindOrg() {
        return id;
    }

    @Override
    public String getBindUserName() {
        return this.userName;
    }

    @Override
    public String getUserOpenId() {
        return "";
    }

    @Override
    public String getBindUserLinkPhone() {
        return this.loginAccount;
    }

    public void setUserName(String userName) {
        this.userName = userName;
    }

    public String getLoginAccount() {
        return loginAccount;
    }

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

    public String getPassword() {
        return password;
    }

    public void setPassword(String password) {
        this.password = password;
    }

    public String getQqCode() {
        return qqCode;
    }

    public void setQqCode(String qqCode) {
        this.qqCode = qqCode;
    }

    public int getVoidFlag() {
        return voidFlag;
    }

    public void setVoidFlag(int voidFlag) {
        this.voidFlag = voidFlag;
    }

    public int getBalanceFlag() {
        return balanceFlag;
    }

    public void setBalanceFlag(int balanceFlag) {
        this.balanceFlag = balanceFlag;
    }

    public long getIdLevel() {
        return idLevel;
    }

    public void setIdLevel(long idLevel) {
        this.idLevel = idLevel;
    }

    public BigDecimal getBalanceMoney() {
        return balanceMoney;
    }

    public void setBalanceMoney(BigDecimal balanceMoney) {
        this.balanceMoney = balanceMoney;
    }

    public String getLevelName() {
        return levelName;
    }

    public void setLevelName(String levelName) {
        this.levelName = levelName;
    }

    public Date getLevelExpireDate() {
        return levelExpireDate;
    }

    public void setLevelExpireDate(Date levelExpireDate) {
        this.levelExpireDate = levelExpireDate;
    }

    public long getLevelExpireDateLong() {
        return levelExpireDateLong;
    }

    public void setLevelExpireDateLong(long levelExpireDateLong) {
        this.levelExpireDateLong = levelExpireDateLong;
    }

    public int getVerifyFlag() {
        return verifyFlag;
    }

    public void setVerifyFlag(int verifyFlag) {
        this.verifyFlag = verifyFlag;
    }

    public long getIdVerifyUser() {
        return idVerifyUser;
    }

    public void setIdVerifyUser(long idVerifyUser) {
        this.idVerifyUser = idVerifyUser;
    }

    public String getVerifyUser() {
        return verifyUser;
    }

    public void setVerifyUser(String verifyUser) {
        this.verifyUser = verifyUser;
    }

    public Date getVerifyDate() {
        return verifyDate;
    }

    public void setVerifyDate(Date verifyDate) {
        this.verifyDate = verifyDate;
    }

    public long getVerifyDateLong() {
        return verifyDateLong;
    }

    public void setVerifyDateLong(long verifyDateLong) {
        this.verifyDateLong = verifyDateLong;
    }
}
