package com.czg.product.vo;

import lombok.Data;

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

/**
 * 商品统计
 *
 * @author tankaikai
 * @since 2025-03-12 17:34
 */
@Data
public class ProductStatisticsVo implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 增加数量
     */
    private BigDecimal inSumTotal = BigDecimal.ZERO;
    /**
     * 盘盈增加数量（手动增加）
     */
    private BigDecimal winInNum = BigDecimal.ZERO;
    /**
     * 退货数量
     */
    private BigDecimal refundInNum = BigDecimal.ZERO;
    /**
     * 减少数量
     */
    private BigDecimal outSumTotal = BigDecimal.ZERO;
    /**
     * 盘亏减少数量（手动减少）
     */
    private BigDecimal lossOutNum = BigDecimal.ZERO;
    /**
     * 销售数量
     */
    private BigDecimal salesNum = BigDecimal.ZERO;
    /**
     * 报损数量
     */
    private BigDecimal damageNum = BigDecimal.ZERO;

    public BigDecimal getInSumTotal() {
        return inSumTotal == null ? BigDecimal.ZERO : inSumTotal;
    }

    public BigDecimal getWinInNum() {
        return winInNum == null ? BigDecimal.ZERO : winInNum;
    }

    public BigDecimal getRefundInNum() {
        return refundInNum == null ? BigDecimal.ZERO : refundInNum;
    }

    public BigDecimal getOutSumTotal() {
        return outSumTotal == null ? BigDecimal.ZERO : outSumTotal;
    }

    public BigDecimal getLossOutNum() {
        return lossOutNum == null ? BigDecimal.ZERO : lossOutNum;
    }

    public BigDecimal getSalesNum() {
        return salesNum == null ? BigDecimal.ZERO : salesNum;
    }

    public BigDecimal getDamageNum() {
        return damageNum == null ? BigDecimal.ZERO : damageNum;
    }
}
