Commit d65f881b3ce0232118aeea904321d3c5092fc6ec

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

refactor: orm重构

dto/cardholder.go
@@ -10,7 +10,7 @@ import ( @@ -10,7 +10,7 @@ import (
10 10
11 // CardHolderData 卡牌活动持久数据 11 // CardHolderData 卡牌活动持久数据
12 type CardHolderData struct { 12 type CardHolderData struct {
13 - Uid int64 `gorm:"primaryKey;comment:玩家唯一ID"` 13 + Uid int64 `gorm:"column:uid;primaryKey;comment:玩家唯一ID"`
14 ActivityId int64 `gorm:"comment:活动ID"` 14 ActivityId int64 `gorm:"comment:活动ID"`
15 Details *CardHolderDataDetails `gorm:"-"` // 活动详情 15 Details *CardHolderDataDetails `gorm:"-"` // 活动详情
16 DetailsText string `gorm:"comment:活动详情封装"` 16 DetailsText string `gorm:"comment:活动详情封装"`
@@ -4,7 +4,6 @@ import ( @@ -4,7 +4,6 @@ import (
4 "apigame/util/utdto" 4 "apigame/util/utdto"
5 "apigame/util/util-lx/lxalilog" 5 "apigame/util/util-lx/lxalilog"
6 "gorm.io/gorm" 6 "gorm.io/gorm"
7 - "strings"  
8 ) 7 )
9 8
10 func InitTable(db *gorm.DB, gameId string, tb IDtoData) { 9 func InitTable(db *gorm.DB, gameId string, tb IDtoData) {
@@ -12,31 +11,43 @@ func InitTable(db *gorm.DB, gameId string, tb IDtoData) { @@ -12,31 +11,43 @@ func InitTable(db *gorm.DB, gameId string, tb IDtoData) {
12 utdto.InitTable(db, tb, tableName) 11 utdto.InitTable(db, tb, tableName)
13 } 12 }
14 13
15 -func Insert(db *gorm.DB, gameId string, data IDtoData) {  
16 - utdto.Insert(db, data, data.GetTableName(gameId)) 14 +func Insert(db *gorm.DB, gameId string, data IDtoData) (err error) {
  15 + result := utdto.Insert(db, data, data.GetTableName(gameId))
  16 + err = result.Error
  17 + if err != nil {
  18 + lxalilog.Errors(err, gameId)
  19 + return
  20 + }
  21 + return
17 } 22 }
18 23
19 -func Update(db *gorm.DB, gameId string, data IDtoData) {  
20 - utdto.Update(db, data, data.GetTableName(gameId)) 24 +func Update(db *gorm.DB, gameId string, data IDtoData) (err error) {
  25 + result := utdto.Update(db, data, data.GetTableName(gameId))
  26 + err = result.Error
  27 + if err != nil {
  28 + lxalilog.Errors(err, gameId)
  29 + return
  30 + }
  31 + return
21 } 32 }
22 33
23 -func Save(db *gorm.DB, gameId string, data IDtoData) {  
24 - utdto.Save(db, data, data.GetTableName(gameId)) 34 +func Save(db *gorm.DB, gameId string, data IDtoData) (err error) {
  35 + result := utdto.Save(db, data, data.GetTableName(gameId))
  36 + err = result.Error
  37 + if err != nil {
  38 + lxalilog.Errors(err, gameId)
  39 + return
  40 + }
  41 + return
25 } 42 }
26 43
27 func First(db *gorm.DB, gameId string, data IDtoData) (has bool, err error) { 44 func First(db *gorm.DB, gameId string, data IDtoData) (has bool, err error) {
28 result := utdto.First(db, data, data.GetTableName(gameId)) 45 result := utdto.First(db, data, data.GetTableName(gameId))
  46 + has = result.RowsAffected != 0
29 err = result.Error 47 err = result.Error
30 - if err == nil {  
31 - has = true  
32 - } else {  
33 - has = false  
34 - if strings.Contains(err.Error(), "record not found") {  
35 - err = nil  
36 - } else {  
37 - lxalilog.Errors(err, gameId)  
38 - return  
39 - } 48 + if err != nil {
  49 + lxalilog.Errors(err, gameId)
  50 + return
40 } 51 }
41 return 52 return
42 } 53 }
service/cardholder/config.go
1 package cardholder 1 package cardholder
2 2
  3 +import (
  4 + "apigame/service/constd"
  5 + "apigame/util/utdto"
  6 +)
  7 +
3 // CardActivityUpdateConfig 卡牌活动更新配置 8 // CardActivityUpdateConfig 卡牌活动更新配置
4 type CardActivityUpdateConfig struct { 9 type CardActivityUpdateConfig struct {
5 Id int64 // ID 10 Id int64 // ID
@@ -7,6 +12,14 @@ type CardActivityUpdateConfig struct { @@ -7,6 +12,14 @@ type CardActivityUpdateConfig struct {
7 UpdateTime int64 // 修改时间戳 12 UpdateTime int64 // 修改时间戳
8 } 13 }
9 14
  15 +func (d *CardActivityUpdateConfig) TableName() string {
  16 + return utdto.MYSQL_TABLE_TEMPLATE
  17 +}
  18 +
  19 +func (d *CardActivityUpdateConfig) GetTableName(gameId string) string {
  20 + return constd.MYSQL_TABLE_S_CARDHOLDER_CONFIG + gameId
  21 +}
  22 +
10 // CardActivityConfig 卡牌活动配置 分析后数据 23 // CardActivityConfig 卡牌活动配置 分析后数据
11 type CardActivityConfig struct { 24 type CardActivityConfig struct {
12 Raw *CardActivityConfigRaw 25 Raw *CardActivityConfigRaw
service/cardholder/handle.go
@@ -92,12 +92,9 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH @@ -92,12 +92,9 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH
92 92
93 // 开始处理抽卡 93 // 开始处理抽卡
94 sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) 94 sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID)
95 - //logs.Debug("dwjw 用户序列组IDsequenceId", sequenceId)  
96 - //logs.Debug("dwjw 用户分组IDcohort:", cohort)  
97 if confCardholder.IsNew != 0 { 95 if confCardholder.IsNew != 0 {
98 // 如果是新卡包 按顺序查找数目最少的一张卡抽取 96 // 如果是新卡包 按顺序查找数目最少的一张卡抽取
99 cardId := GetNewCard(gameData, config) 97 cardId := GetNewCard(gameData, config)
100 - //logs.Debug("dwjw 抽取新卡ID:", cardId)  
101 // 增加卡牌 98 // 增加卡牌
102 gameData.Details.Cards[cardId] += 1 99 gameData.Details.Cards[cardId] += 1
103 rsp.NewCards = append(rsp.NewCards, cardId) 100 rsp.NewCards = append(rsp.NewCards, cardId)
@@ -113,7 +110,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH @@ -113,7 +110,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH
113 gameData.Details.CardSequenceScales[combineId] = scale + 1 110 gameData.Details.CardSequenceScales[combineId] = scale + 1
114 // 增加卡牌 111 // 增加卡牌
115 gameData.Details.Cards[cardIdInt] += 1 112 gameData.Details.Cards[cardIdInt] += 1
116 - //logs.Debug("dwjw😊 抽取卡牌ID:", cardIdInt)  
117 rsp.NewCards = append(rsp.NewCards, cardIdInt) 113 rsp.NewCards = append(rsp.NewCards, cardIdInt)
118 } 114 }
119 } 115 }
@@ -121,7 +117,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH @@ -121,7 +117,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH
121 // 先抽保底卡 117 // 先抽保底卡
122 if confCardholder.GuaranteedStarCardId != "0" { 118 if confCardholder.GuaranteedStarCardId != "0" {
123 getCardFunc(confCardholder.GuaranteedStarCardId) 119 getCardFunc(confCardholder.GuaranteedStarCardId)
124 - //logs.Debug("dwjw 保底卡牌配置ID:", confCardholder.GuaranteedStarCardId)  
125 } 120 }
126 // 非保底卡 121 // 非保底卡
127 if confCardholder.NormalCardNumber > 0 { 122 if confCardholder.NormalCardNumber > 0 {
@@ -133,8 +128,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH @@ -133,8 +128,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH
133 starIds := GetListFromArray(confNormalCardStar.NormalCardSequenceIds, scaleStar, count) 128 starIds := GetListFromArray(confNormalCardStar.NormalCardSequenceIds, scaleStar, count)
134 // 增加星级刻度 129 // 增加星级刻度
135 gameData.Details.StarSequenceScales[combineIdStar] = scaleStar + count 130 gameData.Details.StarSequenceScales[combineIdStar] = scaleStar + count
136 - //logs.Debug("dwjw 非保底卡星级ID:", confCardholder.MinimumGuaranteeCardId)  
137 - //logs.Debug("dwjw 非保底卡星级抽取序列:", starIds)  
138 // 遍历星级刻度抽取n张卡牌 131 // 遍历星级刻度抽取n张卡牌
139 for _, id := range starIds { 132 for _, id := range starIds {
140 getCardFunc(id) 133 getCardFunc(id)
@@ -200,9 +193,7 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH @@ -200,9 +193,7 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH
200 // 存档 193 // 存档
201 SaveData(req.GameID, gameData) 194 SaveData(req.GameID, gameData)
202 195
203 - //logs.Debug("dwjw 获取卡牌列表:", rsp.NewCards)  
204 uttype.Shuffle(rsp.NewCards) 196 uttype.Shuffle(rsp.NewCards)
205 - //logs.Debug("dwjw 获取卡牌列表打乱:", rsp.NewCards)  
206 197
207 // 返回信息 198 // 返回信息
208 rsp.CardHolderInfo = GetInfo(gameData, config) 199 rsp.CardHolderInfo = GetInfo(gameData, config)
service/cardholder/logic.go
@@ -4,7 +4,6 @@ import ( @@ -4,7 +4,6 @@ import (
4 "apigame/dto" 4 "apigame/dto"
5 "apigame/models" 5 "apigame/models"
6 "apigame/service/constd" 6 "apigame/service/constd"
7 - "apigame/util/util-lx/lxalilog"  
8 "apigame/util/util-lx/lxtime" 7 "apigame/util/util-lx/lxtime"
9 "apigame/util/uttype" 8 "apigame/util/uttype"
10 ) 9 )
@@ -14,18 +13,15 @@ func SaveData(gameId string, d *dto.CardHolderData) { @@ -14,18 +13,15 @@ func SaveData(gameId string, d *dto.CardHolderData) {
14 d.UpdateTime = lxtime.NowUninx() 13 d.UpdateTime = lxtime.NowUninx()
15 d.Encode() 14 d.Encode()
16 15
17 - dto.Update(dto.DbCommon, gameId, d) 16 + dto.Save(dto.DbCommon, gameId, d)
18 } 17 }
19 18
20 func _LoadData(gameId string, uid int64) (d *dto.CardHolderData) { 19 func _LoadData(gameId string, uid int64) (d *dto.CardHolderData) {
21 d = dto.NewCardHolderData(uid) 20 d = dto.NewCardHolderData(uid)
22 -  
23 has, err := dto.First(dto.DbCommon, gameId, d) 21 has, err := dto.First(dto.DbCommon, gameId, d)
24 if err != nil { 22 if err != nil {
25 - lxalilog.Errors(err, "cardholder._LoadData", gameId, uid)  
26 return 23 return
27 } 24 }
28 - // 解析  
29 if has { 25 if has {
30 d.Decode() 26 d.Decode()
31 } else { 27 } else {