
package com.tmerclub.cloud.common.order.vo;

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

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

/**
 * @author tmerclub
 * @date 2020/12/14
 */
public class ShopCartWithAmountVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "总额")
    private Long totalMoney;

    @Schema(description = "总计")
    private Long finalMoney;

    @Schema(description = "减额")
    private Long subtractMoney;

    @Schema(description = "商品数量")
    private Integer count;

    @Schema(description = "运费", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long freightAmount;

    @Schema(description = "等级免运费金额", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long freeTransfee;

    @Schema(description = "多个店铺的购物车信息")
    private List<ShopCartVO> shopCarts;

    @Schema(description = "运费信息")
    private UserDeliveryInfoVO userDeliveryInfo;

    public UserDeliveryInfoVO getUserDeliveryInfo() {
        return userDeliveryInfo;
    }

    public void setUserDeliveryInfo(UserDeliveryInfoVO userDeliveryInfo) {
        this.userDeliveryInfo = userDeliveryInfo;
    }

    public Long getFreeTransfee() {
        return freeTransfee;
    }

    public void setFreeTransfee(Long freeTransfee) {
        this.freeTransfee = freeTransfee;
    }

    public Long getFreightAmount() {
        return freightAmount;
    }

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

    public Long getTotalMoney() {
        return totalMoney;
    }

    public void setTotalMoney(Long totalMoney) {
        this.totalMoney = totalMoney;
    }

    public Long getFinalMoney() {
        return finalMoney;
    }

    public void setFinalMoney(Long finalMoney) {
        this.finalMoney = finalMoney;
    }

    public Long getSubtractMoney() {
        return subtractMoney;
    }

    public void setSubtractMoney(Long subtractMoney) {
        this.subtractMoney = subtractMoney;
    }

    public Integer getCount() {
        return count;
    }

    public void setCount(Integer count) {
        this.count = count;
    }

    public List<ShopCartVO> getShopCarts() {
        return shopCarts;
    }

    public void setShopCarts(List<ShopCartVO> shopCarts) {
        this.shopCarts = shopCarts;
    }

    @Override
    public String toString() {
        return "ShopCartWithAmountVO{" +
                "totalMoney=" + totalMoney +
                ", finalMoney=" + finalMoney +
                ", subtractMoney=" + subtractMoney +
                ", count=" + count +
                ", freightAmount=" + freightAmount +
                ", freeTransfee=" + freeTransfee +
                ", shopCarts=" + shopCarts +
                ", userDeliveryInfo=" + userDeliveryInfo +
                '}';
    }
}
