Commit 4c5f34127f2e3760b9807e397b37c0189fdbcce9

Authored by 王家文
1 parent 015645a1
Exists in master and in 1 other branch dev-wjw

refactor♻️:redis对象和mysql对象持久化和读取

service/cardholder/dto-record.go
... ... @@ -2,15 +2,13 @@ package cardholder
2 2  
3 3 import (
4 4 "apigame/common/svconst"
5   - "apigame/common/svdto"
  5 + "apigame/common/svmysql"
6 6 "apigame/service/constd"
7   - "apigame/util/utdto"
8 7 "apigame/util/util-lx/lxtime"
9   - "fmt"
10 8 )
11 9  
12   -// CardHolderRecordBase 开卡包活动日志公共
13   -type CardHolderRecordBase struct {
  10 +// RecordCardHolderBase 开卡包活动日志公共
  11 +type RecordCardHolderBase struct {
14 12 Id int64 `gorm:"primaryKey;comment:日志ID"`
15 13 Uid int64 `gorm:"comment:玩家唯一ID"`
16 14 SequenceId string `gorm:"type:varchar(255);comment:用户序列组ID"`
... ... @@ -21,9 +19,9 @@ type CardHolderRecordBase struct {
21 19 UpdateTime int64 `gorm:"comment:修改时间戳"`
22 20 }
23 21  
24   -func NewCardHolderRecordBase(uid int64, sequenceId string, cohort string, activityId int64, round int) CardHolderRecordBase {
  22 +func NewRecordCardHolderBase(uid int64, sequenceId string, cohort string, activityId int64, round int) RecordCardHolderBase {
25 23 secNow := lxtime.NowUninx()
26   - return CardHolderRecordBase{
  24 + return RecordCardHolderBase{
27 25 CreateTime: secNow,
28 26 UpdateTime: secNow,
29 27 Uid: uid,
... ... @@ -34,86 +32,74 @@ func NewCardHolderRecordBase(uid int64, sequenceId string, cohort string, activi
34 32 }
35 33 }
36 34  
37   -// CardHolderRecordOpen 开卡包活动日志开卡包
38   -type CardHolderRecordOpen struct {
39   - CardHolderRecordBase
  35 +// RecordCardHolderOpen 开卡包活动日志开卡包
  36 +type RecordCardHolderOpen struct {
  37 + RecordCardHolderBase
40 38 OpenMode int `gorm:"comment:开包类型0客户端驱动1星星商店购买2剩余星星兑换"`
41 39 CardholderId int `gorm:"comment:卡包ID"`
42 40 CardList string `gorm:"type:varchar(255);comment:开卡内容"`
43 41 }
44 42  
45   -func (c *CardHolderRecordOpen) TableName() string { return utdto.MYSQL_TABLE_TEMPLATE }
46   -
47   -func (d *CardHolderRecordOpen) GetRule(gameId string) *svdto.DtoRule {
  43 +func (d *RecordCardHolderOpen) MysqlInfo(gameId string) *svmysql.MysqlInfo {
48 44 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN
49   - return &svdto.DtoRule{
  45 + return &svmysql.MysqlInfo{
50 46 DbMysql: svconst.DbCommon,
51 47 TableName: tableName + gameId,
52   - CacheKey: fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId),
53   - CacheTime: 300,
54 48 }
55 49 }
56 50  
57   -func NewCardHolderRecordOpen(recordBase CardHolderRecordBase,
58   - openMode int, cardholderId int, cardList string) *CardHolderRecordOpen {
59   - return &CardHolderRecordOpen{
60   - CardHolderRecordBase: recordBase,
  51 +func NewRecordCardHolderOpen(recordBase RecordCardHolderBase,
  52 + openMode int, cardholderId int, cardList string) *RecordCardHolderOpen {
  53 + return &RecordCardHolderOpen{
  54 + RecordCardHolderBase: recordBase,
61 55 OpenMode: openMode,
62 56 CardholderId: cardholderId,
63 57 CardList: cardList,
64 58 }
65 59 }
66 60  
67   -// CardHolderRecordRewardAlbum 开卡包活动日志领取卡组奖励
68   -type CardHolderRecordRewardAlbum struct {
69   - CardHolderRecordBase
  61 +// RecordCardHolderRewardAlbum 开卡包活动日志领取卡组奖励
  62 +type RecordCardHolderRewardAlbum struct {
  63 + RecordCardHolderBase
70 64 AlbumId int `gorm:"comment:卡组ID"`
71 65 Award string `gorm:"type:varchar(255);comment:奖励内容"`
72 66 }
73 67  
74   -func (c *CardHolderRecordRewardAlbum) TableName() string { return utdto.MYSQL_TABLE_TEMPLATE }
75   -
76   -func (d *CardHolderRecordRewardAlbum) GetRule(gameId string) *svdto.DtoRule {
  68 +func (d *RecordCardHolderRewardAlbum) MysqlInfo(gameId string) *svmysql.MysqlInfo {
77 69 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM
78   - return &svdto.DtoRule{
  70 + return &svmysql.MysqlInfo{
79 71 DbMysql: svconst.DbCommon,
80 72 TableName: tableName + gameId,
81   - CacheKey: fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId),
82   - CacheTime: 300,
83 73 }
84 74 }
85 75  
86   -func NewCardHolderRecordRewardAlbum(recordBase CardHolderRecordBase,
87   - albumId int, award string) *CardHolderRecordRewardAlbum {
88   - return &CardHolderRecordRewardAlbum{
89   - CardHolderRecordBase: recordBase,
  76 +func NewRecordCardHolderRewardAlbum(recordBase RecordCardHolderBase,
  77 + albumId int, award string) *RecordCardHolderRewardAlbum {
  78 + return &RecordCardHolderRewardAlbum{
  79 + RecordCardHolderBase: recordBase,
90 80 AlbumId: albumId,
91 81 Award: award,
92 82 }
93 83 }
94 84  
95   -// CardHolderRecordRewardRound 开卡包活动日志领取轮次奖励
96   -type CardHolderRecordRewardRound struct {
97   - CardHolderRecordBase
  85 +// RecordCardHolderRewardRound 开卡包活动日志领取轮次奖励
  86 +type RecordCardHolderRewardRound struct {
  87 + RecordCardHolderBase
98 88 Award string `gorm:"type:varchar(255);comment:奖励内容"`
99 89 }
100 90  
101   -func (c *CardHolderRecordRewardRound) TableName() string { return utdto.MYSQL_TABLE_TEMPLATE }
102   -
103   -func (d *CardHolderRecordRewardRound) GetRule(gameId string) *svdto.DtoRule {
  91 +func (d *RecordCardHolderRewardRound) MysqlInfo(gameId string) *svmysql.MysqlInfo {
104 92 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND
105   - return &svdto.DtoRule{
  93 + return &svmysql.MysqlInfo{
106 94 DbMysql: svconst.DbCommon,
107 95 TableName: tableName + gameId,
108   - CacheKey: fmt.Sprintf("%s:%s:%s", svdto.REDIS_CACHEP_REFIX, tableName, gameId),
109   - CacheTime: 300,
110 96 }
111 97 }
112 98  
113   -func NewCardHolderRecordRewardRound(recordBase CardHolderRecordBase,
114   - award string) *CardHolderRecordRewardRound {
115   - return &CardHolderRecordRewardRound{
116   - CardHolderRecordBase: recordBase,
  99 +func NewRecordCardHolderRewardRound(recordBase RecordCardHolderBase,
  100 + award string) *RecordCardHolderRewardRound {
  101 + return &RecordCardHolderRewardRound{
  102 + RecordCardHolderBase: recordBase,
117 103 Award: award,
118 104 }
119 105 }
... ...
service/cardholder/init.go
... ... @@ -2,7 +2,6 @@ package cardholder
2 2  
3 3 import (
4 4 "apigame/common/svconst"
5   - "apigame/common/svdto"
6 5 "apigame/common/svmysql"
7 6 )
8 7  
... ... @@ -12,9 +11,9 @@ func Init() {
12 11 // 卡牌卡包
13 12 for _, gameId := range svconst.GameListCardHolder {
14 13 svmysql.InitTable(new(DataCardHolder), gameId)
15   - svdto.InitTable(new(CardHolderRecordOpen), gameId)
16   - svdto.InitTable(new(CardHolderRecordRewardAlbum), gameId)
17   - svdto.InitTable(new(CardHolderRecordRewardRound), gameId)
  14 + svmysql.InitTable(new(RecordCardHolderOpen), gameId)
  15 + svmysql.InitTable(new(RecordCardHolderRewardAlbum), gameId)
  16 + svmysql.InitTable(new(RecordCardHolderRewardRound), gameId)
18 17 }
19 18  
20 19 }
... ...
service/cardholder/logic.go
1 1 package cardholder
2 2  
3 3 import (
4   - "apigame/common/svdto"
5 4 "apigame/common/svmysql"
6 5 "apigame/configs"
7 6 "apigame/models"
... ... @@ -242,9 +241,10 @@ func DoOpen(gameId string,
242 241 }
243 242 // 记录开卡包日志
244 243 {
245   - recordBase := NewCardHolderRecordBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round)
246   - svdto.SaveRecord(gameId, NewCardHolderRecordOpen(recordBase,
247   - openMode, utstring.StringToInt(confCardholder.Id), utjson.JsonString(newCards)))
  244 + recordBase := NewRecordCardHolderBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round)
  245 + _ = svmysql.Insert(NewRecordCardHolderOpen(recordBase,
  246 + openMode, utstring.StringToInt(confCardholder.Id), utjson.JsonString(newCards)),
  247 + gameId)
248 248 }
249 249  
250 250 return
... ... @@ -290,9 +290,10 @@ func DoOpenCheckAward(gameId string,
290 290 awardAlbum[albumId] = award
291 291 {
292 292 // 记录日志
293   - recordBase := NewCardHolderRecordBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round)
294   - svdto.SaveRecord(gameId, NewCardHolderRecordRewardAlbum(recordBase,
295   - albumId, award))
  293 + recordBase := NewRecordCardHolderBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round)
  294 + _ = svmysql.Insert(NewRecordCardHolderRewardAlbum(recordBase,
  295 + albumId, award),
  296 + gameId)
296 297 }
297 298 }
298 299 // 判断 处理 发放轮次奖励 轮次完成
... ... @@ -301,9 +302,10 @@ func DoOpenCheckAward(gameId string,
301 302 awardRound = config.Awards[utstring.IntToString(gameData.Details.Round)]
302 303  
303 304 // 记录日志
304   - recordBase := NewCardHolderRecordBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round)
305   - svdto.SaveRecord(gameId, NewCardHolderRecordRewardRound(recordBase,
306   - awardRound))
  305 + recordBase := NewRecordCardHolderBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round)
  306 + _ = svmysql.Insert(NewRecordCardHolderRewardRound(recordBase,
  307 + awardRound),
  308 + gameId)
307 309  
308 310 // 处理轮次完成
309 311 HandleNextRound(gameData)
... ...