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

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

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

/**
 * 店铺运费信息
 *
 * @author tmerclub
 * @date 2020/12/16
 */
public class ShopTransFeeVO implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
    @Schema(description = "免运费金额", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long freeTransfee;

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

    @Schema(description = "运费模板id", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long deliveryTemplateId;

    @Schema(description = "供应商id", requiredMode = Schema.RequiredMode.REQUIRED)
    private Long supplierId;

    public Long getSupplierId() {
        return supplierId;
    }

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

    public Long getFreeTransfee() {
        return freeTransfee;
    }

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

    public Long getTransfee() {
        return transfee;
    }

    public void setTransfee(Long transfee) {
        this.transfee = transfee;
    }

    public Long getDeliveryTemplateId() {
        return deliveryTemplateId;
    }

    public void setDeliveryTemplateId(Long deliveryTemplateId) {
        this.deliveryTemplateId = deliveryTemplateId;
    }

    @Override
    public String toString() {
        return "ShopTransFeeVO{" +
                "freeTransfee=" + freeTransfee +
                ", transfee=" + transfee +
                ", deliveryTemplateId=" + deliveryTemplateId +
                ", supplierId=" + supplierId +
                '}';
    }

    /**
     * 店铺运费模板运费 （订单中使用同一个运费模板商品所需的运费）
     */
    public static class DeliveryTemplateTransFee implements Serializable {
    @Serial
    private static final long serialVersionUID = 1L;
        /**
         * 免运费金额
         */
        private Long freeTransfee;

        /**
         * 运费
         */
        private Long transfee;

        public Long getFreeTransfee() {
            return freeTransfee;
        }

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

        public Long getTransfee() {
            return transfee;
        }

        public void setTransfee(Long transfee) {
            this.transfee = transfee;
        }
    }
}
