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