印度包网
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

66 lines
2.0 KiB

1 year ago
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
}
/*
活跃用户改名为老用户:
定义是老用户今日成功退出总人数平均退出次数当天老用户退出总次数/老用户退出人数
新增用户
定义是今天注册并且成功退出的人数 平均退出次数当天新增用户退出总次数/新增退出人数
首次退出人数
活跃用户新老用户首次成功退出人数
*/