package com.hzs.activity.base;

import com.hzs.common.core.domain.R;
import com.hzs.common.domain.sale.ext.BdWaresDetailExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;

import java.util.List;

/**
 * 所有活动的生效，获得赠品入口
 */
public interface IActivityServiceApi {

    /*
     *  活动赠送，商品买赠，订单业绩买赠
     **/
    R<List<BdWaresDetailExt>> generateActivityGiftWaresAchieve(Integer specialArea, Integer pkCountry, List<BdWaresDetailExt> bdWaresDetailExtList);

    /*
     *  处理活动
     **/
    R<Boolean> handleActivity(SaOrderExt saOrderExt);

    /*
     *  撤单时回退抽奖次数
     **/
    R<Boolean> backGiveMemberDrawNum(SaOrderExt saOrderExt);

    /**
     * 撤单退回政策币
     *
     * @param saOrderExt 订单信息
     * @return
     */
    R<Boolean> backGiveOrderPolicy(SaOrderExt saOrderExt);

    /**
     * 复消币赠送处理
     *
     * @param saOrderExt 订单信息
     * @return
     */
    R<Boolean> recoilGiveHandle(SaOrderExt saOrderExt);

    /**
     * 复消币赠送撤单处理
     *
     * @param saOrderExt 订单信息
     * @return
     */
    R<Boolean> recoilGiveCancelHandle(SaOrderExt saOrderExt);

}
