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