package com.yami.shop.bean.dto.hb;

import com.fasterxml.jackson.annotation.JsonInclude;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 * 订单费用信息
 * 海博
 *
 * @author
 * @version 1.0.0
 * @since 2025-09-XX
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@JsonInclude(JsonInclude.Include.NON_NULL)
public class OrderFee {

    /**
     * 单位分，订单总金额，包含所有费用
     */
    private Long originalPrice;

    /**
     * 单位分，用户实付
     */
    private Long userPayPrice;

    /**
     * 单位分，订单应结金额
     */
    private Long orderSettlement;

    /**
     * 单位分，订单包装费用
     */
    private Long packingPay;

    /**
     * 单位分，餐盒费
     */
    private Long lunchboxPay;

    /**
     * 单位分，货到付款费用（医药类）
     */
    private Long cashOnDeliveryMedicine;

    /**
     * 单位分，该订单商家需要支付给平台的费用
     */
    private Long pointDeduction;

    /**
     * 单位分，冷链费用
     */
    private Long coldBoxFee;

    /**
     * 单位分，取件服务费
     */
    private Long pickUpPartsServerFee;

    /**
     * 单位分，优惠前的配送费
     */
    private Long shippingFee;

    /**
     * 单位分，商家配送费补贴
     */
    private Long businessShippingFeeSubsidy;

    /**
     * 单位分，平台配送费补贴
     */
    private Long platformShippingFeeSubsidy;

    /**
     * 单位分，商家整单补贴
     */
    private Long businessOrderSubsidy;

    /**
     * 单位分，平台整单补贴
     */
    private Long platformOrderSubsidy;

    /**
     * 单位分，商家商品总补贴
     */
    private Long businessProductSubsidy;

    /**
     * 单位分，平台商品总补贴
     */
    private Long platformProductSubsidy;

    /**
     * 单位分，订单总优惠金额
     */
    private Long totalOrderDiscount;

    /**
     * 单位分，商品销售总金额，优惠前商品总价
     */
    private Long productSaleTotalPrice;

    /**
     * 单位分，用户积分抵扣金额
     */
    private Long userIntegralDeduction;

    /**
     * 单位分，订单改价金额，与商家协议后改的金额，正数表示降价，负数表示涨价
     */
    private Long adjustFee;
}
