package com.hzs.bonus.bonus.service;

/**
 * 奖金发放
 */
public interface IBonusGrantService {

    /**
     * 每天公布奖金,定时任务
     */
    void publishBonusByPeriodEveryDay();

    /**
     * 每天公放奖金,定时任务
     */
    void grantWithdrawBonusByPeriodEveryDay();

    /**
     * 手动公布奖金
     *
     * @param settleDate 日期
     */
    void publishBonusByPeriod(Integer pkCountry, String settleDate);

    /**
     * 每天发放奖金
     *
     * @param settleDate    发放开始日期
     * @param endSettleDate 发放结束日期
     */
    Boolean grantBonusByPeriod(Integer pkCountry, String settleDate, String endSettleDate);

    /**
     * 指定期数发放奖金
     *
     * @param pkCountry
     * @param settleDate
     */
    void grantBonusByTempPeriod(Integer pkCountry, String settleDate);

    /**
     * 每天奖金提现
     *
     * @param settleDate 日期
     */
    void withdrawalBonusByPeriod(Integer pkCountry, String settleDate, String endSettleDate);

}
