兑换礼包记录

This commit is contained in:
sk 2024-08-08 16:57:31 +08:00
parent 33f0d7c8aa
commit 61523b30d5
6 changed files with 44 additions and 5 deletions

View File

@ -15,8 +15,10 @@ type ClientLog struct {
}
type CustomData struct {
GuideTp int32 `json:"guide_tp"`
N int64 `json:"n"`
Event string `json:"event"` // 新手引导 guide
Platform string `json:"platform"` // 平台id
GuideTp int32 `json:"guide_tp"` // 新手引导类型 1完成步骤 2跳过新手引导
N int64 `json:"n"` // 完成步骤的序号,或者跳过新手引导的序号
}
type ClientLogMysql ClientLog

View File

@ -279,3 +279,17 @@ func Code2Id(code string) (uint64, error) {
}
return id, nil
}
type JybItem struct {
Id int32 `json:"id"`
Num int32 `json:"num"`
}
type JybLog struct {
Id string `json:"jybId"` // 礼包id
Ts int64 `json:"ts"` // 时间戳
SnId int32 `json:"snid"` // 玩家id
Tp int32 `json:"tp"` // 礼包类型 1:通用礼包 2:专属礼包
Name string `json:"name"` // 礼包名称
Award []*JybItem `json:"award"` // 礼包奖励
}

View File

@ -15,6 +15,7 @@ const (
BackSystemPermitExchange = "back_permitexchange"
BackSystemPermitJoin = "back_permitjoin"
BackSystemPermitTask = "back_permittask"
BackSystemJyb = "back_jyblog"
)
// dbproxy 消息

View File

@ -3054,8 +3054,10 @@ func CSUpdateAttribute(s *netlib.Session, packetId int, data interface{}, sid in
switch msg.GetTp() {
case common.AttributeGuideStep, common.AttributeGuideSkip:
d := model.CustomData{
GuideTp: msg.GetTp(),
N: int64(stepId),
Event: "guide",
Platform: p.Platform,
GuideTp: msg.GetTp(),
N: int64(stepId),
}
b, _ := json.Marshal(d)
LogChannelSingleton.WriteLog(&model.ClientLogMysql{

View File

@ -592,27 +592,46 @@ func (this *BagMgr) VerifyUpJybInfo(p *Player, args *model.VerifyUpJybInfoArgs)
p.dirty = true
}
}
jybLog := &model.JybLog{
Id: jyb.JybId.Hex(),
Ts: time.Now().Unix(),
SnId: p.SnId,
Tp: jyb.CodeType,
Name: jyb.Name,
}
for _, v := range jyb.Award.Item {
//if _, code := BagMgrSingleton.UpBagInfo(p.SnId, p.Platform, v.ItemId, v.ItemNum); code == bag.OpResultCode_OPRC_Sucess { // 需修改
pack.GainItem.ItemId = append(pack.GainItem.ItemId, &playerproto.ItemInfo{
ItemId: v.ItemId,
ItemNum: v.ItemNum,
})
jybLog.Award = append(jybLog.Award, &model.JybItem{
Id: v.ItemId,
Num: int32(v.ItemNum),
})
}
if jyb.Award.Coin > 0 {
p.AddCoin(jyb.Award.Coin, 0, common.GainWay_ActJybAward, "system", "礼包码兑换")
if !p.IsRob {
LogChannelSingleton.WriteMQData(model.GenerateSystemFreeGive(p.SnId, p.Name, p.Platform, p.Channel, model.SystemFreeGive_GiveType_ActJybAward, model.SystemFreeGive_CoinType_Coin, int64(jyb.Award.Coin)))
}
jybLog.Award = append(jybLog.Award, &model.JybItem{
Id: common.ItemIDCoin,
Num: int32(jyb.Award.Coin),
})
}
if jyb.Award.Diamond > 0 {
p.AddDiamond(jyb.Award.Diamond, 0, common.GainWay_ActJybAward, "system", "礼包码兑换")
if !p.IsRob {
LogChannelSingleton.WriteMQData(model.GenerateSystemFreeGive(p.SnId, p.Name, p.Platform, p.Channel, model.SystemFreeGive_GiveType_ActJybAward, model.SystemFreeGive_CoinType_Diamond, int64(jyb.Award.Diamond)))
}
jybLog.Award = append(jybLog.Award, &model.JybItem{
Id: common.ItemIDDiamond,
Num: int32(jyb.Award.Coin),
})
}
// 领取日志
LogChannelSingleton.WriteLog(jybLog)
p.dirty = true
pack.GainItem.Coin = jyb.Award.Coin
pack.GainItem.Diamond = jyb.Award.Diamond

View File

@ -70,4 +70,5 @@ func init() {
LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitJoin, &model.BackendPermitJoin{})
LogChannelSingleton.RegisterLogCName(mq.BackSystemPermitTask, &model.BackendPermitTask{})
LogChannelSingleton.RegisterLogCName(mq.BackClientLog, &model.ClientLogMysql{})
LogChannelSingleton.RegisterLogCName(mq.BackSystemJyb, &model.JybLog{})
}