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

import com.baomidou.mybatisplus.annotation.KeySequence;
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.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

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

/**
 * 注水业绩记录表
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
@TableName("CU_MEMBER_ACHIEVE_LOG")
@KeySequence("CU_MEMBER_ACHIEVE_LOG_SEQ")
public class CuMemberAchieveLog extends BaseEntity {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    @TableId("PK_ID")
    private Long pkId;

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

    /**
     * 变更后A区真实业绩
     */
    @TableField("A_SUM_REAL_MODIFY_PV")
    private BigDecimal aSumRealModifyPv;

    /**
     * 变更后B区真实业绩
     */
    @TableField("B_SUM_REAL_MODIFY_PV")
    private BigDecimal bSumRealModifyPv;

    /**
     * 变更后A区首购业绩
     */
    @TableField("A_FIRST_MODIFY_PV")
    private BigDecimal aFirstModifyPv;

    /**
     * 变更后B区首购业绩
     */
    @TableField("B_FIRST_MODIFY_PV")
    private BigDecimal bFirstModifyPv;

    /**
     * 变更后A区首购结余
     */
    @TableField("REP_A_FIRST_MODIFY_BALANCE")
    private BigDecimal repAFirstModifyBalance;

    /**
     * 变更后B区首购结余
     */
    @TableField("REP_B_FIRST_MODIFY_BALANCE")
    private BigDecimal repBFirstModifyBalance;

    /**
     * 变更后复购A区累计业绩 复购业绩
     */
    @TableField("REP_A_MODIFY_SUM_PV")
    private BigDecimal repAModifySumPv;

    /**
     * 变更后复购B区累计业绩 复购业绩
     */
    @TableField("REP_B_MODIFY_SUM_PV")
    private BigDecimal repBModifySumPv;

    /**
     * 变更后A区复购结余
     */
    @TableField("REP_A_MODIFY_BALANCE")
    private BigDecimal repAModifyBalance;

    /**
     * 变更后B区复购结余
     */
    @TableField("REP_B_MODIFY_BALANCE")
    private BigDecimal repBModifyBalance;

    /**
     * 变更前左区真实业绩
     */
    @TableField("A_SUM_REAL_PV")
    private BigDecimal asumRealPv;

    /**
     * 变更前右区真实业绩
     */
    @TableField("B_SUM_REAL_PV")
    private BigDecimal bsumRealPv;
    /**
     * 变更前左区首购业绩
     */
    @TableField("A_SUM_PV")
    private BigDecimal asumPv;

    /**
     * 变更前右区首购业绩
     */
    @TableField("B_SUM_PV")
    private BigDecimal bsumPv;

    /**
     * 变更前左区首购结余
     */
    @TableField("A_BALANCE")
    private BigDecimal abalance;

    /**
     * 变更前右区首购结余
     */
    @TableField("B_BALANCE")
    private BigDecimal bbalance;
    /**
     * 变更前左区复购业绩
     */
    @TableField("REP_A_SUM_PV")
    private BigDecimal repASumPv;

    /**
     * 变更前右区复购业绩
     */
    @TableField("REP_B_SUM_PV")
    private BigDecimal repBSumPv;

    /**
     * 变更前左区复购结余
     */
    @TableField("REP_A_BALANCE")
    private BigDecimal repABalance;

    /**
     * 变更前右区复购结余
     */
    @TableField("REP_B_BALANCE")
    private BigDecimal repBBalance;

    /**
     * 注水方式
     */
    @TableField("INFUSING_WATER_TYPE")
    private Integer infusingWaterType;

    /**
     * 注水备注
     */
    @TableField("REMARKS")
    private String remarks;

    /**
     * 审核状态
     */
    @TableField("APPROVE_STATUS")
    private Integer approveStatus;

    /**
     * 审核次数
     */
    @TableField("APPROVE_NUMBER")
    private Integer approveNumber;

    /**
     * 流程类型（1 免签呈 2免付费 3免签呈+免付费 4 需要签呈需要付费）
     */
    @TableField("PROCESS_TYPE")
    private Integer processType;

    /**
     * 审批业务类型
     */
    @TableField("EDIT_TYPE")
    private Integer editType;

    /**
     * 费用
     */
    @TableField("COST")
    private BigDecimal cost;

    /**
     * 账户
     */
    @TableField("PK_ACCOUNT")
    private Integer pkAccount;


    /**
     * 期间
     */
    @TableField("PERIOD")
    private Integer period;

    /**
     * 业务单号
     */
    @TableField("BUSINESS_NO")
    private String businessNo;

    /**
     * 到期日期
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField("DUE_DATE")
    private Date dueDate;

    /**
     * 注水日期（年-月-日）
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @TableField("SETTLE_DATE")
    private Date settleDate;

}
