package com.hzs.member.base.dto;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.hzs.common.core.annotation.Excel;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import lombok.Data;

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

/**
 * 真实奖衔控制表DTO
 */
@Data
public class CuAwardsControlDTO implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private Long pkId;
    /**
     * 会员主键
     */
    private Long pkMember;
    /**
     * 会员编号
     */
    private String memberCode;

    /**
     * 会员姓名
     */
    private String memberName;

    /**
     * 真实奖衔
     */
    private Long realAwards;
    /**
     * 真实奖衔
     */
    private Long realAwardsKey;
    /**
     * 真实奖衔
     */
    private String realAwardsKeyVal;

    /**
     * 辅导奖衔
     */
    private Long mentoringAward;
    /**
     * 辅导奖衔
     */
    private Long mentoringAwardKey;
    /**
     * 辅导奖衔
     */
    private String mentoringAwardKeyVal;

    /**
     * 分红奖衔
     */
    private Long dividendAward;
    /**
     * 分红奖衔
     */
    private Long dividendAwardKey;
    /**
     * 分红奖衔
     */
    private String dividendAwardKeyVal;

    /**
     * 极差奖衔
     */
    private Long extremeAwards;
    /**
     * 极差奖衔
     */
    private Long extremeAwardsKey;
    /**
     * 极差奖衔
     */
    private String extremeAwardsKeyVal;

    /**
     * 复购考核奖衔 REPLY_EXAM_AWARD
     */
    private Long replyExamAward;
    /**
     * 复购考核奖衔
     */
    private Long replyExamAwardKey;
    /**
     * 复购考核奖衔
     */
    private String replyExamAwardKeyVal;

    /**
     * 分红考核奖衔 DIVVY_EXAM_AWARDS
     */
    private Long divvyExamAwards;
    /**
     * 分红考核奖衔 DIVVY_EXAM_AWARDS
     */
    private Long divvyExamAwardsKey;
    /**
     * 分红考核奖衔 DIVVY_EXAM_AWARDS
     */
    private String divvyExamAwardsKeyVal;

    /**
     * 创建人ID
     */
    @TableField("PK_CREATOR")
    private Long pkCreator;

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

    /**
     * 修改人ID
     */
    private Long pkModified;

    /**
     * 修改时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date modifiedTime;

    /**
     * 逻辑删除 (0=未删除，1已删除)
     */
    @JsonIgnore
    private Integer delFlag;

    /**
     * 国家
     */
    private Integer pkCountry;

    /**
     * 业务单号
     */
    private String businessNo;

    /**
     * 审核状态  2  待审核  4 已驳回   5 已完成(审核成功)  枚举 ： EApproveStatus
     */
    private Integer approveStatus;

    /**
     * 办理次数
     */
    private Integer changeNumber;

    /**
     * 费用
     */
    private BigDecimal cost;
    /**
     * 扣款币种类型
     */
    private Integer pkAccount;
    /**
     * 扣款币种类型
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
    private Integer pkAccountKey;
    /**
     * 扣款币种类型
     */
    private String pkAccountKeyVal;


}
