|
@@ -3,6 +3,7 @@ package service
|
|
import (
|
|
import (
|
|
"context"
|
|
"context"
|
|
|
|
|
|
|
|
+ jsoniter "github.com/json-iterator/go"
|
|
cutils "github.com/mhaya/extend/utils"
|
|
cutils "github.com/mhaya/extend/utils"
|
|
"github.com/mhaya/game/game_cluster/internal/code"
|
|
"github.com/mhaya/game/game_cluster/internal/code"
|
|
"github.com/mhaya/game/game_cluster/internal/constant"
|
|
"github.com/mhaya/game/game_cluster/internal/constant"
|
|
@@ -17,6 +18,10 @@ import (
|
|
"gorm.io/gorm"
|
|
"gorm.io/gorm"
|
|
)
|
|
)
|
|
|
|
|
|
|
|
+var (
|
|
|
|
+ json = jsoniter.ConfigCompatibleWithStandardLibrary
|
|
|
|
+)
|
|
|
|
+
|
|
type PlayerManage struct {
|
|
type PlayerManage struct {
|
|
db *mongo.Database
|
|
db *mongo.Database
|
|
}
|
|
}
|
|
@@ -572,45 +577,52 @@ func (a *PlayerManage) RewardList(ctx context.Context, req entity.RewardListReq)
|
|
|
|
|
|
var results []*entity.RewardListDetail
|
|
var results []*entity.RewardListDetail
|
|
for _, v := range rewardRecords {
|
|
for _, v := range rewardRecords {
|
|
- results = append(results, &entity.RewardListDetail{
|
|
|
|
- UserName: v.UserId,
|
|
|
|
- AddReward: func() []*entity.ShowItemReward {
|
|
|
|
- if len(v.AddReward) == 0 {
|
|
|
|
- return nil
|
|
|
|
- }
|
|
|
|
|
|
+ addReward := make([]*entity.ShowItemReward, 0, 8)
|
|
|
|
+
|
|
|
|
+ addRewards := make([]eventmodels.ItemReward, 0, 8)
|
|
|
|
+ if v.AddReward == "" {
|
|
|
|
+ addRewards = nil
|
|
|
|
+ } else {
|
|
|
|
+ err := json.Unmarshal([]byte(v.AddReward), &addRewards)
|
|
|
|
+ if err != nil {
|
|
|
|
+ mhayaLogger.Warnf("RewardList Unmarshal v.AddReward error:%v", err)
|
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
- ret := make([]*entity.ShowItemReward, 0, 8)
|
|
|
|
- for _, item := range v.AddReward {
|
|
|
|
- ret = append(ret, a.packItemReward(item))
|
|
|
|
- }
|
|
|
|
- return ret
|
|
|
|
- }(),
|
|
|
|
- Desc: func() *entity.Desc {
|
|
|
|
- if v.Desc == nil {
|
|
|
|
- return nil
|
|
|
|
- }
|
|
|
|
|
|
+ if addRewards == nil {
|
|
|
|
+ addReward = nil
|
|
|
|
+ } else {
|
|
|
|
+ for _, item := range addRewards {
|
|
|
|
+ addReward = append(addReward, a.packItemReward(item))
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
|
|
- param, ok := v.Desc.(eventmodels.DescDraw)
|
|
|
|
- if ok {
|
|
|
|
- return &entity.Desc{
|
|
|
|
- ID: param.ID,
|
|
|
|
- CurID: param.CurID,
|
|
|
|
- Reward: func() []*entity.ShowItemReward {
|
|
|
|
- if len(param.Reward) == 0 {
|
|
|
|
- return nil
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- ret := make([]*entity.ShowItemReward, 0, 8)
|
|
|
|
- for _, item := range param.Reward {
|
|
|
|
- ret = append(ret, a.packItemReward(item))
|
|
|
|
- }
|
|
|
|
- return ret
|
|
|
|
- }(),
|
|
|
|
- }
|
|
|
|
- }
|
|
|
|
|
|
+ var desc *entity.Desc
|
|
|
|
+ if v.Desc != "" {
|
|
|
|
+ descDraw := eventmodels.DescDraw{}
|
|
|
|
+ err := json.Unmarshal([]byte(v.Desc), &descDraw)
|
|
|
|
+ if err != nil {
|
|
|
|
+ mhayaLogger.Warnf("RewardList Unmarshal v.Desc error:%v", err)
|
|
|
|
+ return nil, common.NewResult(code.InternalError)
|
|
|
|
+ }
|
|
|
|
|
|
- return nil
|
|
|
|
- }(),
|
|
|
|
|
|
+ ret := make([]*entity.ShowItemReward, 0, 8)
|
|
|
|
+ for _, item := range descDraw.Reward {
|
|
|
|
+ ret = append(ret, a.packItemReward(item))
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ desc = &entity.Desc{
|
|
|
|
+ ID: descDraw.ID,
|
|
|
|
+ CurID: descDraw.CurID,
|
|
|
|
+ Reward: ret,
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ results = append(results, &entity.RewardListDetail{
|
|
|
|
+ UserName: v.UserId,
|
|
|
|
+ AddReward: addReward,
|
|
|
|
+ Desc: desc,
|
|
CreateTime: v.CreateAt,
|
|
CreateTime: v.CreateAt,
|
|
})
|
|
})
|
|
}
|
|
}
|