package cn.freemud.service;

import cn.freemud.base.entity.BaseResponse;
import cn.freemud.entities.dto.delivery.CallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.MacCafeCallbackUrlRequestDto;
import cn.freemud.entities.dto.delivery.MallCallbackRequestDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.entities.vo.delivery.DeliveryAmountVo;

/**
 * 配送服务
 */
public interface ThirdDeliveryService {

    /**
     * 配送回调
     */
    BaseResponse callbackUrl(CallbackUrlRequestDto request);

    /**
     * 配送回调
     */
    BaseResponse macCafeCallbackUrl(MacCafeCallbackUrlRequestDto request);


    /**
     * 商城配送回调
     */
    BaseResponse mallCallbackUrl(MallCallbackRequestDto request);

    /**
     * 查询微信配送地址配送费
     */
    BaseResponse<DeliveryAmountVo> queryDeliveryAmount(WeixinDeliveryAddressDto request);

    /**
     * 配送异常回调
     */
    BaseResponse errorCallbackUrl(CallbackUrlRequestDto request);
}
