package com.hzs.activity.consume.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hzs.activity.base.vo.AcMemberConsumeRuleVo;
import com.hzs.common.domain.activity.consume.AcMemberConsumeRule;
import com.hzs.system.sys.dto.ApprovalBusinessResultDTO;
import com.hzs.common.domain.activity.consume.ext.AcMemberConsumeRuleExt;

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

/**
 * 会员消费赠送活动规则配置
 **/
public interface IAcMemberConsumeRuleService extends IService<AcMemberConsumeRule> {

    /**
     * 会员消费赠送发起签呈
     **/
    String onLinePetition(AcMemberConsumeRuleVo memberConsumeRuleVo);

    /**
     * 会员消费赠审批
     **/
    String approvalAgree(ApprovalBusinessResultDTO approvalBusinessResultDTO);

    /**
     * 规则列表以及商品信息
     *
     * @param startDate   开始时间
     * @param endDate     结束时间
     * @param pkGrade     结算等级
     * @param memberPoint 会员点位数量
     * @param pkCountry   所属国家
     * @return
     */
    List<AcMemberConsumeRuleExt> listRuleAndProduct(Date startDate, Date endDate, Integer pkGrade, Integer memberPoint, Integer pkCountry);

    /**
     * 新增会员消费活动
     **/
    Long saveMemberConsumeRule(AcMemberConsumeRuleVo mcrVo);

    /**
     * 修改会员消费活动规则表
     **/
    void updateConsumptionGift(AcMemberConsumeRuleVo mcrVo);

    /**
     * 删除会员消费活动
     **/
    void removeActivity(Integer pkId);
}
