package com.ruoyi.system.domain;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.ruoyi.common.annotation.Excel;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

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

import javax.persistence.GeneratedValue;

/**
 * 用户信息对象 info_user
 *
 * @author ruoyi
 * @date 2023-06-25
 */
@Data
@TableName(value = "info_user")
@EqualsAndHashCode(callSuper = false)
public class InfoUser
{
    private static final long serialVersionUID = 1L;

    @TableId(type = IdType.AUTO)
    @GeneratedValue
    /** 用户ID */
    private Long userId;

    /** 用户名 */
    @Excel(name = "用户名")
    private String userName;

    /** 手机号码 */
    @Excel(name = "手机号码")
    private String phone;

    /** 用户昵称 */
    @Excel(name = "用户昵称")
    private String nickName;

    /** 用户类型 */
    @Excel(name = "用户类型")
    private String userType;

    /** 用户邮箱 */
    @Excel(name = "用户邮箱")
    private String email;

    /** 用户性别（0男 1女 2未知） */
    @Excel(name = "用户性别", readConverterExp = "0=男,1=女,2=未知")
    private String sex;

    /** 头像地址 */
    @Excel(name = "头像地址")
    private String avatar;

    /** 密码 */
    @Excel(name = "密码")
    private String password;

    /** 帐号状态（0正常 1停用） */
    @Excel(name = "帐号状态", readConverterExp = "0=正常,1=停用")
    private String status;

    /** 删除标志（0代表存在 1代表删除） */
    @Excel(name = "删除标志", readConverterExp = "0=代表存在,1=代表删除")
    private String delFlag;

    /** 会员标识 */
    @Excel(name = "会员标识")
    private transient String vip;

    /** 用户唯一标识 */
    @Excel(name = "用户唯一标识")
    private String cid;

    /** 我的邀请码 */
    @Excel(name = "我的邀请码")
    private String mycode;

    /** 被邀请标识 */
    @Excel(name = "被邀请标识")
    private String thiscode;

    /** 抽成 */
    @Excel(name = "抽成")
    private Double commission;

    /** 附件 */
    @Excel(name = "附件")
    private String annex;

    /** 审核状态 */
    @Excel(name = "审核状态", readConverterExp = "0=未审核,1=已审核")
    private String auditStatus;
    /** 司机审核状态 */
    @Excel(name = "司机审核状态", readConverterExp = "0=未审核,1=已审核")
    private String shijStatus;
    /** 联系电话 */
    @Excel(name = "联系电话")
    private String telPhone;
    /** 驾驶证 */
    @Excel(name = "驾驶证")
    private String driversLicense;
    /** 行驶证 */
    @Excel(name = "行驶证")
    private String drivingLicense;
    /** 车辆照片 */
    @Excel(name = "车辆照片")
    private String vehiclePhotos;
    /** 车牌 */
    @Excel(name = "车牌")
    private String licensePlate;

    /** 负责人 */
    @Excel(name = "负责人")
    private String fullName;

    /** 身份证/护照号 */
    @Excel(name = "身份证/护照号")
    private String idNumber;

    /** 商户类型 */
    @Excel(name = "商户类型")
    private String merchantType;

    /** 银行信息 */
    @Excel(name = "银行信息")
    private String bankAccount;

    /** 身份证照片 */
    @Excel(name = "身份证照片")
    private String passportPhoto;

    /** 银行信息照片 */
    @Excel(name = "银行信息照片")
    private String bankPhoto;

    /** 商家说明 */
    @Excel(name = "商家说明")
    private String merchantIntroduction;

    /** 创建时间 */
    @TableField(fill = FieldFill.INSERT)
    private Date createdAt;

    /** 积分钱包 */
    @TableField(exist = false)
    private Long pointsWallet;

    /** 骑手星数 */
    @TableField(exist = false)
    private Double star;

    /** 离线标识 :0 在线  1 离线*/
    private String offline;
    /** 夜市地址 */
    private String address;
    /** 夜市经度 */

    private BigDecimal longitude;

    /** 夜市纬度 */

    private BigDecimal latitude;


    public void setUserId(Long userId)
    {
        this.userId = userId;
    }

    public Long getUserId()
    {
        return userId;
    }

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

    public void setPhone(String phone)
    {
        this.phone = phone;
    }

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

    public String getNickName()
    {
        return nickName;
    }
    public void setUserType(String userType)
    {
        this.userType = userType;
    }

    public String getUserType()
    {
        return userType;
    }
    public void setEmail(String email)
    {
        this.email = email;
    }

    public String getEmail()
    {
        return email;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }

    public String getSex()
    {
        return sex;
    }
    public void setAvatar(String avatar)
    {
        this.avatar = avatar;
    }

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

    public String getPassword()
    {
        return password;
    }
    public void setStatus(String status)
    {
        this.status = status;
    }

    public String getStatus()
    {
        return status;
    }
    public void setDelFlag(String delFlag)
    {
        this.delFlag = delFlag;
    }

    public String getDelFlag()
    {
        return delFlag;
    }
    public void setCid(String cid)
    {
        this.cid = cid;
    }

    public String getCid()
    {
        return cid;
    }
    public void setMycode(String mycode)
    {
        this.mycode = mycode;
    }

    public String getMycode()
    {
        return mycode;
    }
    public void setThiscode(String thiscode)
    {
        this.thiscode = thiscode;
    }

    public String getThiscode()
    {
        return thiscode;
    }

    public void setCommission(Double commission)
    {
        this.commission = commission;
    }

    public Double getCommission()
    {
        return commission;
    }

    public String getAnnex() {
        return annex;
    }

    public void setAnnex(String annex) {
        this.annex = annex;
    }

    public String getAuditStatus() {
        return auditStatus;
    }

    public void setAuditStatus(String auditStatus) {
        this.auditStatus = auditStatus;
    }

    public String getTelPhone() {
        return telPhone;
    }

    public void setTelPhone(String telPhone) {
        this.telPhone = telPhone;
    }

    public String getShijStatus() {
        return shijStatus;
    }

    public void setShijStatus(String shijStatus) {
        this.shijStatus = shijStatus;
    }

    public String getDriversLicense() {
        return driversLicense;
    }

    public void setDriversLicense(String driversLicense) {
        this.driversLicense = driversLicense;
    }

    public String getDrivingLicense() {
        return drivingLicense;
    }

    public void setDrivingLicense(String drivingLicense) {
        this.drivingLicense = drivingLicense;
    }

    public String getVehiclePhotos() {
        return vehiclePhotos;
    }

    public void setVehiclePhotos(String vehiclePhotos) {
        this.vehiclePhotos = vehiclePhotos;
    }

    public String getLicensePlate() {
        return licensePlate;
    }

    public void setLicensePlate(String licensePlate) {
        this.licensePlate = licensePlate;
    }

    public String getFullName() {
        return fullName;
    }

    public void setFullName(String fullName) {
        this.fullName = fullName;
    }

    public String getIdNumber() {
        return idNumber;
    }

    public void setIdNumber(String idNumber) {
        this.idNumber = idNumber;
    }

    public String getMerchantType() {
        return merchantType;
    }

    public void setMerchantType(String merchantType) {
        this.merchantType = merchantType;
    }

    public String getBankAccount() {
        return bankAccount;
    }

    public void setBankAccount(String bankAccount) {
        this.bankAccount = bankAccount;
    }

    public String getPassportPhoto() {
        return passportPhoto;
    }

    public void setPassportPhoto(String passportPhoto) {
        this.passportPhoto = passportPhoto;
    }

    public String getBankPhoto() {
        return bankPhoto;
    }

    public void setBankPhoto(String bankPhoto) {
        this.bankPhoto = bankPhoto;
    }

    public String getMerchantIntroduction() {
        return merchantIntroduction;
    }

    public void setMerchantIntroduction(String merchantIntroduction) {
        this.merchantIntroduction = merchantIntroduction;
    }

    public Date getCreatedAt() {
        return createdAt;
    }

    public void setCreatedAt(Date createdAt) {
        this.createdAt = createdAt;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("userId", getUserId())
            .append("userName", getUserName())
            .append("phone", getPhone())
            .append("nickName", getNickName())
            .append("userType", getUserType())
            .append("email", getEmail())
            .append("sex", getSex())
            .append("avatar", getAvatar())
            .append("password", getPassword())
            .append("status", getStatus())
            .append("delFlag", getDelFlag())
            .append("cid", getCid())
            .append("mycode", getMycode())
            .append("mycode", getMycode())
            .append("thiscode", getThiscode())
            .append("commission", getCommission())
            .append("annex", getAnnex())
            .append("auditStatus", getAuditStatus())
            .append("telPhone", getTelPhone())
            .append("shijStatus", getShijStatus())
            .append("driversLicense", getDriversLicense())
            .append("drivingLicense", getDrivingLicense())
            .append("vehiclePhotos", getVehiclePhotos())
            .append("licensePlate", getLicensePlate())
            .append("fullName", getFullName())
            .append("idNumber", getIdNumber())
            .append("merchantType", getMerchantType())
            .append("bankAccount", getBankAccount())
            .append("passportPhoto", getPassportPhoto())
            .append("bankPhoto", getBankPhoto())
            .append("merchantIntroduction", getMerchantIntroduction())
            .toString();
    }
}
