package com.hzs.activity.base;

import com.hzs.activity.dto.AcRecommendUpgradeDTO;
import com.hzs.common.core.domain.R;
import com.hzs.common.domain.activity.recommend.AcRepurCouponsRuleConfig;
import com.hzs.common.domain.activity.recommend.ext.AcRepurSharRuleConfigExt;
import com.hzs.common.domain.sale.ext.SaOrderExt;

import java.util.Date;
import java.util.List;

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

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

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

    /*
     *  查询目前所有启用的复购券规则
     **/
    R<List<AcRepurCouponsRuleConfig>> queryAcRepurchaseCouponsRule(Date settleDate);

    /*
     *  查询复购券均分收益
     **/
    R<List<AcRepurSharRuleConfigExt>> queryRepurSharRuleConfig(Date startDate, Date endDate);

    /**
     * 调用调用直推升级接口
     *
     * @param recommendUpgradeDTO 入参
     * @return Boolean
     */
    R<Boolean> invokeRecommendUpgrade(AcRecommendUpgradeDTO recommendUpgradeDTO);


}
