package com.hzs.member.structure.controller.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.io.Serializable;
import java.util.Date;

@Data
@AllArgsConstructor
@NoArgsConstructor
@JsonInclude(JsonInclude.Include.ALWAYS)
public class CuMemberThreeFrameworkVO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 会员ID
     */
    private Long pkMember;

    /**
     * 会员子节点
     */
    private Integer childNode;

    /**
     * 推荐人
     */
    private Long pkParent;

    /**
     * 三个阶段（1、2、3）
     */
    private Integer stage;
    /**
     * 三阶段实际值
     */
    private String stageLabel;

    /**
     * 阶段状态（0=已完成，1=未完成）
     */
    private Integer stageStatus;
    /**
     * 阶段完成实际值
     */
    private String stageStatusLabel;

    /**
     * 阶段完成时间
     */
    private Date stageDate;


    /**
     * 点位1-1会员ID
     */
    private Long pointMember11;
    /**
     * 点位1-1会员子节点
     */
    private Integer point11;

    /**
     * 点位1-2会员ID
     */
    private Long pointMember12;
    /**
     * 点位1-2会员子节点
     */
    private Integer point12;

    /**
     * 点位2-1会员ID
     */
    private Long pointMember21;
    /**
     * 点位2-1会员子节点
     */
    private Integer point21;

    /**
     * 点位2-2会员ID
     */
    private Long pointMember22;
    /**
     * 点位2-2会员子节点
     */
    private Integer point22;

    /**
     * 点位2-3会员ID
     */
    private Long pointMember23;
    /**
     * 点位2-3会员子节点
     */
    private Integer point23;

    /**
     * 点位2-4会员ID
     */
    private Long pointMember24;
    /**
     * 点位2-4会员子节点
     */
    private Integer point24;

    /**
     * 点位3-1会员ID
     */
    private Long pointMember31;
    /**
     * 点位3-1会员子节点
     */
    private Integer point31;

    /**
     * 点位3-2会员ID
     */
    private Long pointMember32;
    /**
     * 点位3-2会员子节点
     */
    private Integer point32;

    /**
     * 点位3-3会员ID
     */
    private Long pointMember33;
    /**
     * 点位3-3会员子节点
     */
    private Integer point33;

    /**
     * 点位3-4会员ID
     */
    private Long pointMember34;
    /**
     * 点位3-4会员子节点
     */
    private Integer point34;

    /**
     * 点位3-5会员ID
     */
    private Long pointMember35;
    /**
     * 点位3-5会员子节点
     */
    private Integer point35;

    /**
     * 点位3-6会员ID
     */
    private Long pointMember36;
    /**
     * 点位3-6会员子节点
     */
    private Integer point36;

    /**
     * 点位3-7会员ID
     */
    private Long pointMember37;
    /**
     * 点位3-7会员子节点
     */
    private Integer point37;

    /**
     * 点位3-8会员ID
     */
    private Long pointMember38;
    /**
     * 点位3-8会员子节点
     */
    private Integer point38;

    /**
     * 点位类型（0=普通，1=赠送点位）
     */
    private Integer pointType;
    /**
     * 点位类型实际值
     */
    private String pointTypeLabel;

    /**
     * 赠点数量（三阶段走完赠送几个点位）
     */
    private Integer pointGift;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date creationTime;

    /**
     * 第一层会员ID
     */
    private Long pointMemberFirst;
    /**
     * 第一层会员子节点
     */
    private Integer pointFirst;

    /**
     * 第二层会员ID
     */
    private Long pointMemberSecond;
    /**
     * 第二层会员子节点
     */
    private Integer pointSecond;

    /**
     * 第三层会员ID
     */
    private Long pointMemberThird;
    /**
     * 第三层会员子节点
     */
    private Integer pointThird;

    /**
     * 三阶段1层奖金次数
     */
    private Integer thirdBonus1;

    /**
     * 三阶段2层奖金次数
     */
    private Integer thirdBonus2;

    /**
     * 三阶段3层奖金次数
     */
    private Integer thirdBonus3;

    /**
     * 更新标记（不为null则需要入库）
     */
    private Integer updateBool;
    /**
     * 节点顺序
     */
    private Integer stageSort;

}
