|
@@ -752,119 +752,92 @@ func (s *Synthesis) RecordList(req entity.RecordListReq) (*entity.RecordListResp
|
|
|
func (s *Synthesis) Turntable(req entity.TurntableReq) (*entity.TurntableResp, *code.Result) {
|
|
|
page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
|
|
|
- // 构建查询条件
|
|
|
- filter := bson.M{}
|
|
|
- if req.UserName != "" {
|
|
|
- filter["userName"] = req.UserName
|
|
|
- }
|
|
|
- if req.OpenId != "" {
|
|
|
- filter["openId"] = req.OpenId
|
|
|
- }
|
|
|
-
|
|
|
- // 设置分页选项
|
|
|
- findOptions := options.Find()
|
|
|
- findOptions.SetSkip(int64((page - 1) * pageSize))
|
|
|
- findOptions.SetLimit(int64(pageSize))
|
|
|
- findOptions.SetSort(bson.D{{"createTime", -1}})
|
|
|
-
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 100*time.Second)
|
|
|
- defer cancel()
|
|
|
+ var records []*eventmodels.TurntableEventContent
|
|
|
|
|
|
- collection := mdb.MDB.Collection(constant.CNamePlayer)
|
|
|
-
|
|
|
- // 查询数据
|
|
|
- var results []*entity.TurntableDetail
|
|
|
- cursor, err := collection.Find(ctx, filter, findOptions)
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("Turntable Find error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
+ where := &eventmodels.TurntableEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: req.UserName,
|
|
|
+ TgId: req.OpenId,
|
|
|
+ },
|
|
|
+ EventBasic: eventmodels.EventBasic{
|
|
|
+ ServerId: s.nodeId,
|
|
|
+ },
|
|
|
}
|
|
|
+ db := mdb.LogstashDB.Model(&eventmodels.TurntableEventContent{}).Where(where).Order("create_at")
|
|
|
|
|
|
- defer cursor.Close(ctx)
|
|
|
- // 解析结果
|
|
|
- for cursor.Next(ctx) {
|
|
|
- var result entity.TurntableDetail
|
|
|
- if err := cursor.Decode(&result); err != nil {
|
|
|
- mhayaLogger.Warnf("Turntable Decode error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
-
|
|
|
- results = append(results, &result)
|
|
|
+ if req.StartTime > 0 && req.EndTime > 0 && req.StartTime <= req.EndTime {
|
|
|
+ db = db.Where("create_at >= ? and create_at <= ?", req.StartTime, req.EndTime)
|
|
|
}
|
|
|
|
|
|
- if err := cursor.Err(); err != nil {
|
|
|
- mhayaLogger.Warnf("Turntable cursor error:%v", err)
|
|
|
+ pages := Paginate(db, page, pageSize)
|
|
|
+ err := db.Scopes(pages.Limit).Find(&records).Error
|
|
|
+ if err != nil && err != gorm.ErrRecordNotFound {
|
|
|
+ mhayaLogger.Warnf("Turntable Find error:%v", err)
|
|
|
return nil, common.NewResult(code.InternalError)
|
|
|
}
|
|
|
|
|
|
- // TODO 转盘统计相关信息
|
|
|
-
|
|
|
- // TODO 获取总数total
|
|
|
- var count int64
|
|
|
+ var results []*entity.TurntableDetail
|
|
|
+ for _, v := range records {
|
|
|
+ results = append(results, &entity.TurntableDetail{
|
|
|
+ UserName: v.UserName,
|
|
|
+ OpenId: v.TgId,
|
|
|
+ TurntableExecutionTime: v.CreateAt,
|
|
|
+ PrizeName: v.PrizeName,
|
|
|
+ PrizeNumber: v.PrizeNumber,
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
return &entity.TurntableResp{
|
|
|
Details: results,
|
|
|
- Total: count,
|
|
|
+ Total: pages.Count,
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
|
// 资产统计
|
|
|
func (s *Synthesis) Assets(req entity.AssetsReq) (*entity.AssetsResp, *code.Result) {
|
|
|
- page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
-
|
|
|
- // 构建查询条件
|
|
|
- filter := bson.M{}
|
|
|
- if req.UserName != "" {
|
|
|
- filter["userName"] = req.UserName
|
|
|
- }
|
|
|
- if req.OpenId != "" {
|
|
|
- filter["openId"] = req.OpenId
|
|
|
- }
|
|
|
-
|
|
|
- // 设置分页选项
|
|
|
- findOptions := options.Find()
|
|
|
- findOptions.SetSkip(int64((page - 1) * pageSize))
|
|
|
- findOptions.SetLimit(int64(pageSize))
|
|
|
- findOptions.SetSort(bson.D{{"createTime", -1}})
|
|
|
-
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 100*time.Second)
|
|
|
- defer cancel()
|
|
|
-
|
|
|
- collection := mdb.MDB.Collection(constant.CNamePlayer)
|
|
|
-
|
|
|
- // 查询数据
|
|
|
- var results []*entity.AssetsDetail
|
|
|
- cursor, err := collection.Find(ctx, filter, findOptions)
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("Assets Find error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
-
|
|
|
- defer cursor.Close(ctx)
|
|
|
- // 解析结果
|
|
|
- for cursor.Next(ctx) {
|
|
|
- var result entity.AssetsDetail
|
|
|
- if err := cursor.Decode(&result); err != nil {
|
|
|
- mhayaLogger.Warnf("Assets Decode error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
-
|
|
|
- results = append(results, &result)
|
|
|
- }
|
|
|
-
|
|
|
- if err := cursor.Err(); err != nil {
|
|
|
- mhayaLogger.Warnf("Assets cursor error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
+ // TODO Assets
|
|
|
+ // page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
+
|
|
|
+ // var records []*eventmodels.TurntableEventContent
|
|
|
+
|
|
|
+ // where := &eventmodels.TurntableEventContent{
|
|
|
+ // UserBasic: eventmodels.UserBasic{
|
|
|
+ // UserId: req.UserName,
|
|
|
+ // TgId: req.OpenId,
|
|
|
+ // },
|
|
|
+ // EventBasic: eventmodels.EventBasic{
|
|
|
+ // ServerId: s.nodeId,
|
|
|
+ // },
|
|
|
+ // }
|
|
|
+ // db := mdb.LogstashDB.Model(&eventmodels.TurntableEventContent{}).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("Turntable Find error:%v", err)
|
|
|
+ // return nil, common.NewResult(code.InternalError)
|
|
|
+ // }
|
|
|
+
|
|
|
+ // var results []*entity.TurntableDetail
|
|
|
+ // for _, v := range records {
|
|
|
+ // results = append(results, &entity.TurntableDetail{
|
|
|
+ // UserName: v.UserName,
|
|
|
+ // OpenId: v.TgId,
|
|
|
+ // TurntableExecutionTime: v.CreateAt,
|
|
|
+ // PrizeName: v.PrizeName,
|
|
|
+ // PrizeNumber: v.PrizeNumber,
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+
|
|
|
+ count, codeResult := NewPlayerManage().GetPlayerTotalCount()
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("Assets GetPlayerTotalCount codeResult:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
}
|
|
|
|
|
|
- // TODO Assets 统计相关信息
|
|
|
-
|
|
|
- // TODO 获取总数total
|
|
|
- var count int64
|
|
|
-
|
|
|
return &entity.AssetsResp{
|
|
|
- Details: results,
|
|
|
- Total: count,
|
|
|
+ // Details: results,
|
|
|
+ Total: int64(count),
|
|
|
}, nil
|
|
|
}
|
|
|
|
|
@@ -872,59 +845,58 @@ func (s *Synthesis) Assets(req entity.AssetsReq) (*entity.AssetsResp, *code.Resu
|
|
|
func (s *Synthesis) AssetsRecord(req entity.AssetsRecordReq) (*entity.AssetsRecordResp, *code.Result) {
|
|
|
page, pageSize := checkPageParam(req.Page, req.Size)
|
|
|
|
|
|
- // 构建查询条件
|
|
|
- filter := bson.M{}
|
|
|
- if req.UserName != "" {
|
|
|
- filter["userName"] = req.UserName
|
|
|
- }
|
|
|
- if req.OpenId != "" {
|
|
|
- filter["openId"] = req.OpenId
|
|
|
+ if !constant.CurrencyValid(req.Currency) {
|
|
|
+ mhayaLogger.Warnf("AssetsRecord unknow currency:%v", req.Currency)
|
|
|
+ return nil, common.NewResult(code.ParamError)
|
|
|
}
|
|
|
|
|
|
- // 设置分页选项
|
|
|
- findOptions := options.Find()
|
|
|
- findOptions.SetSkip(int64((page - 1) * pageSize))
|
|
|
- findOptions.SetLimit(int64(pageSize))
|
|
|
- findOptions.SetSort(bson.D{{"createTime", -1}})
|
|
|
-
|
|
|
- ctx, cancel := context.WithTimeout(context.Background(), 100*time.Second)
|
|
|
- defer cancel()
|
|
|
+ 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)
|
|
|
+ }
|
|
|
|
|
|
- collection := mdb.MDB.Collection(constant.CNamePlayer)
|
|
|
+ var records []*eventmodels.AssetsEventContent
|
|
|
|
|
|
- // 查询数据
|
|
|
- var results []*entity.AssetsRecordDetail
|
|
|
- cursor, err := collection.Find(ctx, filter, findOptions)
|
|
|
- if err != nil {
|
|
|
- mhayaLogger.Warnf("AssetsRecord Find error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
+ where := &eventmodels.AssetsEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: req.UserName,
|
|
|
+ TgId: req.OpenId,
|
|
|
+ },
|
|
|
+ EventBasic: eventmodels.EventBasic{
|
|
|
+ ServerId: s.nodeId,
|
|
|
+ },
|
|
|
+ OperationType: constant.OperationTypeStr(req.OperationType),
|
|
|
+ Currency: constant.CurrencyTypeStr(req.Currency),
|
|
|
+ Amount: req.Amount,
|
|
|
}
|
|
|
+ db := mdb.LogstashDB.Model(&eventmodels.AssetsEventContent{}).Where(where).Order("create_at")
|
|
|
|
|
|
- defer cursor.Close(ctx)
|
|
|
- // 解析结果
|
|
|
- for cursor.Next(ctx) {
|
|
|
- var result entity.AssetsRecordDetail
|
|
|
- if err := cursor.Decode(&result); err != nil {
|
|
|
- mhayaLogger.Warnf("AssetsRecord Decode error:%v", err)
|
|
|
- return nil, common.NewResult(code.InternalError)
|
|
|
- }
|
|
|
-
|
|
|
- results = append(results, &result)
|
|
|
+ if req.StartTime > 0 && req.EndTime > 0 && req.StartTime <= req.EndTime {
|
|
|
+ db = db.Where("create_at >= ? and create_at <= ?", req.StartTime, req.EndTime)
|
|
|
}
|
|
|
|
|
|
- if err := cursor.Err(); err != nil {
|
|
|
- mhayaLogger.Warnf("AssetsRecord cursor error:%v", err)
|
|
|
+ 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)
|
|
|
}
|
|
|
|
|
|
- // TODO 资产变动记录相关信息
|
|
|
-
|
|
|
- // TODO 获取总数total
|
|
|
- var count int64
|
|
|
+ var results []*entity.AssetsRecordDetail
|
|
|
+ for _, v := range records {
|
|
|
+ results = append(results, &entity.AssetsRecordDetail{
|
|
|
+ UserName: v.UserName,
|
|
|
+ OpenId: v.TgId,
|
|
|
+ AssetType: string(v.Currency),
|
|
|
+ AssetsGrowth: v.Amount,
|
|
|
+ AcquisitionTime: v.CreateAt,
|
|
|
+ SourceOfAssetAcquisition: v.Reason,
|
|
|
+ })
|
|
|
+ }
|
|
|
|
|
|
return &entity.AssetsRecordResp{
|
|
|
Details: results,
|
|
|
- Total: count,
|
|
|
+ Total: pages.Count,
|
|
|
}, nil
|
|
|
}
|
|
|
|