
package com.tmerclub.cloud.multishop.vo;

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

import java.io.Serial;
import java.io.Serializable;
import java.util.Date;

/**
 * 商家钱包记录VO
 *
 * @author lhd
 * @date 2021-01-04 13:55:51
 */
public class ShopWalletLogVO extends BaseVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "序号")
    private Long index;

    @Schema(description = "店铺钱包id")
    private Long walletLogId;

    @Schema(description = "创建时间")
    private Date createTime;

    @Schema(description = "更新时间")
    private Date updateTime;

    @Schema(description = "店铺id")
    private Long shopId;

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

    @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 shopReduceAmount;

    @Schema(description = "商家名称")
    private String shopName;

    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 getShopId() {
        return shopId;
    }

    public void setShopId(Long shopId) {
        this.shopId = shopId;
    }

    public Long getOrderId() {
        return orderId;
    }

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

    public Integer getIoType() {
        return ioType;
    }

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

    @Override
    public Date getCreateTime() {
        return createTime;
    }

    @Override
    public void setCreateTime(Date createTime) {
        this.createTime = createTime;
    }

    public Long getRefundId() {
        return refundId;
    }

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

    @Override
    public Date getUpdateTime() {
        return updateTime;
    }

    public Long getUserAmount() {
        return userAmount;
    }

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

    @Override
    public void setUpdateTime(Date updateTime) {
        this.updateTime = updateTime;
    }

    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 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 getShopReduceAmount() {
        return shopReduceAmount;
    }

    public void setShopReduceAmount(Long shopReduceAmount) {
        this.shopReduceAmount = shopReduceAmount;
    }

    public String getShopName() {
        return shopName;
    }

    public void setShopName(String shopName) {
        this.shopName = shopName;
    }

    @Override
    public String toString() {
        return "ShopWalletLogVO{" +
                "index=" + index +
                ", walletLogId=" + walletLogId +
                ", createTime=" + createTime +
                ", updateTime=" + updateTime +
                ", shopId=" + shopId +
                ", orderId=" + orderId +
                ", refundId=" + refundId +
                ", ioType=" + ioType +
                ", amountType=" + amountType +
                ", changeAmount=" + changeAmount +
                ", reason=" + reason +
                ", userAmount=" + userAmount +
                ", platformAmount=" + platformAmount +
                ", distributionAmount=" + distributionAmount +
                ", platformCommission=" + platformCommission +
                ", shopReduceAmount=" + shopReduceAmount +
                ", shopName='" + shopName + '\'' +
                '}';
    }
}
