package cn.freemud.service.mccafe;

import com.freemud.application.sdk.api.couponcenter.offline.response.CouponBaseResponse;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponQueryResponse;
import com.freemud.application.sdk.api.couponcenter.offline.response.CouponRedeemResponse;
import cn.freemud.entities.dto.coupon.MCCafeConponRequest;
import cn.freemud.entities.dto.coupon.MCCafeCouponLockRequest;
import com.freemud.sdk.api.assortment.order.request.order.CreateOrderAccountRequest;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;

import java.util.List;

public interface CouponClientService {

    CouponRedeemResponse redeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);

    CouponRedeemResponse redeem(MCCafeConponRequest mcCafeConponRequest);

    CouponRedeemResponse redeemBatch(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);

    CouponRedeemResponse cancelRedeem(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);

    CouponQueryResponse query(MCCafeConponRequest mcCafeConponRequest);

    CouponBaseResponse lock(QueryOrdersResponse.DataBean.OrderBean orderBean, List<CreateOrderAccountRequest> accounts);

    CouponBaseResponse unlock(MCCafeCouponLockRequest mcCafeCouponLockRequest);
}
