package com.czg.account.dto.points;

import lombok.Data;

import java.io.Serial;
import java.io.Serializable;
import java.math.BigDecimal;

/**
 * 获取会员可用积分
 *
 * @author tankaikai
 * @since 2024-10-26 11:40
 */
@Data
public class OrderDeductionPointsDTO implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 本单最多可抵扣多少积分
     */
    private Integer maxUsablePoints;
    /**
     * 根据策略计算出的最少可以抵扣的金额
     */
    private BigDecimal minDeductionAmount;
    /**
     * 根据策略计算出的最多可以抵扣的金额
     */
    private BigDecimal maxDeductionAmount;
    /**
     * 下单实付抵扣门槛(实付金额不低于这个值)
     */
    private BigDecimal minPaymentAmount;
    /**
     * 下单积分抵扣门槛(每次使用不低于这个值)
     */
    private Integer minDeductionPoints;
    /**
     * 会员账户积分
     */
    private Integer accountPoints;
    /**
     * 订单金额 (扣除各类折扣)
     */
    private BigDecimal orderAmount;
    /**
     * 使用的积分数量
     */
    private Integer usedPoints;
    /**
     * 实际抵扣的金额
     */
    private BigDecimal deductionAmount;
    /**
     * 下单抵扣积分比例 1元=?积分
     */
    private Integer equivalentPoints;
    /**
     * 不可抵扣原因
     */
    private String unusableReason;
    /**
     * 是否可用 1-可用 0-不可用
     */
    private Boolean usable;


}
