package com.tailbet.service; import com.tailbet.model.entity.RedPacket; import com.tailbet.model.entity.RedPacketRecv; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import java.math.BigDecimal; import java.util.List; /** * 红包Service接口 */ public interface IRedPacketService { // 红包状态 int STATUS_ONGOING = 0; int STATUS_FINISHED = 1; int STATUS_REFUND = 2; // 红包类型 String TYPE_GAME = "game"; String TYPE_RANDOM = "random"; /** * 发红包 */ RedPacket sendRp(Long userId, Long groupId, BigDecimal totalAmount, Integer totalCount, Long roundId); /** * 领红包 */ RedPacketRecv receiveRp(Long rpId, Long userId); /** * 计算领取金额 */ BigDecimal calculateReceiveAmount(RedPacket rp); /** * 获取红包详情 */ RedPacket getById(Long rpId); /** * 获取红包领取列表 */ List getReceives(Long rpId); /** * 查询红包记录 */ Page getRecords(Long userId, Integer pageNum, Integer pageSize); /** * 查询已收红包记录 */ Page getReceivedRecords(Long userId, Integer pageNum, Integer pageSize); /** * 查找进行中的游戏红包 */ RedPacket getOngoingGameRp(Long groupId); }