package com.red.circle.other.app.service.activity;

import com.red.circle.common.business.dto.cmd.app.AppTypeCmd;
import com.red.circle.other.app.dto.clientobject.activity.AgentActivityHistoryCO;
import com.red.circle.other.app.dto.clientobject.activity.AgentActivityOwnCO;
import com.red.circle.other.inner.model.dto.activity.props.ActivityRewardProps;
import java.util.List;
import java.util.Map;

/**
 * <p>
 * 代理活动.
 * </p>
 *
 * @author pengshigang
 * @since 2023-05-29
 */
public interface AgentActivityService {

  /**
   * 最新用户列表.
   */
  List<AgentActivityOwnCO> listNewUser(AppTypeCmd cmd);

  /**
   * 历史用户列表.
   */
  List<AgentActivityHistoryCO> listHistoryUser(AppTypeCmd cmd);

  /**
   * 自己数据.
   */
  AgentActivityOwnCO getOwnUser(AppTypeCmd cmd);

  /**
   * 活动奖励池
   */
  List<List<ActivityRewardProps>> listRewardPool(AppTypeCmd cmd);

  /**
   * 倒计时.
   *
   * @return WEEK/MONTH
   */
  Map<String, Long> mapCountdown();

}
