package com.game.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.game.business.domain.AppGameBetting;
import com.game.business.dto.FinTranRecordDTO;
import com.game.business.vo.AppGameBettingDetailsCountVO;
import com.game.business.vo.AppUserGameBettingCountVO;
import com.game.business.vo.AppUserGameBettingDetailsCountVO;

import java.math.BigDecimal;
import java.util.List;
import java.util.Map;

public interface IAppGameBettingService extends IService<AppGameBetting> {

    List<AppGameBetting> getIsWinning(Long classId, Long gameId, String gameDate, Integer isWinning);

    boolean updateById(AppGameBetting appGameBetting);

    boolean save(AppGameBetting appGameBetting);

    List<AppGameBettingDetailsCountVO> getCount(String strDate, Long userId, Integer bettingType);

    List<AppUserGameBettingCountVO> getUserCount(Long gameId, Long userId, Integer bettingType);

    List<AppUserGameBettingDetailsCountVO> getUserBettingItemCount(Long gameId, String gameDate, Long userId, Integer bettingType);

    List<AppGameBetting> getUserBettingItem(Long gameId, String gameDate, Long userId, Integer bettingType);

    List<AppGameBetting> selectListByGameId(Long gameId, Long userId, Integer isWinning, String strDate, Integer bettingType);

    List<AppGameBetting> getNotLottery(Integer isWinning);

    /**
     * 根据日期查询投注情况
     * */
    List<AppGameBetting> selectListByDate( Long userId, String beginTime, String endTime,Long gameId,String gameDate);

    Map<String, BigDecimal> getBettingAmountSum(Long userId);

    Map<String, BigDecimal> getBettingAmountByDateSum(FinTranRecordDTO finTranRecordDTO);
}
