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

import java.util.Date;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.*;
import lombok.experimental.Accessors;

/**
 * 日结算阶段表
 */
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Data
@Accessors(chain = true)
@TableName("CU_MEMBER_RETAIL_DETAIL")
public class CuMemberRetailDetail {

    private static final long serialVersionUID = 1L;

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

    /**
     * 会员子节点
     */
    @TableField("CHILD_NODE")
    private Integer childNode;

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

    /**
     * 三个阶段（1、2、3）
     */
    @TableField("STAGE")
    private Integer stage;

    /**
     * 阶段状态（0=已完成，1=未完成）
     */
    @TableField("STAGE_STATUS")
    private Integer stageStatus;

    /**
     * 阶段完成时间
     */
    @TableField("STAGE_DATE")
    private Date stageDate;

    /**
     * 点位1-1会员子节点
     */
    @TableField("POINT_11")
    private Integer point11;

    /**
     * 点位1-2会员子节点
     */
    @TableField("POINT_12")
    private Integer point12;

    /**
     * 点位2-1会员子节点
     */
    @TableField("POINT_21")
    private Integer point21;

    /**
     * 点位2-2会员子节点
     */
    @TableField("POINT_22")
    private Integer point22;

    /**
     * 点位2-3会员子节点
     */
    @TableField("POINT_23")
    private Integer point23;

    /**
     * 点位2-4会员子节点
     */
    @TableField("POINT_24")
    private Integer point24;

    /**
     * 点位3-1会员子节点
     */
    @TableField("POINT_31")
    private Integer point31;

    /**
     * 点位3-2会员子节点
     */
    @TableField("POINT_32")
    private Integer point32;

    /**
     * 点位3-3会员子节点
     */
    @TableField("POINT_33")
    private Integer point33;

    /**
     * 点位3-4会员子节点
     */
    @TableField("POINT_34")
    private Integer point34;

    /**
     * 点位3-5会员子节点
     */
    @TableField("POINT_35")
    private Integer point35;

    /**
     * 点位3-6会员子节点
     */
    @TableField("POINT_36")
    private Integer point36;

    /**
     * 点位3-7会员子节点
     */
    @TableField("POINT_37")
    private Integer point37;

    /**
     * 点位3-8会员子节点
     */
    @TableField("POINT_38")
    private Integer point38;

    /**
     * 点位1-1会员ID
     */
    @TableField("POINT_MEMBER_11")
    private Long pointMember11;

    /**
     * 点位1-2会员ID
     */
    @TableField("POINT_MEMBER_12")
    private Long pointMember12;

    /**
     * 点位2-1会员ID
     */
    @TableField("POINT_MEMBER_21")
    private Long pointMember21;

    /**
     * 点位2-2会员ID
     */
    @TableField("POINT_MEMBER_22")
    private Long pointMember22;

    /**
     * 点位2-3会员ID
     */
    @TableField("POINT_MEMBER_23")
    private Long pointMember23;

    /**
     * 点位2-4会员ID
     */
    @TableField("POINT_MEMBER_24")
    private Long pointMember24;

    /**
     * 点位3-1会员ID
     */
    @TableField("POINT_MEMBER_31")
    private Long pointMember31;

    /**
     * 点位3-2会员ID
     */
    @TableField("POINT_MEMBER_32")
    private Long pointMember32;

    /**
     * 点位3-3会员ID
     */
    @TableField("POINT_MEMBER_33")
    private Long pointMember33;

    /**
     * 点位3-4会员ID
     */
    @TableField("POINT_MEMBER_34")
    private Long pointMember34;

    /**
     * 点位3-5会员ID
     */
    @TableField("POINT_MEMBER_35")
    private Long pointMember35;

    /**
     * 点位3-6会员ID
     */
    @TableField("POINT_MEMBER_36")
    private Long pointMember36;

    /**
     * 点位3-7会员ID
     */
    @TableField("POINT_MEMBER_37")
    private Long pointMember37;

    /**
     * 点位3-8会员ID
     */
    @TableField("POINT_MEMBER_38")
    private Long pointMember38;

    /**
     * 点位类型（0=普通，1=赠送点位）
     */
    @TableField("POINT_TYPE")
    private Integer pointType;

    /**
     * 赠点数量（三阶段走完赠送几个点位）
     */
    @TableField("POINT_GIFT")
    private Integer pointGift;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @TableField("CREATION_TIME")
    private Date creationTime;

    /**
     * 第一层会员子节点
     */
    @TableField("POINT_FIRST")
    private Integer pointFirst;

    /**
     * 第一层会员ID
     */
    @TableField("POINT_MEMBER_FIRST")
    private Long pointMemberFirst;

    /**
     * 第二层会员子节点
     */
    @TableField("POINT_SECOND")
    private Integer pointSecond;

    /**
     * 第二层会员ID
     */
    @TableField("POINT_MEMBER_SECOND")
    private Long pointMemberSecond;

    /**
     * 第三层会员子节点
     */
    @TableField("POINT_THIRD")
    private Integer pointThird;

    /**
     * 第三层会员ID
     */
    @TableField("POINT_MEMBER_THIRD")
    private Long pointMemberThird;

    /**
     * 更新标记（不为null则需要入库）
     */
    @TableField(exist = false)
    private Integer updateBool;

}
