package com.ruoyi.web.modules.account.domain;

import java.math.BigDecimal;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.ruoyi.common.core.domain.BaseEntity;

/**
 * C 端会员 biz_member（账号字段来自 sys_user JOIN）
 */
public class BizMember extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    private Long memberId;

    private String mobile;

    /** 会员名称 → sys_user.user_name */
    private String memberCode;

    /** sys_user.nick_name */
    private String nickName;

    private String password;

    /** sys_user.email */
    private String email;

    /** sys_user.sex（0男 1女 2未知） */
    private String sex;

    /** 会员等级（biz_member_level.level_no，选填） */
    private Integer memberLevel;

    private String status;

    private Integer orderCount;

    private BigDecimal totalAmount;

    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date registerTime;

    private String wxOpenid;

    private String avatar;

    private String delFlag;

    /** 列表检索：会员名称、昵称或手机号模糊 */
    private String keyword;

    /** 内部查询：会员角色 role_key（列表仅查 member 角色） */
    @JsonIgnore
    private String memberRoleKey;

    public Long getMemberId()
    {
        return memberId;
    }

    public void setMemberId(Long memberId)
    {
        this.memberId = memberId;
    }

    public String getMobile()
    {
        return mobile;
    }

    public void setMobile(String mobile)
    {
        this.mobile = mobile;
    }

    public String getMemberCode()
    {
        return memberCode;
    }

    public void setMemberCode(String memberCode)
    {
        this.memberCode = memberCode;
    }

    public String getNickName()
    {
        return nickName;
    }

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

    public String getPassword()
    {
        return password;
    }

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

    public String getEmail()
    {
        return email;
    }

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

    public String getSex()
    {
        return sex;
    }

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

    public Integer getMemberLevel()
    {
        return memberLevel;
    }

    public void setMemberLevel(Integer memberLevel)
    {
        this.memberLevel = memberLevel;
    }

    public String getStatus()
    {
        return status;
    }

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

    public Integer getOrderCount()
    {
        return orderCount;
    }

    public void setOrderCount(Integer orderCount)
    {
        this.orderCount = orderCount;
    }

    public BigDecimal getTotalAmount()
    {
        return totalAmount;
    }

    public void setTotalAmount(BigDecimal totalAmount)
    {
        this.totalAmount = totalAmount;
    }

    public Date getRegisterTime()
    {
        return registerTime;
    }

    public void setRegisterTime(Date registerTime)
    {
        this.registerTime = registerTime;
    }

    public String getWxOpenid()
    {
        return wxOpenid;
    }

    public void setWxOpenid(String wxOpenid)
    {
        this.wxOpenid = wxOpenid;
    }

    public String getAvatar()
    {
        return avatar;
    }

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

    public String getDelFlag()
    {
        return delFlag;
    }

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

    public String getKeyword()
    {
        return keyword;
    }

    public void setKeyword(String keyword)
    {
        this.keyword = keyword;
    }

    public String getMemberRoleKey()
    {
        return memberRoleKey;
    }

    public void setMemberRoleKey(String memberRoleKey)
    {
        this.memberRoleKey = memberRoleKey;
    }
}
