package com.red.circle.console.app.service.app.game;

import com.red.circle.console.app.dto.clienobject.game.GameLuckyGiftCO;
import com.red.circle.framework.dto.PageResult;
import com.red.circle.other.inner.model.cmd.game.GameLuckGiftProbabilityConfigQryCmd;
import com.red.circle.other.inner.model.cmd.game.GameLuckGiftRuleConfigQryCmd;
import com.red.circle.other.inner.model.cmd.game.GameLuckGiftStandardConfigQryCmd;
import com.red.circle.other.inner.model.cmd.game.LuckGiftGameCountQryCmd;
import com.red.circle.other.inner.model.cmd.game.LuckGiftGameQryCmd;
import com.red.circle.other.inner.model.dto.game.GameLuckyGiftCountDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyGiftProbabilityDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyGiftProbabilityInfoDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyGiftRuleConfigDTO;
import com.red.circle.other.inner.model.dto.game.GameLuckyGiftStandardConfigDTO;
import com.red.circle.other.inner.model.dto.game.LuckyGiftStandardMapDTO;
import java.util.List;

/**
 * 幸运礼物奖项配置
 * @author zongpubin on 2024/1/24
 */
public interface GameLuckyGiftConfigService {

  PageResult<GameLuckyGiftCO> pageLuckyGiftGameRecord(LuckGiftGameQryCmd query);

  GameLuckyGiftCountDTO countLuckyGiftGame(LuckGiftGameCountQryCmd query);

  List<LuckyGiftStandardMapDTO> listProbability(String sysOrigin);

  GameLuckyGiftRuleConfigDTO getLuckyGiftRuleConfig(GameLuckGiftRuleConfigQryCmd query);

  void addLuckyGiftRuleConfig(GameLuckyGiftRuleConfigDTO param);

  PageResult<GameLuckyGiftStandardConfigDTO> getStandardConfig(GameLuckGiftStandardConfigQryCmd query);

  void addLuckyGiftStandardConfig(GameLuckyGiftStandardConfigDTO param);

  void deleteStandardConfig(Long id, Long reqUserId);

  List<GameLuckyGiftProbabilityDTO> getLuckyGiftProbabilityConfig(
      GameLuckGiftProbabilityConfigQryCmd query);

  void addLuckyGiftProbabilityInfoConfig(GameLuckyGiftProbabilityInfoDTO param);
}
