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 ReviewWithdrawData(c *gin.Context) { a := app.NewApp(c) defer func() { a.Response() }() req := new(values.ReviewWithdrawDataReq) if !a.S(req) { return } resp := values.ReviewWithdrawDataResp{} su, eu := utils.GetQueryUnix(req.Start, req.End) flag1 := false flag2 := true // 老用户退出成功人数 oldWithdrawSuccessCount := models.GetWithdrawPlayer(&su, &eu, req.ChannelID, &flag1, flag1) // 老用户退出人数 oldWithdrawCount := models.GetOldWithdrawCount(req.ChannelID, su, eu) // 老用户退出次数 oldWithdrawCount2 := models.GetOldWithdrawCount2(req.ChannelID, su, eu) resp.List = append(resp.List, values.OneReviewWithdrawData{Count: oldWithdrawSuccessCount, AVG: utils.GetPoint(oldWithdrawCount2, oldWithdrawCount)}) // 新用户退出成功人数 newWithdrawSuccessCount := models.GetWithdrawPlayer(&su, &eu, req.ChannelID, &flag2, flag1) // 新用户退出人数 newWithdrawCount := models.GetNewWithdrawCount(req.ChannelID, su, eu) // 新用户退出次数 newWithdrawCount2 := models.GetNewWithdrawCount2(req.ChannelID, su, eu) resp.List = append(resp.List, values.OneReviewWithdrawData{Count: newWithdrawSuccessCount, AVG: utils.GetPoint(newWithdrawCount2, newWithdrawCount)}) // 首次退出人数 firstWithdrawPlayer := models.GetWithdrawPlayer(&su, &eu, req.ChannelID, nil, flag2) resp.List = append(resp.List, values.OneReviewWithdrawData{Count: firstWithdrawPlayer}) a.Data = resp } /* 活跃用户(改名为:老用户): 定义是老用户今日成功退出总人数。平均退出次数:当天老用户退出总次数/老用户退出人数 新增用户: 定义是今天注册并且成功退出的人数 平均退出次数:当天新增用户退出总次数/新增退出人数 首次退出人数: 活跃用户(新老用户)首次成功退出人数 */