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

import com.red.circle.common.business.dto.cmd.AppExtCommand;
import com.red.circle.other.app.command.activity.query.LastWeekCpUsersTop3QueryExe;
import com.red.circle.other.app.command.activity.query.RewardPoolQueryExe;
import com.red.circle.other.app.command.activity.query.WeekCpUserGiftQueryExe;
import com.red.circle.other.app.dto.clientobject.activity.ActivityCpUserRankingCO;
import com.red.circle.other.app.dto.clientobject.activity.ActivityWeekCpGiftCO;
import com.red.circle.other.app.dto.clientobject.activity.RewardPoolCO;
import com.red.circle.other.app.dto.cmd.activity.RewardPoolCmd;
import java.util.List;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;

/**
 * 首充奖励池.
 *
 * @author pengshigang on 2021/8/3
 */
@Service
@RequiredArgsConstructor
public class WeekCpUserGiftServiceImpl implements WeekCpUserGiftService {

  private final RewardPoolQueryExe rewardPoolQueryExe;
  private final WeekCpUserGiftQueryExe weekCpUserGiftQueryExe;
  private final LastWeekCpUsersTop3QueryExe lastWeekCpUsersTop3QueryExe;

  @Override
  public List<RewardPoolCO> listRewardPool(RewardPoolCmd cmd) {
    return rewardPoolQueryExe.execute(cmd);
  }

  @Override
  public ActivityWeekCpGiftCO weekData(AppExtCommand cmd) {
    return weekCpUserGiftQueryExe.execute(cmd);
  }

  @Override
  public List<ActivityCpUserRankingCO> lastWeekUsersTop3(AppExtCommand cmd) {
    return lastWeekCpUsersTop3QueryExe.execute(cmd);
  }
}
