
package com.tmerclub.cloud.multishop.dto;

import io.swagger.v3.oas.annotations.media.Schema;

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

/**
 * 商家钱包信息DTO
 *
 * @author lhd
 * @date 2021-01-04 13:55:51
 */
public class ShopWalletDTO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "店铺钱包id")
    private Long shopWalletId;

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

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

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

    @Schema(description = "未结算金额（用户支付）")
    private Long unsettledAmount;

    @Schema(description = "已结算金额（用户确认收货后，可以提现）")
    private Long settledAmount;

    @Schema(description = "冻结金额（用户确认收货）")
    private Long freezeAmount;

    @Schema(description = "累积结算金额")
    private Long totalSettledAmount;

    @Schema(description = "可用短信数量")
    private Integer smsNum;

    @Schema(description = "乐观锁")
    private Long version;

    public Long getShopWalletId() {
        return shopWalletId;
    }

    public void setShopWalletId(Long shopWalletId) {
        this.shopWalletId = shopWalletId;
    }

    public Date getCreateTime() {
        return createTime;
    }

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

    public Date getUpdateTime() {
        return updateTime;
    }

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

    public Long getShopId() {
        return shopId;
    }

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

    public Long getUnsettledAmount() {
        return unsettledAmount;
    }

    public void setUnsettledAmount(Long unsettledAmount) {
        this.unsettledAmount = unsettledAmount;
    }

    public Long getSettledAmount() {
        return settledAmount;
    }

    public void setSettledAmount(Long settledAmount) {
        this.settledAmount = settledAmount;
    }

    public Long getFreezeAmount() {
        return freezeAmount;
    }

    public void setFreezeAmount(Long freezeAmount) {
        this.freezeAmount = freezeAmount;
    }

    public Long getTotalSettledAmount() {
        return totalSettledAmount;
    }

    public void setTotalSettledAmount(Long totalSettledAmount) {
        this.totalSettledAmount = totalSettledAmount;
    }

    public Integer getSmsNum() {
        return smsNum;
    }

    public void setSmsNum(Integer smsNum) {
        this.smsNum = smsNum;
    }

    public Long getVersion() {
        return version;
    }

    public void setVersion(Long version) {
        this.version = version;
    }

    @Override
    public String toString() {
        return "ShopWalletVO{" +
                "shopWalletId=" + shopWalletId +
                ",createTime=" + createTime +
                ",updateTime=" + updateTime +
                ",shopId=" + shopId +
                ",unsettledAmount=" + unsettledAmount +
                ",settledAmount=" + settledAmount +
                ",freezeAmount=" + freezeAmount +
                ",totalSettledAmount=" + totalSettledAmount +
                ",smsNum=" + smsNum +
                ",version=" + version +
                '}';
    }
}
