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,15 +2,13 @@ package cardholder
2 2
3 import ( 3 import (
4 "apigame/common/svconst" 4 "apigame/common/svconst"
5 - "apigame/common/svdto" 5 + "apigame/common/svmysql"
6 "apigame/service/constd" 6 "apigame/service/constd"
7 - "apigame/util/utdto"  
8 "apigame/util/util-lx/lxtime" 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 Id int64 `gorm:"primaryKey;comment:日志ID"` 12 Id int64 `gorm:"primaryKey;comment:日志ID"`
15 Uid int64 `gorm:"comment:玩家唯一ID"` 13 Uid int64 `gorm:"comment:玩家唯一ID"`
16 SequenceId string `gorm:"type:varchar(255);comment:用户序列组ID"` 14 SequenceId string `gorm:"type:varchar(255);comment:用户序列组ID"`
@@ -21,9 +19,9 @@ type CardHolderRecordBase struct { @@ -21,9 +19,9 @@ type CardHolderRecordBase struct {
21 UpdateTime int64 `gorm:"comment:修改时间戳"` 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 secNow := lxtime.NowUninx() 23 secNow := lxtime.NowUninx()
26 - return CardHolderRecordBase{ 24 + return RecordCardHolderBase{
27 CreateTime: secNow, 25 CreateTime: secNow,
28 UpdateTime: secNow, 26 UpdateTime: secNow,
29 Uid: uid, 27 Uid: uid,
@@ -34,86 +32,74 @@ func NewCardHolderRecordBase(uid int64, sequenceId string, cohort string, activi @@ -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 OpenMode int `gorm:"comment:开包类型0客户端驱动1星星商店购买2剩余星星兑换"` 38 OpenMode int `gorm:"comment:开包类型0客户端驱动1星星商店购买2剩余星星兑换"`
41 CardholderId int `gorm:"comment:卡包ID"` 39 CardholderId int `gorm:"comment:卡包ID"`
42 CardList string `gorm:"type:varchar(255);comment:开卡内容"` 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 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN 44 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN
49 - return &svdto.DtoRule{ 45 + return &svmysql.MysqlInfo{
50 DbMysql: svconst.DbCommon, 46 DbMysql: svconst.DbCommon,
51 TableName: tableName + gameId, 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 OpenMode: openMode, 55 OpenMode: openMode,
62 CardholderId: cardholderId, 56 CardholderId: cardholderId,
63 CardList: cardList, 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 AlbumId int `gorm:"comment:卡组ID"` 64 AlbumId int `gorm:"comment:卡组ID"`
71 Award string `gorm:"type:varchar(255);comment:奖励内容"` 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 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM 69 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM
78 - return &svdto.DtoRule{ 70 + return &svmysql.MysqlInfo{
79 DbMysql: svconst.DbCommon, 71 DbMysql: svconst.DbCommon,
80 TableName: tableName + gameId, 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 AlbumId: albumId, 80 AlbumId: albumId,
91 Award: award, 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 Award string `gorm:"type:varchar(255);comment:奖励内容"` 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 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND 92 tableName := constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND
105 - return &svdto.DtoRule{ 93 + return &svmysql.MysqlInfo{
106 DbMysql: svconst.DbCommon, 94 DbMysql: svconst.DbCommon,
107 TableName: tableName + gameId, 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 Award: award, 103 Award: award,
118 } 104 }
119 } 105 }
service/cardholder/init.go
@@ -2,7 +2,6 @@ package cardholder @@ -2,7 +2,6 @@ package cardholder
2 2
3 import ( 3 import (
4 "apigame/common/svconst" 4 "apigame/common/svconst"
5 - "apigame/common/svdto"  
6 "apigame/common/svmysql" 5 "apigame/common/svmysql"
7 ) 6 )
8 7
@@ -12,9 +11,9 @@ func Init() { @@ -12,9 +11,9 @@ func Init() {
12 // 卡牌卡包 11 // 卡牌卡包
13 for _, gameId := range svconst.GameListCardHolder { 12 for _, gameId := range svconst.GameListCardHolder {
14 svmysql.InitTable(new(DataCardHolder), gameId) 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 package cardholder 1 package cardholder
2 2
3 import ( 3 import (
4 - "apigame/common/svdto"  
5 "apigame/common/svmysql" 4 "apigame/common/svmysql"
6 "apigame/configs" 5 "apigame/configs"
7 "apigame/models" 6 "apigame/models"
@@ -242,9 +241,10 @@ func DoOpen(gameId string, @@ -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 return 250 return
@@ -290,9 +290,10 @@ func DoOpenCheckAward(gameId string, @@ -290,9 +290,10 @@ func DoOpenCheckAward(gameId string,
290 awardAlbum[albumId] = award 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,9 +302,10 @@ func DoOpenCheckAward(gameId string,
301 awardRound = config.Awards[utstring.IntToString(gameData.Details.Round)] 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 HandleNextRound(gameData) 311 HandleNextRound(gameData)