package com.iotechn.unimall.data.domain;

import com.iotechn.unimall.data.domain.SuperDO;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.iotechn.unimall.core.framework.aspectj.lang.annotaion.Excel;
import com.iotechn.unimall.core.framework.aspectj.lang.annotaion.Excel.ColumnType;
import com.baomidou.mybatisplus.annotations.TableId;
import com.baomidou.mybatisplus.annotations.TableName;
import lombok.Data;
import com.baomidou.mybatisplus.annotations.TableField;
import com.baomidou.mybatisplus.enums.FieldFill;
import com.iotechn.unimall.core.util.StringUtils;
import java.util.Date;

/**
 * 用户管理对象 common_user_info
 * 
 * @author jlb
 * @date 2023-04-10
 */
@Data
@TableName("common_user_info")
public class CommonUserInfo extends SuperDO {
    private static final long serialVersionUID = 1L;

    /**  */
    @TableId("id")
    private Long id;

    /** 昵称 */
    @Excel(name = "昵称")
    @TableField("nickname")
    private String nickname;

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

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

    /** 微信id */
    @Excel(name = "微信id")
    @TableField("open_id")
    private String openId;

    /** 真实姓名 */
    @Excel(name = "真实姓名")
    @TableField("realname")
    private String realname;
    /** 头像 */
    @Excel(name = "头像")
    @TableField("head")
    private String head;

    /** 允许他人分享名片(1允许) */
    @Excel(name = "允许他人分享名片(1允许)")
    @TableField("share_card")
    private Long shareCard;

    /** 允许圈子成员查看主页(1允许) */
    @Excel(name = "允许圈子成员查看主页(1允许)")
    @TableField("look_page")
    private Long lookPage;

    /** 自动接受邀请(1是) */
    @Excel(name = "自动接受邀请(1是)")
    @TableField("auto_accept")
    private Long autoAccept;

    /** 0.冻结 1.激活 */
    @Excel(name = "0.冻结 1.激活")
    @TableField("status")
    private Long status;

    /**  */
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("gmt_create")
    private Date gmtCreate;

    /**  */
    @Excel(name = "", width = 30, dateFormat = "yyyy-MM-dd")
    @TableField("gmt_update")
    private Date gmtUpdate;

    /** 删除标识 */
    @Excel(name = "删除标识")
    @TableField("delete_flag")
    private Long deleteFlag;

    @TableField(exist = false)
    private String sessionKey;
    /**
     * 登录成功，包装此参数
     */
    @TableField(exist = false)
    private String accessToken;
    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
            .append("id", getId())
            .append("nickname", getNickname())
            .append("password", getPassword())
            .append("phone", getPhone())
            .append("realname", getRealname())
            .append("shareCard", getShareCard())
            .append("lookPage", getLookPage())
            .append("autoAccept", getAutoAccept())
            .append("status", getStatus())
            .append("gmtCreate", getGmtCreate())
            .append("gmtUpdate", getGmtUpdate())
            .append("deleteFlag", getDeleteFlag())
            .toString();
    }
}
