|
@@ -2,8 +2,10 @@ package service
|
|
|
|
|
|
import (
|
|
|
"context"
|
|
|
+ "time"
|
|
|
|
|
|
jsoniter "github.com/json-iterator/go"
|
|
|
+ mhayaTime "github.com/mhaya/extend/time"
|
|
|
cutils "github.com/mhaya/extend/utils"
|
|
|
"github.com/mhaya/game/game_cluster/internal/code"
|
|
|
"github.com/mhaya/game/game_cluster/internal/constant"
|
|
@@ -473,6 +475,40 @@ func (a *PlayerManage) GetLastestTaskInfo(userName, taskId string) (*eventmodels
|
|
|
return taskRecord, nil
|
|
|
}
|
|
|
|
|
|
+// 获取玩家的分享记录 date:2006-01-02
|
|
|
+func (a *PlayerManage) GetShareRecord(userName, date string) (*eventmodels.ShareEventContent, *code.Result) {
|
|
|
+ where := &eventmodels.ShareEventContent{
|
|
|
+ UserBasic: eventmodels.UserBasic{
|
|
|
+ UserId: userName,
|
|
|
+ },
|
|
|
+ }
|
|
|
+ db := mdb.LogstashDB.Model(&eventmodels.ShareEventContent{}).Where(where)
|
|
|
+
|
|
|
+ t, err := time.Parse(time.DateOnly, date)
|
|
|
+ if err != nil {
|
|
|
+ mhayaLogger.Warnf("GetShareRecord Parse date:%s error:%v", date, err)
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
+ }
|
|
|
+ dateTime := mhayaTime.CreateFromDate(t.Year(), int(t.Month()), t.Day())
|
|
|
+
|
|
|
+ startTime := dateTime.StartOfDay().Unix()
|
|
|
+ endTime := dateTime.EndOfDay().Unix()
|
|
|
+ db = db.Where("create_at >= ? and create_at <= ?", startTime, endTime)
|
|
|
+
|
|
|
+ shareRecord := &eventmodels.ShareEventContent{}
|
|
|
+ err = db.First(&shareRecord).Error
|
|
|
+ if err != nil && err != gorm.ErrRecordNotFound {
|
|
|
+ mhayaLogger.Warnf("GetShareRecord First error:%v", err)
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
+ }
|
|
|
+
|
|
|
+ if err == gorm.ErrRecordNotFound {
|
|
|
+ return nil, nil
|
|
|
+ }
|
|
|
+
|
|
|
+ return shareRecord, nil
|
|
|
+}
|
|
|
+
|
|
|
// 获取玩家详情
|
|
|
func (a *PlayerManage) PlayerInfo(ctx context.Context, req entity.PlayerInfoReq) (*entity.PlayerInfoResp, *code.Result) {
|
|
|
registerRecord, codeResult := a.GetPlayerRegisterRecord(req.UserName)
|
|
@@ -498,6 +534,12 @@ func (a *PlayerManage) PlayerInfo(ctx context.Context, req entity.PlayerInfoReq)
|
|
|
return nil, codeResult
|
|
|
}
|
|
|
|
|
|
+ shareRecord, codeResult := a.GetShareRecord(req.UserName, mhayaTime.Now().Format(time.DateOnly))
|
|
|
+ if codeResult != nil {
|
|
|
+ mhayaLogger.Warnf("PlayerInfo GetShareRecord error:%v", codeResult)
|
|
|
+ return nil, codeResult
|
|
|
+ }
|
|
|
+
|
|
|
return &entity.PlayerInfoResp{
|
|
|
UserName: func() string {
|
|
|
if updateRecord != nil {
|
|
@@ -680,8 +722,17 @@ func (a *PlayerManage) PlayerInfo(ctx context.Context, req entity.PlayerInfoReq)
|
|
|
|
|
|
return 0
|
|
|
}(),
|
|
|
+ Share: func() *models.Share {
|
|
|
+ if shareRecord != nil {
|
|
|
+ return &models.Share{
|
|
|
+ IsDrawShare: shareRecord.RewardDrawStatus,
|
|
|
+ DrawShareTime: shareRecord.CreateAt,
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return nil
|
|
|
+ }(),
|
|
|
// TODO 其他玩家信息
|
|
|
- Share: nil, // TODO 每天分享一次
|
|
|
FirstReward: 0,
|
|
|
// Item:,
|
|
|
// SinIn:,
|