diff --git a/dto/cardholder.go b/dto/cardholder.go index c474c75..3708a42 100644 --- a/dto/cardholder.go +++ b/dto/cardholder.go @@ -10,7 +10,7 @@ import ( // CardHolderData 卡牌活动持久数据 type CardHolderData struct { - Uid int64 `gorm:"primaryKey;comment:玩家唯一ID"` + Uid int64 `gorm:"column:uid;primaryKey;comment:玩家唯一ID"` ActivityId int64 `gorm:"comment:活动ID"` Details *CardHolderDataDetails `gorm:"-"` // 活动详情 DetailsText string `gorm:"comment:活动详情封装"` diff --git a/dto/dto.go b/dto/dto.go index 84f31c5..d830631 100644 --- a/dto/dto.go +++ b/dto/dto.go @@ -4,7 +4,6 @@ import ( "apigame/util/utdto" "apigame/util/util-lx/lxalilog" "gorm.io/gorm" - "strings" ) func InitTable(db *gorm.DB, gameId string, tb IDtoData) { @@ -12,31 +11,43 @@ func InitTable(db *gorm.DB, gameId string, tb IDtoData) { utdto.InitTable(db, tb, tableName) } -func Insert(db *gorm.DB, gameId string, data IDtoData) { - utdto.Insert(db, data, data.GetTableName(gameId)) +func Insert(db *gorm.DB, gameId string, data IDtoData) (err error) { + result := utdto.Insert(db, data, data.GetTableName(gameId)) + err = result.Error + if err != nil { + lxalilog.Errors(err, gameId) + return + } + return } -func Update(db *gorm.DB, gameId string, data IDtoData) { - utdto.Update(db, data, data.GetTableName(gameId)) +func Update(db *gorm.DB, gameId string, data IDtoData) (err error) { + result := utdto.Update(db, data, data.GetTableName(gameId)) + err = result.Error + if err != nil { + lxalilog.Errors(err, gameId) + return + } + return } -func Save(db *gorm.DB, gameId string, data IDtoData) { - utdto.Save(db, data, data.GetTableName(gameId)) +func Save(db *gorm.DB, gameId string, data IDtoData) (err error) { + result := utdto.Save(db, data, data.GetTableName(gameId)) + err = result.Error + if err != nil { + lxalilog.Errors(err, gameId) + return + } + return } func First(db *gorm.DB, gameId string, data IDtoData) (has bool, err error) { result := utdto.First(db, data, data.GetTableName(gameId)) + has = result.RowsAffected != 0 err = result.Error - if err == nil { - has = true - } else { - has = false - if strings.Contains(err.Error(), "record not found") { - err = nil - } else { - lxalilog.Errors(err, gameId) - return - } + if err != nil { + lxalilog.Errors(err, gameId) + return } return } diff --git a/service/cardholder/config.go b/service/cardholder/config.go index 9f04882..9cb8aae 100644 --- a/service/cardholder/config.go +++ b/service/cardholder/config.go @@ -1,5 +1,10 @@ package cardholder +import ( + "apigame/service/constd" + "apigame/util/utdto" +) + // CardActivityUpdateConfig 卡牌活动更新配置 type CardActivityUpdateConfig struct { Id int64 // ID @@ -7,6 +12,14 @@ type CardActivityUpdateConfig struct { UpdateTime int64 // 修改时间戳 } +func (d *CardActivityUpdateConfig) TableName() string { + return utdto.MYSQL_TABLE_TEMPLATE +} + +func (d *CardActivityUpdateConfig) GetTableName(gameId string) string { + return constd.MYSQL_TABLE_S_CARDHOLDER_CONFIG + gameId +} + // CardActivityConfig 卡牌活动配置 分析后数据 type CardActivityConfig struct { Raw *CardActivityConfigRaw diff --git a/service/cardholder/handle.go b/service/cardholder/handle.go index e5095b8..c1f28b4 100644 --- a/service/cardholder/handle.go +++ b/service/cardholder/handle.go @@ -92,12 +92,9 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH // 开始处理抽卡 sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) - //logs.Debug("dwjw 用户序列组IDsequenceId", sequenceId) - //logs.Debug("dwjw 用户分组IDcohort:", cohort) if confCardholder.IsNew != 0 { // 如果是新卡包 按顺序查找数目最少的一张卡抽取 cardId := GetNewCard(gameData, config) - //logs.Debug("dwjw 抽取新卡ID:", cardId) // 增加卡牌 gameData.Details.Cards[cardId] += 1 rsp.NewCards = append(rsp.NewCards, cardId) @@ -113,7 +110,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH gameData.Details.CardSequenceScales[combineId] = scale + 1 // 增加卡牌 gameData.Details.Cards[cardIdInt] += 1 - //logs.Debug("dwjw😊 抽取卡牌ID:", cardIdInt) rsp.NewCards = append(rsp.NewCards, cardIdInt) } } @@ -121,7 +117,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH // 先抽保底卡 if confCardholder.GuaranteedStarCardId != "0" { getCardFunc(confCardholder.GuaranteedStarCardId) - //logs.Debug("dwjw 保底卡牌配置ID:", confCardholder.GuaranteedStarCardId) } // 非保底卡 if confCardholder.NormalCardNumber > 0 { @@ -133,8 +128,6 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH starIds := GetListFromArray(confNormalCardStar.NormalCardSequenceIds, scaleStar, count) // 增加星级刻度 gameData.Details.StarSequenceScales[combineIdStar] = scaleStar + count - //logs.Debug("dwjw 非保底卡星级ID:", confCardholder.MinimumGuaranteeCardId) - //logs.Debug("dwjw 非保底卡星级抽取序列:", starIds) // 遍历星级刻度抽取n张卡牌 for _, id := range starIds { getCardFunc(id) @@ -200,9 +193,7 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH // 存档 SaveData(req.GameID, gameData) - //logs.Debug("dwjw 获取卡牌列表:", rsp.NewCards) uttype.Shuffle(rsp.NewCards) - //logs.Debug("dwjw 获取卡牌列表打乱:", rsp.NewCards) // 返回信息 rsp.CardHolderInfo = GetInfo(gameData, config) diff --git a/service/cardholder/logic.go b/service/cardholder/logic.go index 5264a5f..1ed30dc 100644 --- a/service/cardholder/logic.go +++ b/service/cardholder/logic.go @@ -4,7 +4,6 @@ import ( "apigame/dto" "apigame/models" "apigame/service/constd" - "apigame/util/util-lx/lxalilog" "apigame/util/util-lx/lxtime" "apigame/util/uttype" ) @@ -14,18 +13,15 @@ func SaveData(gameId string, d *dto.CardHolderData) { d.UpdateTime = lxtime.NowUninx() d.Encode() - dto.Update(dto.DbCommon, gameId, d) + dto.Save(dto.DbCommon, gameId, d) } func _LoadData(gameId string, uid int64) (d *dto.CardHolderData) { d = dto.NewCardHolderData(uid) - has, err := dto.First(dto.DbCommon, gameId, d) if err != nil { - lxalilog.Errors(err, "cardholder._LoadData", gameId, uid) return } - // 解析 if has { d.Decode() } else { -- libgit2 0.21.0