diff --git a/dto/cardholder-record.go b/dto/cardholder-record.go index c206592..7bc0b52 100644 --- a/dto/cardholder-record.go +++ b/dto/cardholder-record.go @@ -6,18 +6,48 @@ import ( "fmt" ) +// CardHolderRecordBase 开卡包活动日志公共 +type CardHolderRecordBase struct { + Id int64 `orm:"auto"` // 日志ID + Uid int64 // 玩家唯一ID + SequenceId string // 用户序列组ID + Cohort string // 用户分组ID + ActivityId int64 // 当前活动ID + Round int // 当前轮次 + CreateTime int64 // 创建时间戳 + UpdateTime int64 // 修改时间戳 +} + +func (d *CardHolderRecordBase) SqlPairsBase() map[string]string { + m := make(map[string]string) + m["uid"] = fmt.Sprintf("%d", d.Uid) + m["sequence_id"] = fmt.Sprintf("'%s'", d.SequenceId) + m["cohort"] = fmt.Sprintf("'%s'", d.Cohort) + m["activity_id"] = fmt.Sprintf("%d", d.ActivityId) + m["round"] = fmt.Sprintf("%d", d.Round) + m["create_time"] = fmt.Sprintf("%d", d.CreateTime) + m["update_time"] = fmt.Sprintf("%d", d.UpdateTime) + return m +} + +func NewCardHolderRecordBase(uid int64, sequenceId string, cohort string, activityId int64, round int) CardHolderRecordBase { + secNow := lxtime.NowUninx() + return CardHolderRecordBase{ + CreateTime: secNow, + UpdateTime: secNow, + Uid: uid, + SequenceId: sequenceId, + Cohort: cohort, + ActivityId: activityId, + Round: round, + } +} + // CardHolderRecordGetNew 开卡包活动日志获得卡包 type CardHolderRecordGetNew struct { - Id int64 `orm:"auto"` // 日志ID - Uid int64 // 玩家唯一ID - SequenceId string // 用户序列组ID - Cohort string // 用户分组ID - ActivityId int64 // 当前活动ID - Round int // 当前轮次 - CardholderId int // 卡包ID - CardholderCount int // 卡包数量 - CreateTime int64 // 创建时间戳 - UpdateTime int64 // 修改时间戳 + CardHolderRecordBase + CardholderId int // 卡包ID + CardholderCount int // 卡包数量 } func (d *CardHolderRecordGetNew) TableName(gameId string) string { @@ -29,47 +59,26 @@ func (d *CardHolderRecordGetNew) CreateSqlPath() string { } func (d *CardHolderRecordGetNew) SqlPairs() map[string]string { - m := make(map[string]string) - m["uid"] = fmt.Sprintf("%d", d.Uid) - m["sequence_id"] = fmt.Sprintf("'%s'", d.SequenceId) - m["cohort"] = fmt.Sprintf("'%s'", d.Cohort) - m["activity_id"] = fmt.Sprintf("%d", d.ActivityId) - m["round"] = fmt.Sprintf("%d", d.Round) + m := d.SqlPairsBase() m["cardholder_id"] = fmt.Sprintf("%d", d.CardholderId) m["cardholder_count"] = fmt.Sprintf("%d", d.CardholderCount) - m["create_time"] = fmt.Sprintf("%d", d.CreateTime) - m["update_time"] = fmt.Sprintf("%d", d.UpdateTime) return m } -func NewCardHolderRecordGetNew(uid int64, sequenceId string, cohort string, activityId int64, round int, +func NewCardHolderRecordGetNew(recordBase CardHolderRecordBase, cardholderId int, cardholderCount int) *CardHolderRecordGetNew { - secNow := lxtime.NowUninx() return &CardHolderRecordGetNew{ - CreateTime: secNow, - UpdateTime: secNow, - Uid: uid, - SequenceId: sequenceId, - Cohort: cohort, - ActivityId: activityId, - Round: round, - CardholderId: cardholderId, - CardholderCount: cardholderCount, + CardHolderRecordBase: recordBase, + CardholderId: cardholderId, + CardholderCount: cardholderCount, } } // CardHolderRecordOpen 开卡包活动日志开卡包 type CardHolderRecordOpen struct { - Id int64 `orm:"auto"` // 日志ID - Uid int64 // 玩家唯一ID - SequenceId string // 用户序列组ID - Cohort string // 用户分组ID - ActivityId int64 // 当前活动ID - Round int // 当前轮次 + CardHolderRecordBase CardholderId int // 卡包ID CardList string // 开卡内容 - CreateTime int64 // 创建时间戳 - UpdateTime int64 // 修改时间戳 } func (d *CardHolderRecordOpen) TableName(gameId string) string { @@ -81,47 +90,26 @@ func (d *CardHolderRecordOpen) CreateSqlPath() string { } func (d *CardHolderRecordOpen) SqlPairs() map[string]string { - m := make(map[string]string) - m["uid"] = fmt.Sprintf("%d", d.Uid) - m["sequence_id"] = fmt.Sprintf("'%s'", d.SequenceId) - m["cohort"] = fmt.Sprintf("'%s'", d.Cohort) - m["activity_id"] = fmt.Sprintf("%d", d.ActivityId) - m["round"] = fmt.Sprintf("%d", d.Round) + m := d.SqlPairsBase() m["cardholder_id"] = fmt.Sprintf("%d", d.CardholderId) m["card_list"] = fmt.Sprintf("'%s'", d.CardList) - m["create_time"] = fmt.Sprintf("%d", d.CreateTime) - m["update_time"] = fmt.Sprintf("%d", d.UpdateTime) return m } -func NewCardHolderRecordOpen(uid int64, sequenceId string, cohort string, activityId int64, round int, +func NewCardHolderRecordOpen(recordBase CardHolderRecordBase, cardholderId int, cardList string) *CardHolderRecordOpen { - secNow := lxtime.NowUninx() return &CardHolderRecordOpen{ - CreateTime: secNow, - UpdateTime: secNow, - Uid: uid, - SequenceId: sequenceId, - Cohort: cohort, - ActivityId: activityId, - Round: round, - CardholderId: cardholderId, - CardList: cardList, + CardHolderRecordBase: recordBase, + CardholderId: cardholderId, + CardList: cardList, } } // CardHolderRecordRewardAlbum 开卡包活动日志领取卡组奖励 type CardHolderRecordRewardAlbum struct { - Id int64 `orm:"auto"` // 日志ID - Uid int64 // 玩家唯一ID - SequenceId string // 用户序列组ID - Cohort string // 用户分组ID - ActivityId int64 // 当前活动ID - Round int // 当前轮次 - AlbumId int // 卡组ID - Award string // 奖励内容 - CreateTime int64 // 创建时间戳 - UpdateTime int64 // 修改时间戳 + CardHolderRecordBase + AlbumId int // 卡组ID + Award string // 奖励内容 } func (d *CardHolderRecordRewardAlbum) TableName(gameId string) string { @@ -133,46 +121,25 @@ func (d *CardHolderRecordRewardAlbum) CreateSqlPath() string { } func (d *CardHolderRecordRewardAlbum) SqlPairs() map[string]string { - m := make(map[string]string) - m["uid"] = fmt.Sprintf("%d", d.Uid) - m["sequence_id"] = fmt.Sprintf("'%s'", d.SequenceId) - m["cohort"] = fmt.Sprintf("'%s'", d.Cohort) - m["activity_id"] = fmt.Sprintf("%d", d.ActivityId) - m["round"] = fmt.Sprintf("%d", d.Round) + m := d.SqlPairsBase() m["album_id"] = fmt.Sprintf("%d", d.AlbumId) m["award"] = fmt.Sprintf("'%s'", d.Award) - m["create_time"] = fmt.Sprintf("%d", d.CreateTime) - m["update_time"] = fmt.Sprintf("%d", d.UpdateTime) return m } -func NewCardHolderRecordRewardAlbum(uid int64, sequenceId string, cohort string, activityId int64, round int, +func NewCardHolderRecordRewardAlbum(recordBase CardHolderRecordBase, albumId int, award string) *CardHolderRecordRewardAlbum { - secNow := lxtime.NowUninx() return &CardHolderRecordRewardAlbum{ - CreateTime: secNow, - UpdateTime: secNow, - Uid: uid, - SequenceId: sequenceId, - Cohort: cohort, - ActivityId: activityId, - Round: round, - AlbumId: albumId, - Award: award, + CardHolderRecordBase: recordBase, + AlbumId: albumId, + Award: award, } } // CardHolderRecordRewardRound 开卡包活动日志领取轮次奖励 type CardHolderRecordRewardRound struct { - Id int64 `orm:"auto"` // 日志ID - Uid int64 // 玩家唯一ID - SequenceId string // 用户序列组ID - Cohort string // 用户分组ID - ActivityId int64 // 当前活动ID - Round int // 当前轮次 - Award string // 奖励内容 - CreateTime int64 // 创建时间戳 - UpdateTime int64 // 修改时间戳 + CardHolderRecordBase + Award string // 奖励内容 } func (d *CardHolderRecordRewardRound) TableName(gameId string) string { @@ -184,29 +151,15 @@ func (d *CardHolderRecordRewardRound) CreateSqlPath() string { } func (d *CardHolderRecordRewardRound) SqlPairs() map[string]string { - m := make(map[string]string) - m["uid"] = fmt.Sprintf("%d", d.Uid) - m["sequence_id"] = fmt.Sprintf("'%s'", d.SequenceId) - m["cohort"] = fmt.Sprintf("'%s'", d.Cohort) - m["activity_id"] = fmt.Sprintf("%d", d.ActivityId) - m["round"] = fmt.Sprintf("%d", d.Round) + m := d.SqlPairsBase() m["award"] = fmt.Sprintf("'%s'", d.Award) - m["create_time"] = fmt.Sprintf("%d", d.CreateTime) - m["update_time"] = fmt.Sprintf("%d", d.UpdateTime) return m } -func NewCardHolderRecordRewardRound(uid int64, sequenceId string, cohort string, activityId int64, round int, +func NewCardHolderRecordRewardRound(recordBase CardHolderRecordBase, award string) *CardHolderRecordRewardRound { - secNow := lxtime.NowUninx() return &CardHolderRecordRewardRound{ - CreateTime: secNow, - UpdateTime: secNow, - Uid: uid, - SequenceId: sequenceId, - Cohort: cohort, - ActivityId: activityId, - Round: round, - Award: award, + CardHolderRecordBase: recordBase, + Award: award, } } diff --git a/service/cardholder/handle.go b/service/cardholder/handle.go index f959a1b..63707d5 100644 --- a/service/cardholder/handle.go +++ b/service/cardholder/handle.go @@ -74,7 +74,8 @@ func HandleGetNew(req *models.ReqCardHolderGetNew) (code string, rsp models.RspC sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) // 记录日志 - dto.SaveRecord(req.GameID, dto.NewCardHolderRecordGetNew(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round, + recordBase := dto.NewCardHolderRecordBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round) + dto.SaveRecord(req.GameID, dto.NewCardHolderRecordGetNew(recordBase, req.Id, req.Count)) return @@ -179,7 +180,8 @@ func HandleOpen(req *models.ReqCardHolderOpen) (code string, rsp models.RspCardH SaveData(req.GameID, gameData) // 记录日志 - dto.SaveRecord(req.GameID, dto.NewCardHolderRecordOpen(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round, + recordBase := dto.NewCardHolderRecordBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round) + dto.SaveRecord(req.GameID, dto.NewCardHolderRecordOpen(recordBase, req.Id, utjson.JsonString(rsp.NewCards))) //logs.Debug("wjwdbg 获取卡牌列表:", rsp.NewCards) @@ -255,7 +257,8 @@ func HandleGetRewardAlbum(req *models.ReqCardHolderGetRewardAlbum) (code string, sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) // 记录日志 - dto.SaveRecord(req.GameID, dto.NewCardHolderRecordRewardAlbum(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round, + recordBase := dto.NewCardHolderRecordBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round) + dto.SaveRecord(req.GameID, dto.NewCardHolderRecordRewardAlbum(recordBase, req.Id, rsp.Award)) return @@ -304,7 +307,8 @@ func HandleGetRewardRound(req *models.ReqCardHolderGetRewardRound) (code string, sequenceId, cohort := GetUserSequenceIdAndCohort(req.UID) // 记录日志 - dto.SaveRecord(req.GameID, dto.NewCardHolderRecordRewardRound(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round, + recordBase := dto.NewCardHolderRecordBase(gameData.Uid, sequenceId, cohort, config.Id, gameData.Details.Round) + dto.SaveRecord(req.GameID, dto.NewCardHolderRecordRewardRound(recordBase, rsp.Award)) // 处理轮次完成 -- libgit2 0.21.0