package com.hzs.common.domain.member.achieve;

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

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 
 * </p>
 *
 * @author hzs
 * @since 2024-10-15
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("CU_MEMBER_RANGE")
public class CuMemberRange extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 会员主键
     */
    @TableField("PK_MEMBER")
    private Long pkMember;

    /**
     * 推荐人
     */
    @TableField("PK_PARENT")
    private Long pkParent;

    /**
     * 会员编号
     */
    @TableField("MEMBER_CODE")
    private String memberCode;

    /**
     * 会员名称
     */
    @TableField("MEMBER_NAME")
    private String memberName;

    /**
     * 会员类型
     */
    @TableField("CUSTOMER_TYPE")
    private Integer customerType;

    /**
     * 手机号
     */
    @TableField("PHONE")
    private String phone;

    /**
     * 等级
     */
    @TableField("PK_GRADE")
    private Integer pkGrade;

    /**
     * 奖衔
     */
    @TableField("PK_AWARDS")
    private Integer pkAwards;

    /**
     * 极差奖衔
     */
    @TableField("PK_RANGE_AWARDS")
    private Integer pkRangeAwards;

    /**
     * 福利奖衔
     */
    @TableField("PK_BENEFIT_AWARDS")
    private Integer pkBenefitAwards;

    /**
     * 账户状态
     */
    @TableField("ACCOUNT_STATUS")
    private Integer accountStatus;

    /**
     * 支付状态
     */
    @TableField("PAY_STATUS")
    private Integer payStatus;

    /**
     * 注册权限
     */
    @TableField("REGISTER_AUTHORITY")
    private Integer registerAuthority;

    /**
     * 类型
     */
    @TableField("CATEGORY")
    private Integer category;

    /**
     * 免考状态
     */
    @TableField("PURCHASE_STATUS")
    private Integer purchaseStatus;

    /**
     * 收益状态
     */
    @TableField("INCOME_STATUS")
    private Integer incomeStatus;

    /**
     * 团队
     */
    @TableField("PK_TEAM_CODE")
    private Long pkTeamCode;

    /**
     * 注册中心
     */
    @TableField("PK_CENTER_CODE")
    private Long pkCenterCode;

    /**
     * 体系
     */
    @TableField("PK_VERTEX")
    private Long pkVertex;

    /**
     * 结算国家
     */
    @TableField("PK_SETTLE_COUNTRY")
    private Integer pkSettleCountry;

    /**
     * 是否实名认证
     */
    @TableField("IS_REAL_NAME")
    private Integer isRealName;

    /**
     * 汇率
     */
    @TableField("PK_RATE")
    private Integer pkRate;

    /**
     * 消费状态
     */
    @TableField("CONSUME_STATUS")
    private Integer consumeStatus;

    /**
     * 消费pv汇总
     */
    @TableField("CONSUME_PV")
    private BigDecimal consumePv;

    /**
     * 当月消费pv
     */
    @TableField("MONTH_PV")
    private BigDecimal monthPv;

    /**
     * 个人新增消费pv
     */
    @TableField("NEW_PV")
    private BigDecimal newPv;

    /**
     * 新增团队消费pv
     */
    @TableField("NEW_TEAM_PV")
    private BigDecimal newTeamPv;

    /**
     * 新增团队消费pv
     */
    @TableField("dept_new_team_pv")
    private BigDecimal deptNewTeamPv;

    /**
     * 推荐有效数量
     */
    @TableField("EFFECTIVE_NUM")
    private Integer effectiveNum;

    /**
     * 推荐购买EV的会员有效购买数量
     */
    @TableField("EV_EFFECTIVE_NUM")
    private Integer evEffectiveNum;

    /**
     * 是否已经为推荐人提供有效计数，0=是，1=否
     */
    @TableField("provide_state")
    private Integer provideState;

    /**
     * 自身购买EV有效数量
     */
    @TableField("BUY_EFFECTIVE_NUM")
    private Integer buyEffectiveNum;

    /**
     * 第一代推荐数量，拿奖金数量
     */
    @TableField("FIRST_AGENT")
    private Integer firstAgent;

    /**
     * 第二代推荐数量，拿奖金数量
     */
    @TableField("SECOND_AGENT")
    private Integer secondAgent;

    /**
     * 推荐数量（暂时有问题）
     */
    @TableField("RECOMMEND_NUM")
    private Integer recommendNum;

    /**
     * 团队数量 （暂时有问题）
     */
    @TableField("TEAM_NUM")
    private Integer teamNum;

    /**
     * 团队消费pv汇总
     */
    @TableField("TEAM_CONSUME_AMOUNT")
    private BigDecimal teamConsumeAmount;

    /**
     * 团队消费pv汇总
     */
    @TableField("TEAM_CONSUME_PV")
    private BigDecimal teamConsumePv;

    /**
     * 团队月消费pv
     */
    @TableField("TEAM_MONTH_AMOUNT")
    private BigDecimal teamMonthAmount;

    /**
     * 团队月消费pv
     */
    @TableField("TEAM_MONTH_PV")
    private BigDecimal teamMonthPv;

    /**
     * 团队消费pv汇总
     */
    @TableField("DEPT_TEAM_CONSUME_AMOUNT")
    private BigDecimal deptTeamConsumeAmount;

    /**
     * 团队消费pv汇总
     */
    @TableField("DEPT_TEAM_CONSUME_PV")
    private BigDecimal deptTeamConsumePv;

    /**
     * 团队月消费pv
     */
    @TableField("DEPT_TEAM_MONTH_AMOUNT")
    private BigDecimal deptTeamMonthAmount;

    /**
     * 团队月消费pv
     */
    @TableField("DEPT_TEAM_MONTH_PV")
    private BigDecimal deptTeamMonthPv;

    /**
     * 小区pv
     */
    @TableField("SMALL_AREA_PV")
    private BigDecimal smallAreaPv;

    /**
     * 考核状态
     */
    @TableField("ASSESS_STATUS")
    private Integer assessStatus;

    /**
     * 是否当月会员 0=是 1=否
     */
    @TableField("MONTH_MEMBER")
    private Integer monthMember;

    /**
     * 支付时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("PAY_TIME")
    private Date payTime;

    /**
     * 极差店铺
     */
    @TableField("RANGE_STORE_STATUS")
    private Integer rangeStoreStatus;

}
