package com.sonic.lion.service;

import com.sonic.lion.domain.entity.BuffRewardRecord;
import com.sonic.lion.domain.entity.PayCharge;
import com.sonic.lion.domain.enums.ProductRewardType;

import java.time.LocalDateTime;
import java.util.List;

public interface ActivityService {

    /**
     * 根据用户得到 优惠类型
     *
     * @param userId
     * @return
     */
    ProductRewardType getRewardTypeByUserId(Long userId, LocalDateTime createTime, String productId,String version);


    /**
     * 根据用户得到 优惠类型
     *
     * @param userId
     * @return
     */
    List<String> getRewardTypeByUserIdV2(Long userId, LocalDateTime createTime, List<String> productIdList, String version);

    /**
     * 根据用户得到 优惠类型
     * @param userId
     * @param createTime
     * @param productId
     * @param version
     * @return
     */
    PayCharge getRewardTypeByUserIdV2(Long userId, LocalDateTime createTime, String productId, String version);

    /**
     * 保存记录。
     *
     * @param buffRewardRecord
     */
    void saveRecord(BuffRewardRecord buffRewardRecord);
}
