package com.red.circle.other.infra.database.mongo.service.activity;

import java.util.List;

/**
 * 活动奖励领取标记.
 *
 * @author pengshigang on 2023/2/24
 */
public interface ActivityRewardReceiveMarkService {

  /**
   * 添加记录.
   */
  void add(Long businessId, String activityType, Integer dateNumber, Long rewardId, Long userId);

  /**
   * 查询是否存在标记.
   *
   * @param businessId   业务id
   * @param activityType 活动类型
   * @param dateNumber   日期
   * @param rewardId     奖励id
   * @return true存在
   */
  boolean exist(Long businessId, String activityType, Integer dateNumber, Long rewardId);


  /**
   * 根据条件获得奖励id.
   *
   * @param businessId   业务id
   * @param activityType 活动类型
   * @param dateNumber   日期
   * @return 奖励id集合
   */
  List<Long> getRewardIdsByCondition(Long businessId, String activityType, Integer dateNumber);

}
