
package com.tmerclub.cloud.supplier.vo;

import com.tmerclub.cloud.common.vo.BaseVO;
import io.swagger.v3.oas.annotations.media.Schema;

import java.io.Serial;
import java.io.Serializable;

/**
 * 供应商钱包记录VO
 *
 * @author lhd
 * @date 2022-03-14 17:04:32
 */
public class SupplierWalletLogVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "供应商钱包id")
    private Long walletLogId;

    @Schema(description = "序号")
    private Long index;
    @Schema(description = "供应商ID")
    private Long supplierId;

    @Schema(description = "供应商名称")
    private String supplierName;

    @Schema(description = "代销商家名称")
    private String partnerMerchantName;

    @Schema(description = "关联订单id")
    private Long orderId;

    @Schema(description = "关联订单项id")
    private Long orderItemId;

    @Schema(description = "订单运费")
    private Long freightAmount;

    @Schema(description = "退款单号")
    private Long refundId;

    @Schema(description = "收支类型 0支出 1收入")
    private Integer ioType;

    @Schema(description = "金额类型 0 未结算金额 1可提现金额  2冻结金额")
    private Integer amountType;

    @Schema(description = "改变金额")
    private Long changeAmount;

    @Schema(description = "原因 0用户支付 1用户确认收货 2 用户退款申请 3 拒绝用户退款申请 4 提现申请 5 提现申请被拒绝")
    private Integer reason;

    @Schema(description = "用户金额（支付实付金额，退款实际申请金额）")
    private Long userAmount;

    @Schema(description = "平台补贴金额")
    private Long platformAmount;

    @Schema(description = "分销占用金额")
    private Long distributionAmount;

    @Schema(description = "平台佣金")
    private Long platformCommission;

    @Schema(description = "供应商优惠金额")
    private Long supplierReduceAmount;

    @Schema(description = "商品总金额")
    private Long totalAmount;

    public Long getIndex() {
        return index;
    }

    public void setIndex(Long index) {
        this.index = index;
    }

    public Long getWalletLogId() {
        return walletLogId;
    }

    public void setWalletLogId(Long walletLogId) {
        this.walletLogId = walletLogId;
    }

    public Long getSupplierId() {
        return supplierId;
    }

    public void setSupplierId(Long supplierId) {
        this.supplierId = supplierId;
    }

    public String getSupplierName() {
        return supplierName;
    }

    public void setSupplierName(String supplierName) {
        this.supplierName = supplierName;
    }

    public String getPartnerMerchantName() {
        return partnerMerchantName;
    }

    public void setPartnerMerchantName(String partnerMerchantName) {
        this.partnerMerchantName = partnerMerchantName;
    }

    public Long getFreightAmount() {
        return freightAmount;
    }

    public void setFreightAmount(Long freightAmount) {
        this.freightAmount = freightAmount;
    }

    public Long getOrderId() {
        return orderId;
    }

    public void setOrderId(Long orderId) {
        this.orderId = orderId;
    }

    public Long getOrderItemId() {
        return orderItemId;
    }

    public void setOrderItemId(Long orderItemId) {
        this.orderItemId = orderItemId;
    }

    public Long getRefundId() {
        return refundId;
    }

    public void setRefundId(Long refundId) {
        this.refundId = refundId;
    }

    public Integer getIoType() {
        return ioType;
    }

    public void setIoType(Integer ioType) {
        this.ioType = ioType;
    }

    public Integer getAmountType() {
        return amountType;
    }

    public void setAmountType(Integer amountType) {
        this.amountType = amountType;
    }

    public Long getChangeAmount() {
        return changeAmount;
    }

    public void setChangeAmount(Long changeAmount) {
        this.changeAmount = changeAmount;
    }

    public Integer getReason() {
        return reason;
    }

    public void setReason(Integer reason) {
        this.reason = reason;
    }

    public Long getUserAmount() {
        return userAmount;
    }

    public void setUserAmount(Long userAmount) {
        this.userAmount = userAmount;
    }

    public Long getPlatformAmount() {
        return platformAmount;
    }

    public void setPlatformAmount(Long platformAmount) {
        this.platformAmount = platformAmount;
    }

    public Long getDistributionAmount() {
        return distributionAmount;
    }

    public void setDistributionAmount(Long distributionAmount) {
        this.distributionAmount = distributionAmount;
    }

    public Long getPlatformCommission() {
        return platformCommission;
    }

    public void setPlatformCommission(Long platformCommission) {
        this.platformCommission = platformCommission;
    }

    public Long getSupplierReduceAmount() {
        return supplierReduceAmount;
    }

    public void setSupplierReduceAmount(Long supplierReduceAmount) {
        this.supplierReduceAmount = supplierReduceAmount;
    }

    public Long getTotalAmount() {
        return totalAmount;
    }

    public void setTotalAmount(Long totalAmount) {
        this.totalAmount = totalAmount;
    }

    @Override
    public String toString() {
        return "SupplierWalletLogVO{" +
                "walletLogId=" + walletLogId +
                ", index=" + index +
                ", supplierId=" + supplierId +
                ", supplierName='" + supplierName + '\'' +
                ", partnerMerchantName='" + partnerMerchantName + '\'' +
                ", orderId=" + orderId +
                ", orderItemId=" + orderItemId +
                ", freightAmount=" + freightAmount +
                ", refundId=" + refundId +
                ", ioType=" + ioType +
                ", amountType=" + amountType +
                ", changeAmount=" + changeAmount +
                ", reason=" + reason +
                ", userAmount=" + userAmount +
                ", platformAmount=" + platformAmount +
                ", distributionAmount=" + distributionAmount +
                ", platformCommission=" + platformCommission +
                ", supplierReduceAmount=" + supplierReduceAmount +
                ", totalAmount=" + totalAmount +
                '}';
    }
}
