package com.ruoyi.database.domain;


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.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;

import java.util.Date;

/**
 * 客户基础信息表(BaseCustomerInfo)实体类
 *
 * @author makejava
 * @since 2025-11-13 08:49:20
 */
@Data
@EqualsAndHashCode(callSuper = false)
@TableName(value = "base_customer_info")
@ApiModel(value = "BaseCustomerInfo", description = "客户基础信息表")
public class BaseCustomerInfo {

    /**
     * 主键
     */
    @ApiModelProperty("主键")
    @TableId(value = "id", type = IdType.AUTO)
    private Long id;

    /**
     * 创建时间
     */
    @ApiModelProperty("创建时间")
    @Excel(name = "创建时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**
     * 创建者
     */
    @ApiModelProperty("创建者")
    @Excel(name = "创建者")
    private Integer createBy;

    /**
     * 更新时间
     */
    @ApiModelProperty("更新时间")
    @Excel(name = "更新时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;

    /**
     * 更新者
     */
    @ApiModelProperty("更新者")
    @Excel(name = "更新者")
    private Integer updateBy;

    /**
     * 微信openid
     */
    @ApiModelProperty("微信openid")
    @Excel(name = "微信openid")
    private String openId;

    /**
     * 支付宝用户ID
     */
    @ApiModelProperty("支付宝用户ID")
    @Excel(name = "支付宝用户ID")
    private String alipayUserId;

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

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

    /**
     * 头像
     */
    @ApiModelProperty("头像")
    @Excel(name = "头像")
    private String avatarUrl;

    /**
     * 积分
     */
    @ApiModelProperty("积分")
    @Excel(name = "积分")
    private Long integral;

    /**
     * 会员等级
     */
    @ApiModelProperty("会员等级")
    @Excel(name = "会员等级")
    private Integer memberLevel;


    @TableField(exist = false)
    private String wxMchId;


}
