|
@@ -255,6 +255,7 @@ func (s *Synthesis) FindMDBUserLogDaily(req entity.UserLogDailyReq) (*entity.Use
|
|
|
func (s *Synthesis) FindWithdrawal(req entity.UserWithdrawalReq) (*entity.UserWithdrawalResp, *code.Result) {
|
|
|
page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
|
|
|
+ // TODO 是否需要校验货币类型
|
|
|
// if !constant.CurrencyValid(req.Currency) {
|
|
|
// mhayaLogger.Warnf("FindWithdrawal unknow currency:%v", req.Currency)
|
|
|
// return nil, common.NewResult(code.ParamError)
|
|
@@ -797,16 +798,7 @@ func (s *Synthesis) Turntable(req entity.TurntableReq) (*entity.TurntableResp, *
|
|
|
func (s *Synthesis) Assets(req entity.AssetsReq) (*entity.AssetsResp, *code.Result) {
|
|
|
page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
|
|
|
- playerMgr := NewPlayerManage()
|
|
|
- listResp, codeResult := playerMgr.List(context.Background(), entity.PlayerListReq{
|
|
|
- Page: page,
|
|
|
- Size: pageSize,
|
|
|
- })
|
|
|
- if codeResult != nil {
|
|
|
- mhayaLogger.Warnf("Assets List error:%v", codeResult)
|
|
|
- return nil, codeResult
|
|
|
- }
|
|
|
-
|
|
|
+ // 根据条件查询
|
|
|
if req.UserName != "" || req.OpenId != "" {
|
|
|
// 构建查询条件
|
|
|
filter := bson.M{}
|
|
@@ -825,55 +817,18 @@ func (s *Synthesis) Assets(req entity.AssetsReq) (*entity.AssetsResp, *code.Resu
|
|
|
}
|
|
|
|
|
|
if playerInfo == nil {
|
|
|
- var results []*entity.AssetsDetail
|
|
|
- results = append(results, &entity.AssetsDetail{
|
|
|
- UserName: "",
|
|
|
- OpenId: "",
|
|
|
- TonValue: 0,
|
|
|
- UsdtValue: 0,
|
|
|
- StatisticalDate: mhayaTime.Now().Unix(),
|
|
|
- })
|
|
|
-
|
|
|
- return &entity.AssetsResp{
|
|
|
- Details: results,
|
|
|
- Total: 0,
|
|
|
- }, nil
|
|
|
+ return nil, nil
|
|
|
}
|
|
|
|
|
|
var results []*entity.AssetsDetail
|
|
|
|
|
|
- var totalUsdtAmount int64
|
|
|
- var totalTonAmount int64
|
|
|
- where := &eventmodels.AssetsEventContent{
|
|
|
- UserBasic: eventmodels.UserBasic{
|
|
|
- UserId: req.UserName,
|
|
|
- TgId: req.OpenId,
|
|
|
- },
|
|
|
- EventBasic: eventmodels.EventBasic{
|
|
|
- ServerId: s.nodeId,
|
|
|
- },
|
|
|
- }
|
|
|
- where.Currency = string(constant.UsdtCurrency)
|
|
|
- err = mdb.LogstashDB.Model(&eventmodels.AssetsEventContent{}).Where(where).Pluck("SUM(amount) as total_amount", &totalUsdtAmount).Error
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("Assets Pluck UsdtCurrency error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
+ detail, codeResult := s.getAsset(req.UserName, req.OpenId)
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Assets getAsset error:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
}
|
|
|
|
|
|
- where.Currency = string(constant.TonCurrency)
|
|
|
- err = mdb.LogstashDB.Model(&eventmodels.AssetsEventContent{}).Where(where).Pluck("SUM(amount) as total_amount", &totalTonAmount).Error
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("Assets Pluck TonCurrency error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
-
|
|
|
- results = append(results, &entity.AssetsDetail{
|
|
|
- UserName: playerInfo.UserName,
|
|
|
- OpenId: playerInfo.OpenId,
|
|
|
- TonValue: totalTonAmount,
|
|
|
- UsdtValue: totalUsdtAmount,
|
|
|
- StatisticalDate: mhayaTime.Now().Unix(),
|
|
|
- })
|
|
|
+ results = append(results, detail)
|
|
|
|
|
|
return &entity.AssetsResp{
|
|
|
Details: results,
|
|
@@ -881,40 +836,26 @@ func (s *Synthesis) Assets(req entity.AssetsReq) (*entity.AssetsResp, *code.Resu
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
+ // 查询列表
|
|
|
+ playerMgr := NewPlayerManage()
|
|
|
+ listResp, codeResult := playerMgr.List(context.Background(), entity.PlayerListReq{
|
|
|
+ Page: page,
|
|
|
+ Size: pageSize,
|
|
|
+ })
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Assets List error:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
+ }
|
|
|
+
|
|
|
var results []*entity.AssetsDetail
|
|
|
for _, detail := range listResp.Details {
|
|
|
- var totalUsdtAmount int64
|
|
|
- var totalTonAmount int64
|
|
|
- where := &eventmodels.AssetsEventContent{
|
|
|
- UserBasic: eventmodels.UserBasic{
|
|
|
- UserId: detail.UserName,
|
|
|
- TgId: detail.OpenId,
|
|
|
- },
|
|
|
- EventBasic: eventmodels.EventBasic{
|
|
|
- ServerId: s.nodeId,
|
|
|
- },
|
|
|
- }
|
|
|
- where.Currency = string(constant.UsdtCurrency)
|
|
|
- err := mdb.LogstashDB.Model(&eventmodels.AssetsEventContent{}).Where(where).Pluck("SUM(amount) as total_amount", &totalUsdtAmount).Error
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("Assets Pluck UsdtCurrency error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
-
|
|
|
- where.Currency = string(constant.TonCurrency)
|
|
|
- err = mdb.LogstashDB.Model(&eventmodels.AssetsEventContent{}).Where(where).Pluck("SUM(amount) as total_amount", &totalTonAmount).Error
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("Assets Pluck TonCurrency error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
+ ret, codeResult := s.getAsset(detail.UserName, detail.OpenId)
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Assets getAsset error:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
}
|
|
|
|
|
|
- results = append(results, &entity.AssetsDetail{
|
|
|
- UserName: detail.UserName,
|
|
|
- OpenId: detail.OpenId,
|
|
|
- TonValue: totalTonAmount,
|
|
|
- UsdtValue: totalUsdtAmount,
|
|
|
- StatisticalDate: mhayaTime.Now().Unix(),
|
|
|
- })
|
|
|
+ results = append(results, ret)
|
|
|
}
|
|
|
|
|
|
count, codeResult := playerMgr.GetPlayerTotalCount()
|
|
@@ -929,15 +870,52 @@ func (s *Synthesis) Assets(req entity.AssetsReq) (*entity.AssetsResp, *code.Resu
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
+func (s *Synthesis) getAsset(userName, openId string) (*entity.AssetsDetail, *code.Result) {
|
|
|
+ var totalUsdtAmount int64
|
|
|
+ var totalTonAmount int64
|
|
|
+ where := &eventmodels.AssetsEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: userName,
|
|
|
+ TgId: openId,
|
|
|
+ },
|
|
|
+ EventBasic: eventmodels.EventBasic{
|
|
|
+ ServerId: s.nodeId,
|
|
|
+ },
|
|
|
+ }
|
|
|
+ where.Currency = string(constant.UsdtCurrency)
|
|
|
+ err := mdb.LogstashDB.Model(&eventmodels.AssetsEventContent{}).Where(where).Pluck("SUM(amount) as total_amount", &totalUsdtAmount).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("getAsset Pluck UsdtCurrency error:%v", err)
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
+ }
|
|
|
+
|
|
|
+ where.Currency = string(constant.TonCurrency)
|
|
|
+ err = mdb.LogstashDB.Model(&eventmodels.AssetsEventContent{}).Where(where).Pluck("SUM(amount) as total_amount", &totalTonAmount).Error
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("getAsset Pluck TonCurrency error:%v", err)
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
+ }
|
|
|
+
|
|
|
+ return &entity.AssetsDetail{
|
|
|
+ UserName: userName,
|
|
|
+ OpenId: openId,
|
|
|
+ TonValue: totalTonAmount,
|
|
|
+ UsdtValue: totalUsdtAmount,
|
|
|
+ StatisticalDate: mhayaTime.Now().Unix(),
|
|
|
+ }, nil
|
|
|
+}
|
|
|
+
|
|
|
// 资产变动记录
|
|
|
func (s *Synthesis) AssetsRecord(req entity.AssetsRecordReq) (*entity.AssetsRecordResp, *code.Result) {
|
|
|
page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
|
|
|
+ // TODO 是否需要校验货币类型
|
|
|
// if !constant.CurrencyValid(req.Currency) {
|
|
|
// mhayaLogger.Warnf("AssetsRecord unknow currency:%v", req.Currency)
|
|
|
// return nil, common.NewResult(code.ParamError)
|
|
|
// }
|
|
|
|
|
|
+ // TODO 是否需要校验资产变动的操作类型
|
|
|
// if req.OperationType != string(constant.IncreaseOp) && req.OperationType != string(constant.DecreaseOp) {
|
|
|
// mhayaLogger.Warnf("AssetsRecord unknow OperationType:%v", req.OperationType)
|
|
|
// return nil, common.NewResult(code.ParamError)
|
|
@@ -992,119 +970,243 @@ func (s *Synthesis) AssetsRecord(req entity.AssetsRecordReq) (*entity.AssetsReco
|
|
|
func (s *Synthesis) Invite(req entity.InviteReq) (*entity.InviteResp, *code.Result) {
|
|
|
page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
|
|
|
- // 构建查询条件
|
|
|
- filter := bson.M{}
|
|
|
- if req.UserName != "" {
|
|
|
- filter["userName"] = req.UserName
|
|
|
+ var records []*eventmodels.InviteEventContent
|
|
|
+
|
|
|
+ where := &eventmodels.InviteEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: req.UserName,
|
|
|
+ TgId: req.OpenId,
|
|
|
+ },
|
|
|
}
|
|
|
- if req.OpenId != "" {
|
|
|
- filter["openId"] = req.OpenId
|
|
|
+ db := mdb.LogstashDB.Model(&eventmodels.InviteEventContent{}).Where(where).Order("create_at")
|
|
|
+
|
|
|
+ pages := Paginate(db, page, pageSize)
|
|
|
+ err := db.Scopes(pages.Limit).Find(&records).Error
|
|
|
+ if err != nil && err != gorm.ErrRecordNotFound {
|
|
|
+ mhayaLogger.Warnf("Invite Find error:%v", err)
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
}
|
|
|
|
|
|
- // 设置分页选项
|
|
|
- findOptions := options.Find()
|
|
|
- findOptions.SetSkip(int64((page - 1) * pageSize))
|
|
|
- findOptions.SetLimit(int64(pageSize))
|
|
|
- findOptions.SetSort(bson.D{{"createTime", -1}})
|
|
|
+ var results []*entity.InviteDetail
|
|
|
+ for _, v := range records {
|
|
|
+ results = append(results, &entity.InviteDetail{
|
|
|
+ UserName: v.UserName,
|
|
|
+ OpenId: v.TgId,
|
|
|
+ InvitationHits: 0, // TODO
|
|
|
+ InviteID: v.InviterUserId,
|
|
|
+ IfInviteVIP: v.IfInviteUserTgVip,
|
|
|
+ InviteTime: v.CreateAt,
|
|
|
+ SuccessfulInvitationsLV2: 0, // TODO
|
|
|
+ CumulativesuccessfulInvitations: 0, // TODO
|
|
|
+ InvitationChannel: v.Channel,
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 100*time.Second)
|
|
|
- defer cancel()
|
|
|
+ return &entity.InviteResp{
|
|
|
+ Details: results,
|
|
|
+ Total: pages.Count,
|
|
|
+ }, nil
|
|
|
+}
|
|
|
|
|
|
- collection := mdb.MDB.Collection(constant.CNamePlayer)
|
|
|
+// 活跃统计
|
|
|
+func (s *Synthesis) Active(req entity.ActiveReq) (*entity.ActiveResp, *code.Result) {
|
|
|
+ page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
|
|
|
- // 查询数据
|
|
|
- var results []*entity.InviteDetail
|
|
|
- cursor, err := collection.Find(ctx, filter, findOptions)
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("Invite Find error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
+ // 根据条件查询
|
|
|
+ if req.UserName != "" || req.OpenId != "" {
|
|
|
+ // 构建查询条件
|
|
|
+ filter := bson.M{}
|
|
|
+ if req.UserName != "" {
|
|
|
+ filter["userName"] = req.UserName
|
|
|
+ }
|
|
|
+ if req.OpenId != "" {
|
|
|
+ filter["openId"] = req.OpenId
|
|
|
+ }
|
|
|
|
|
|
- defer cursor.Close(ctx)
|
|
|
- // 解析结果
|
|
|
- for cursor.Next(ctx) {
|
|
|
- var result entity.InviteDetail
|
|
|
- if err := cursor.Decode(&result); err != nil {
|
|
|
- mhayaLogger.Warnf("Invite Decode error:%v", err)
|
|
|
+ var playerInfo *models.Player
|
|
|
+ err := mdb.MDB.Collection(constant.CNamePlayer).FindOne(context.Background(), filter).Decode(&playerInfo)
|
|
|
+ if err != nil && err != mongo.ErrNoDocuments {
|
|
|
+ mhayaLogger.Warnf("Active FindOne playerInfo error:%v", err)
|
|
|
return nil, common.NewResult(code.InternalError)
|
|
|
}
|
|
|
|
|
|
- results = append(results, &result)
|
|
|
+ if playerInfo == nil {
|
|
|
+ return nil, nil
|
|
|
+ }
|
|
|
+
|
|
|
+ var results []*entity.ActiveDetail
|
|
|
+
|
|
|
+ detail, codeResult := s.getActive(playerInfo)
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Active getActive error:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
+ }
|
|
|
+
|
|
|
+ results = append(results, detail)
|
|
|
+
|
|
|
+ return &entity.ActiveResp{
|
|
|
+ Details: results,
|
|
|
+ Total: 1,
|
|
|
+ }, nil
|
|
|
}
|
|
|
|
|
|
- if err := cursor.Err(); err != nil {
|
|
|
- mhayaLogger.Warnf("Invite cursor error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
+ // 查询列表
|
|
|
+ playerMgr := NewPlayerManage()
|
|
|
+ listResp, codeResult := playerMgr.List(context.Background(), entity.PlayerListReq{
|
|
|
+ Page: page,
|
|
|
+ Size: pageSize,
|
|
|
+ })
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Active List error:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
}
|
|
|
|
|
|
- // TODO 邀请统计相关信息
|
|
|
+ var results []*entity.ActiveDetail
|
|
|
+ for _, detail := range listResp.Details {
|
|
|
+ var playerInfo *models.Player
|
|
|
+ err := mdb.MDB.Collection(constant.CNamePlayer).FindOne(context.Background(), bson.M{"userName": detail.UserName}).Decode(&playerInfo)
|
|
|
+ if err != nil && err != mongo.ErrNoDocuments {
|
|
|
+ mhayaLogger.Warnf("Active FindOne playerInfo error:%v", err)
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
+ }
|
|
|
+
|
|
|
+ detail, codeResult := s.getActive(playerInfo)
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Active getActive error:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
+ }
|
|
|
|
|
|
- // TODO 获取总数total
|
|
|
- var count int64
|
|
|
+ results = append(results, detail)
|
|
|
+ }
|
|
|
|
|
|
- return &entity.InviteResp{
|
|
|
+ count, codeResult := playerMgr.GetPlayerTotalCount()
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Active GetPlayerTotalCount codeResult:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
+ }
|
|
|
+
|
|
|
+ return &entity.ActiveResp{
|
|
|
Details: results,
|
|
|
Total: count,
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
-// 活跃统计
|
|
|
-func (s *Synthesis) Active(req entity.ActiveReq) (*entity.ActiveResp, *code.Result) {
|
|
|
- page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
-
|
|
|
- // 构建查询条件
|
|
|
- filter := bson.M{}
|
|
|
- if req.UserName != "" {
|
|
|
- filter["userName"] = req.UserName
|
|
|
+func (s *Synthesis) getActive(playerInfo *models.Player) (*entity.ActiveDetail, *code.Result) {
|
|
|
+ // 累计登录次数
|
|
|
+ loginWhere := &eventmodels.UserLoginEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
}
|
|
|
- if req.OpenId != "" {
|
|
|
- filter["openId"] = req.OpenId
|
|
|
+ loginDb := mdb.LogstashDB.Model(&eventmodels.UserLoginEventContent{}).Where(loginWhere).Order("create_at")
|
|
|
+ var loginCount int64
|
|
|
+ loginDb.Count(&loginCount)
|
|
|
+
|
|
|
+ // 骰子点击次数
|
|
|
+ diceClickWhere := &eventmodels.ClickEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
+ ClickName: string(constant.DiceClickName),
|
|
|
}
|
|
|
+ clickDb := mdb.LogstashDB.Model(&eventmodels.ClickEventContent{}).Where(diceClickWhere).Order("create_at")
|
|
|
+ var diceHits int64
|
|
|
+ clickDb.Count(&diceHits)
|
|
|
|
|
|
- // 设置分页选项
|
|
|
- findOptions := options.Find()
|
|
|
- findOptions.SetSkip(int64((page - 1) * pageSize))
|
|
|
- findOptions.SetLimit(int64(pageSize))
|
|
|
- findOptions.SetSort(bson.D{{"createTime", -1}})
|
|
|
+ // 邀请点击次数
|
|
|
+ inviteClickWhere := &eventmodels.ClickEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
+ ClickName: string(constant.InviteClickName),
|
|
|
+ }
|
|
|
+ clickDb = mdb.LogstashDB.Model(&eventmodels.ClickEventContent{}).Where(inviteClickWhere).Order("create_at")
|
|
|
+ var invitationHits int64
|
|
|
+ clickDb.Count(&invitationHits)
|
|
|
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 100*time.Second)
|
|
|
- defer cancel()
|
|
|
+ // 邀请成功人数
|
|
|
+ inviteWhere := &eventmodels.InviteEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
+ }
|
|
|
+ inviteDb := mdb.LogstashDB.Model(&eventmodels.InviteEventContent{}).Where(inviteWhere).Order("create_at")
|
|
|
+ var successfulInvitations int64
|
|
|
+ inviteDb.Count(&successfulInvitations)
|
|
|
|
|
|
- collection := mdb.MDB.Collection(constant.CNamePlayer)
|
|
|
+ // 提现次数
|
|
|
+ withdrawalWhere := &eventmodels.UserWithdrawEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
+ EventBasic: eventmodels.EventBasic{
|
|
|
+ Status: 0,
|
|
|
+ },
|
|
|
+ }
|
|
|
+ withdrawalDb := mdb.LogstashDB.Model(&eventmodels.UserWithdrawEventContent{}).Where(withdrawalWhere).Order("create_at")
|
|
|
+ var withdrawals int64
|
|
|
+ withdrawalDb.Count(&withdrawals)
|
|
|
|
|
|
- // 查询数据
|
|
|
- var results []*entity.ActiveDetail
|
|
|
- cursor, err := collection.Find(ctx, filter, findOptions)
|
|
|
+ // 累计提现金额
|
|
|
+ withdrawalAmountWhere := &eventmodels.UserWithdrawEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
+ EventBasic: eventmodels.EventBasic{
|
|
|
+ Status: 0,
|
|
|
+ },
|
|
|
+ // Currency: string(constant.UsdtCurrency), // TODO 是否需要区分货币类型
|
|
|
+ }
|
|
|
+ var cumulativeWithdrawalAmount int64
|
|
|
+ err := mdb.LogstashDB.Model(&eventmodels.UserWithdrawEventContent{}).Where(withdrawalAmountWhere).Pluck("SUM(amount) as total_amount", &cumulativeWithdrawalAmount).Error
|
|
|
if err != nil {
|
|
|
- mhayaLogger.Warnf("Active Find error:%v", err)
|
|
|
+ mhayaLogger.Warnf("getActive Pluck currency error:%v", err)
|
|
|
return nil, common.NewResult(code.InternalError)
|
|
|
}
|
|
|
|
|
|
- defer cursor.Close(ctx)
|
|
|
- // 解析结果
|
|
|
- for cursor.Next(ctx) {
|
|
|
- var result entity.ActiveDetail
|
|
|
- if err := cursor.Decode(&result); err != nil {
|
|
|
- mhayaLogger.Warnf("Active Decode error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
-
|
|
|
- results = append(results, &result)
|
|
|
+ // 转盘点击次数
|
|
|
+ turntableClickWhere := &eventmodels.ClickEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
+ ClickName: string(constant.TurntableClickName),
|
|
|
}
|
|
|
+ clickDb = mdb.LogstashDB.Model(&eventmodels.ClickEventContent{}).Where(turntableClickWhere).Order("create_at")
|
|
|
+ var turntableClicks int64
|
|
|
+ clickDb.Count(&turntableClicks)
|
|
|
|
|
|
- if err := cursor.Err(); err != nil {
|
|
|
- mhayaLogger.Warnf("Active cursor error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
+ // 转盘实际抽奖次数
|
|
|
+ turntableWhere := &eventmodels.TurntableEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: playerInfo.UserName,
|
|
|
+ TgId: playerInfo.OpenId,
|
|
|
+ },
|
|
|
}
|
|
|
-
|
|
|
- // TODO Active 活跃统计相关信息
|
|
|
-
|
|
|
- // TODO 获取总数total
|
|
|
- var count int64
|
|
|
-
|
|
|
- return &entity.ActiveResp{
|
|
|
- Details: results,
|
|
|
- Total: count,
|
|
|
+ turntableDb := mdb.LogstashDB.Model(&eventmodels.TurntableEventContent{}).Where(turntableWhere).Order("create_at")
|
|
|
+ var turntableRuns int64
|
|
|
+ turntableDb.Count(&turntableRuns)
|
|
|
+
|
|
|
+ return &entity.ActiveDetail{
|
|
|
+ UserName: playerInfo.UserName,
|
|
|
+ OpenId: playerInfo.OpenId,
|
|
|
+ IfUserVip: false, // TODO 玩家信息需要添加该字段
|
|
|
+ CreateTime: playerInfo.JoinTime,
|
|
|
+ LastLoginTime: playerInfo.PrevTime,
|
|
|
+ MaxSuccessions: int(loginCount),
|
|
|
+ DiceHits: diceHits,
|
|
|
+ InvitationHits: invitationHits,
|
|
|
+ SuccessfulInvitations: successfulInvitations,
|
|
|
+ Withdrawals: withdrawals,
|
|
|
+ CumulativeWithdrawalAmount: cumulativeWithdrawalAmount,
|
|
|
+ TurntableClicks: turntableClicks,
|
|
|
+ TurntableRuns: turntableRuns,
|
|
|
}, nil
|
|
|
}
|
|
|
|