From d46c1db740058e96dfc6627ddf75475416895adf Mon Sep 17 00:00:00 2001 From: 王家文 Date: Mon, 8 Apr 2024 17:40:17 +0800 Subject: [PATCH] feat:操作日志记录 --- dto/ht-cardholder-record.go | 124 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ dto/ht-cardholder.go | 6 +++++- dto/record.go | 5 +++++ service/constd/mysql.go | 8 ++++++-- service/game-record/record.go | 16 ++++++++++++++++ service/ht-cardholder/handle.go | 19 +++++++++++++++++++ 6 files changed, 175 insertions(+), 3 deletions(-) create mode 100644 dto/ht-cardholder-record.go create mode 100644 dto/record.go create mode 100644 service/game-record/record.go diff --git a/dto/ht-cardholder-record.go b/dto/ht-cardholder-record.go new file mode 100644 index 0000000..8f503d1 --- /dev/null +++ b/dto/ht-cardholder-record.go @@ -0,0 +1,124 @@ +package dto + +import ( + "apigame/service/constd" + "apigame/util/util-lx/lxtime" +) + +// HtCardHolderRecordGetNew 开卡包活动日志获得卡包 +type HtCardHolderRecordGetNew struct { + Id int64 `orm:"auto"` // 日志ID + Uid int64 // 玩家唯一ID + ActivityId int64 // 当前活动ID + Round int // 当前轮次 + CardholderId int // 卡包ID + CardholderCount int // 卡包数量 + CreateTime int64 // 创建时间戳 + UpdateTime int64 // 修改时间戳 +} + +func (d *HtCardHolderRecordGetNew) TableName() string { + return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_GETNEW + constd.GAME_ID_HT +} + +func NewHtCardHolderRecordGetNew(uid int64, activityId int64, round int, + cardholderId int, cardholderCount int) *HtCardHolderRecordGetNew { + secNow := lxtime.NowUninx() + return &HtCardHolderRecordGetNew{ + CreateTime: secNow, + UpdateTime: secNow, + Uid: uid, + ActivityId: activityId, + Round: round, + CardholderId: cardholderId, + CardholderCount: cardholderCount, + } +} + +// HtCardHolderRecordOpen 开卡包活动日志开卡包 +type HtCardHolderRecordOpen struct { + Id int64 `orm:"auto"` // 日志ID + Uid int64 // 玩家唯一ID + ActivityId int64 // 当前活动ID + Round int // 当前轮次 + CardholderId int // 卡包ID + CardList string // 开卡内容 + CreateTime int64 // 创建时间戳 + UpdateTime int64 // 修改时间戳 +} + +func (d *HtCardHolderRecordOpen) TableName() string { + return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN + constd.GAME_ID_HT +} + +func NewHtCardHolderRecordOpen(uid int64, activityId int64, round int, + cardholderId int, cardList string) *HtCardHolderRecordOpen { + secNow := lxtime.NowUninx() + return &HtCardHolderRecordOpen{ + CreateTime: secNow, + UpdateTime: secNow, + Uid: uid, + ActivityId: activityId, + Round: round, + CardholderId: cardholderId, + CardList: cardList, + } +} + +// HtCardHolderRecordRewardAlbum 开卡包活动日志领取卡组奖励 +type HtCardHolderRecordRewardAlbum struct { + Id int64 `orm:"auto"` // 日志ID + Uid int64 // 玩家唯一ID + ActivityId int64 // 当前活动ID + Round int // 当前轮次 + AlbumId int // 卡组ID + Award string // 奖励内容 + CreateTime int64 // 创建时间戳 + UpdateTime int64 // 修改时间戳 +} + +func (d *HtCardHolderRecordRewardAlbum) TableName() string { + return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM + constd.GAME_ID_HT +} + +func NewHtCardHolderRecordRewardAlbum(uid int64, activityId int64, round int, + albumId int, award string) *HtCardHolderRecordRewardAlbum { + secNow := lxtime.NowUninx() + return &HtCardHolderRecordRewardAlbum{ + CreateTime: secNow, + UpdateTime: secNow, + Uid: uid, + ActivityId: activityId, + Round: round, + AlbumId: albumId, + Award: award, + } +} + +// HtCardHolderRecordRewardRound 开卡包活动日志领取卡组奖励 +type HtCardHolderRecordRewardRound struct { + Id int64 `orm:"auto"` // 日志ID + Uid int64 // 玩家唯一ID + ActivityId int64 // 当前活动ID + Round int // 当前轮次 + Award string // 奖励内容 + CreateTime int64 // 创建时间戳 + UpdateTime int64 // 修改时间戳 +} + +func (d *HtCardHolderRecordRewardRound) TableName() string { + return constd.MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND + constd.GAME_ID_HT +} + +func NewHtCardHolderRecordRewardRound(uid int64, activityId int64, round int, + award string) *HtCardHolderRecordRewardRound { + secNow := lxtime.NowUninx() + return &HtCardHolderRecordRewardRound{ + CreateTime: secNow, + UpdateTime: secNow, + Uid: uid, + ActivityId: activityId, + Round: round, + Award: award, + } +} diff --git a/dto/ht-cardholder.go b/dto/ht-cardholder.go index a4976ce..8e870ab 100644 --- a/dto/ht-cardholder.go +++ b/dto/ht-cardholder.go @@ -12,6 +12,10 @@ func InitHtCardholder() { // register model orm.RegisterModel(new(HtCardHolderData)) + orm.RegisterModel(new(HtCardHolderRecordGetNew)) + orm.RegisterModel(new(HtCardHolderRecordOpen)) + orm.RegisterModel(new(HtCardHolderRecordRewardAlbum)) + orm.RegisterModel(new(HtCardHolderRecordRewardRound)) // create table orm.RunSyncdb("default", false, true) @@ -56,7 +60,7 @@ func NewHtCardHolderDataDetails() *HtCardHolderDataDetails { } func (d *HtCardHolderData) TableName() string { - return constd.MYSQL_TABLE_S_CARD_DATA + constd.GAME_ID_HT + return constd.MYSQL_TABLE_S_CARDHOLDER_DATA + constd.GAME_ID_HT } // Encode 打包数据 diff --git a/dto/record.go b/dto/record.go new file mode 100644 index 0000000..d80daa0 --- /dev/null +++ b/dto/record.go @@ -0,0 +1,5 @@ +package dto + +type RecordMysql interface { + TableName() string +} diff --git a/service/constd/mysql.go b/service/constd/mysql.go index 5091713..950416d 100644 --- a/service/constd/mysql.go +++ b/service/constd/mysql.go @@ -10,8 +10,12 @@ const ( MYSQL_MERGECONFIG = "merge_config" MYSQL_DEFAULT_QUERY_MAXCOUNT = 100 - MYSQL_TABLE_S_CARD_ACTIVITY = "s_card_activity_" // 开卡包活动配置 - MYSQL_TABLE_S_CARD_DATA = "s_card_data_" // 开卡包活动数据 + MYSQL_TABLE_S_CARD_ACTIVITY = "s_card_activity_" // 开卡包活动配置 + MYSQL_TABLE_S_CARDHOLDER_DATA = "s_cardholder_data_" // 开卡包活动数据 + MYSQL_TABLE_S_CARDHOLDER_RECORD_GETNEW = "s_cardholder_record_getnew_" // 开卡包活动日志获得卡包 + MYSQL_TABLE_S_CARDHOLDER_RECORD_OPEN = "s_cardholder_record_open_" // 开卡包活动日志开卡包 + MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDALBUM = "s_cardholder_record_rewardalbum_" // 开卡包活动日志领取卡组奖励 + MYSQL_TABLE_S_CARDHOLDER_RECORD_REWARDROUND = "s_cardholder_record_rewardround_" // 开卡包活动日志领取轮次奖励 ) diff --git a/service/game-record/record.go b/service/game-record/record.go new file mode 100644 index 0000000..72306f9 --- /dev/null +++ b/service/game-record/record.go @@ -0,0 +1,16 @@ +package game_record + +import ( + "apigame/dto" + "apigame/service/constd" + "apigame/util/util-lx/lxalilog" + "github.com/astaxie/beego/orm" +) + +func Save(d dto.RecordMysql) { + o := orm.NewOrm() + o.Using(constd.MYSQL_DEFAULT) + if _, err := o.Insert(d); err != nil { + lxalilog.Errors(err, d.TableName()) + } +} diff --git a/service/ht-cardholder/handle.go b/service/ht-cardholder/handle.go index b6761bf..644787c 100644 --- a/service/ht-cardholder/handle.go +++ b/service/ht-cardholder/handle.go @@ -1,8 +1,11 @@ package ht_cardholder import ( + "apigame/dto" "apigame/models" "apigame/service/constd" + game_record "apigame/service/game-record" + "apigame/util/utjson" "apigame/util/uttype" "strconv" ) @@ -62,6 +65,10 @@ func HandleGetNew(req *models.ReqHtCardHolderGetNew) (code string, rsp models.Rs // 返回信息 rsp.HtCardHolderInfo = gameData.GetInfo() + // 记录日志 + game_record.Save(dto.NewHtCardHolderRecordGetNew(gameData.Uid, Config.Id, gameData.Details.Round, + req.Id, req.Count)) + return } @@ -159,6 +166,10 @@ func HandleOpen(req *models.ReqHtCardHolderOpen) (code string, rsp models.RspHtC // 存档 SaveData(gameData) + // 记录日志 + game_record.Save(dto.NewHtCardHolderRecordOpen(gameData.Uid, Config.Id, gameData.Details.Round, + req.Id, utjson.JsonString(rsp.NewCards))) + //logs.Debug("wjwdbg 获取卡牌列表:", rsp.NewCards) uttype.Shuffle(rsp.NewCards) //logs.Debug("wjwdbg 获取卡牌列表打乱:", rsp.NewCards) @@ -226,6 +237,10 @@ func HandleGetRewardAlbum(req *models.ReqHtCardHolderGetRewardAlbum) (code strin // 返回信息 rsp.HtCardHolderInfo = gameData.GetInfo() + // 记录日志 + game_record.Save(dto.NewHtCardHolderRecordRewardAlbum(gameData.Uid, Config.Id, gameData.Details.Round, + req.Id, rsp.Award)) + return } @@ -266,6 +281,10 @@ func HandleGetRewardRound(req *models.ReqHtCardHolderGetRewardRound) (code strin // 返回奖励 rsp.Award = Config.Awards[uttype.IntToString(round)] + // 记录日志 + game_record.Save(dto.NewHtCardHolderRecordRewardRound(gameData.Uid, Config.Id, gameData.Details.Round, + rsp.Award)) + // 处理轮次完成 HandleNextRound(gameData) SaveData(gameData) -- libgit2 0.21.0