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

import com.red.circle.common.business.dto.cmd.AppExtCommand;
import com.red.circle.common.business.dto.cmd.app.AppUserIdCmd;
import com.red.circle.other.app.dto.clientobject.gift.GiftConfigCO;
import com.red.circle.other.app.dto.clientobject.gift.GiftWallCO;
import com.red.circle.other.app.dto.clientobject.gift.PremiumGiftWallCO;
import com.red.circle.other.app.dto.clientobject.gift.UserGiftBackpackCO;
import com.red.circle.other.app.dto.cmd.gift.GiveAwayGiftBackpackCmd;
import com.red.circle.other.app.dto.cmd.gift.GiveAwayGiftBatchCmd;
import java.math.BigDecimal;
import java.util.List;

/**
 * 礼物相关接口.
 *
 * @author pengliang on 2020/11/18
 */
public interface GiftService {

  List<GiftConfigCO> listSysOriginEffectiveAllGift(AppExtCommand cmd);

  List<UserGiftBackpackCO> listUserGiftBackpack(AppExtCommand cmd);

  void giveAwayGiftBackpack(GiveAwayGiftBackpackCmd cmd);

  BigDecimal giveAwayGiftBatch(GiveAwayGiftBatchCmd cmd);

  BigDecimal giveLuckyGift(GiveAwayGiftBatchCmd cmd);

  List<GiftWallCO> listUserGiftWall(AppUserIdCmd cmd);

  List<PremiumGiftWallCO> listPremiumGiftWallCO(AppExtCommand cmd);

  BigDecimal giveBlessingsGift(GiveAwayGiftBatchCmd cmd);

}
