package statistics import ( "server/modules/backend/app" "server/modules/backend/models" utils "server/modules/backend/util" "server/modules/backend/values" "github.com/gin-gonic/gin" ) func PlayGameDataMillionGame(c *gin.Context) { a := app.NewApp(c) defer func() { a.Response() }() req := new(values.PlayGameDataReq) if !a.S(req) { return } resp := values.PlayMillionGameDataResp{} su, eu := utils.GetQueryUnix(req.Start, req.End) var oneDay int64 = 24 * 60 * 60 for i := su; i < eu; i += oneDay { s := i e := i + oneDay resp.List = append(resp.List, getMillionGameStatisticsInfo(&s, &e, req.Channel, &req.GameId)) } a.Data = resp } // 获取百人场统计数据 func getMillionGameStatisticsInfo(s, e *int64, channel *int, gameId *int) values.MillionStatisticsInfo { var millionStatistics values.MillionStatisticsInfo // 日期 millionStatistics.Date = *s // 总人数 millionStatistics.PlayerCount = models.GetPlayerCount(s, e, channel, gameId, nil) // 总局数 // GameCount := models.GetMillionGameTotal(s, e, channel, gameId, nil, nil) // millionStatistics.GameCount = GameCount // 总利润 // millionStatistics.Profit = models.GetMillionGameProfit(s, e, channel, nil, gameId, nil) millionGameData := make(map[string]map[string]interface{}) // for i := 0; i < len(common.RoomIDs); i++ { // gameData := make(map[string]interface{}) // for j := 0; j < len(common.MillionGameResult); j++ { // result := strconv.Itoa(common.MillionGameResult[j]) // gameData[result] = getMillionStatisticsData(s, e, channel, gameId, &common.RoomIDs[i], &result, &GameCount) // } // millionGameData[strconv.Itoa(common.RoomIDs[i])] = gameData // } millionStatistics.MillionGameData = millionGameData return millionStatistics } // func getMillionStatisticsData(s, e *int64, channel, gameId, roomID *int, result *string, gameCount *int64) interface{} { // if result != nil && gameId != nil { // if *result == "1" && *gameId == common.MillionGameIDs[2].(int) { // data := make(map[string]int64) // for i := 0; i < 8; i++ { // if i == 0 { // field := "TigerBet" // data[strconv.Itoa(i)] = models.GetMillionBetCount(s, e, nil, channel, gameId, roomID, &field) // continue // } // field := fmt.Sprintf("Bet%d", i+2) // data[strconv.Itoa(i)] = models.GetMillionBetCount(s, e, nil, channel, gameId, roomID, &field) // } // return data // } else { // var res values.MillionGameStatisticsData // var start int64 = 0 // gameTotal := models.GetMillionGameTotal(s, e, channel, gameId, roomID, result) // res.GameCount = gameTotal // res.WinPer = utils.GetPer(models.GetMillionGameProfitCount(s, e, channel, roomID, gameId, &start, result), gameTotal) // res.GameCountPer = utils.GetPer(gameTotal, *gameCount) // res.Balance = models.GetMillionGameProfit(s, e, channel, roomID, gameId, result) // return res // } // } // return nil // }