package com.hzs.activity.tree.vo;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.hzs.common.core.annotation.Transaction;
import com.hzs.common.core.constant.EnumsPrefixConstants;
import com.hzs.common.core.web.domain.BaseEntity;
import lombok.Data;

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

/**
 * <p>
 * 沙棘树活动购买订单表
 * </p>
 *
 * @author zhangjing
 * @since 2023-06-16
 */
@Data
public class SaTreeOrderVO extends BaseEntity {

    private static final long serialVersionUID = 1L;

    private Long pkId;

    /**
     * 订单编号
     */
    private String orderCode;

    /**
     * 会员主键
     */
    private Long pkMember;

    /**
     * 活动基本配置主键
     */
    private Long pkBaseId;

    /**
     * 活动规则主键
     */
    private Long pkTreeRule;

    /**
     * 订单金额
     */
    private BigDecimal orderAmount;

    /**
     * 购买数量
     */
    private int shopQuantity;

    /**
     * 订单状态  (0=待支付,1=已支付)
     */
    private Integer orderStatus;

    /**
     * 支付时间
     */
    private Date payTime;

    /**
     * 创建人ID
     */
    private Long pkCreator;

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

    /**
     * 活动名称
     */
    private String actName;
    /**
     * 活动开始时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date actStartDate;

    /**
     * 活动结束时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date actEndDate;

    /**
     * 活动封面
     */
    @TableField("ACT_COVER")
    private String actCover;

    /**
     * 展示图
     */
    private String cover;

    /**
     * 名称
     */
    private String name;

    /**
     * 价格
     */
    private BigDecimal price;

    /**
     * 数量(活动规则数量)
     */
    private int quantity;
    /**
     * 奖衔
     */
    private Integer pkAwards;
    /**
     * 消费
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
    private Integer consume;
    private String consumeVal;
    /**
     * 奖金
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
    private Integer bonus;
    private String bonusVal;
    /**
     * 现金
     */
    @Transaction(transactionKey = EnumsPrefixConstants.KEY_ACC)
    private Integer cash;
    private String cashVal;

    /**
     * 支付密码
     */
    private String payPwd;
    /**
     * 消费余额
     */
    private BigDecimal consumeBalance;
    /**
     * 奖金余额
     */
    private BigDecimal bonusBalance;
    /**
     * 现金余额
     */
    private BigDecimal cashBalance;
    /**
     * 扣除消费
     */
    private BigDecimal consumeDeduct;
    /**
     * 扣除奖金
     */
    private BigDecimal bonusDeduct;
    /**
     * 扣除现金
     */
    private BigDecimal cashDeduct;



}
