Browse Source

update 新增询总提现数量,总注册人数接口

Alvin 8 tháng trước cách đây
mục cha
commit
6168fb473c

+ 11 - 0
game/game_cluster/nodes/webadmin/controller/synthesis.go

@@ -54,6 +54,17 @@ func (s *Synthesis) FindUserLogDaily(ctx *gin.Context) {
 	common.PackOkResult(ctx, code.OK, resp)
 }
 
+// FindUserLogTotal 查询总提现数量,总注册人数,
+func (s *Synthesis) FindUserLogTotal(ctx *gin.Context) {
+	resp, err := s.sev.FindMDBUserLogTotal()
+	if err != nil {
+		common.PackOkResult(ctx, code.ParamError)
+		return
+	}
+
+	common.PackOkResult(ctx, code.OK, resp)
+}
+
 // FindUserRetention 查询用户留存
 func (s *Synthesis) FindUserRetention(ctx *gin.Context) {
 	var req entity.UserRetentionReq

+ 5 - 0
game/game_cluster/nodes/webadmin/entity/user_log_daily.go

@@ -30,3 +30,8 @@ type UserLogDailyReq struct {
 	Page      int    `json:"page"`
 	Size      int    `json:"size"`
 }
+
+type UserLogTotalResp struct {
+	Registered int     `bson:"registered" json:"registered"` // registered: 总注册人数
+	UCashout   float64 `bson:"u_cashout" json:"u_cashout"`   // u_cashout: 全服U的提现总值
+}

+ 1 - 0
game/game_cluster/nodes/webadmin/router/router.go

@@ -52,6 +52,7 @@ func (c *Controller) InitApiRouter(u *gin.RouterGroup) {
 	// 用户统计
 	u.POST("/statistics/user/list", controller.NewSynthesis(nodeId).UserList)
 	u.POST("/user/log/daily", controller.NewSynthesis(nodeId).FindUserLogDaily)
+	u.POST("/user/log/total", controller.NewSynthesis(nodeId).FindUserLogTotal)
 
 	// 玩家相关信息
 	u.POST("/player/list", controller.NewPlayerManage().GetPlayerlist)

+ 44 - 0
game/game_cluster/nodes/webadmin/service/synthesis.go

@@ -413,6 +413,50 @@ func (s *Synthesis) FindMDBUserLogDaily(req entity.UserLogDailyReq) (*entity.Use
 	}, nil
 }
 
+// FindUserLogTotal 查询总提现数量,总注册人数,
+func (s *Synthesis) FindMDBUserLogTotal() (*entity.UserLogTotalResp, error) {
+	collection := mdb.MDB.Collection(constant.CNamePlayerDailyRecord)
+
+	ctx, cancel := context.WithTimeout(context.Background(), 100*time.Second)
+	defer cancel()
+
+	filter := bson.M{}
+	filter["daily"] = bson.M{
+		"$gte": 0,
+	}
+
+	cursor, err := collection.Find(ctx, filter, nil)
+	if err != nil {
+		return nil, err
+	}
+	defer cursor.Close(ctx)
+
+	// 解析查询结果
+	var results []entity.UserLogDailyDetail
+
+	for cursor.Next(ctx) {
+		var result entity.UserLogDailyDetail
+		err := cursor.Decode(&result)
+		if err != nil {
+			return nil, err
+		}
+		results = append(results, result)
+	}
+
+	registerCount := 0
+	var uCashoutCount float64
+
+	for _, v := range results {
+		registerCount += v.Registered
+		uCashoutCount += v.UCashout
+	}
+
+	return &entity.UserLogTotalResp{
+		Registered: registerCount,
+		UCashout:   uCashoutCount,
+	}, nil
+}
+
 // FindWithdrawal 根据请求查询提现记录
 func (s *Synthesis) FindWithdrawal(req entity.UserWithdrawalReq) (*entity.UserWithdrawalResp, *code.Result) {
 	page, pageSize := checkPageParam(req.Page, req.Size)