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

import com.red.circle.other.infra.database.mongo.entity.task.DailyTaskStorage;
import com.red.circle.other.infra.enums.task.DailyTaskStorageStatus;
import java.util.List;

/**
 * 每日任务相关存储.
 *
 * @author pengliang on 2021/5/8
 */
public interface DailyTaskStorageService {

  /**
   * 任务已完成.
   *
   * @param userId   用户id
   * @param taskType 任务类型
   */
  void changeStatusCompleted(Long userId, String taskType);

  /**
   * 改变任务状态.
   *
   * @param userId   用户id
   * @param taskType 任务类型
   */
  void changeStatusReceived(Long userId, String taskType);

  /**
   * 获取任务状态.
   *
   * @param userId   用户id
   * @param taskType 任务类型
   * @return 状态
   */
  DailyTaskStorageStatus getTaskStatus(Long userId, String taskType);

  /**
   * 获取用户任务信息.
   *
   * @param userId 用户id
   * @return ignore
   */
  List<DailyTaskStorage> getByUserId(Long userId);
}

