赠送礼物

This commit is contained in:
hahwu 2025-04-01 15:11:56 +08:00
parent 5f1889c753
commit 0084b32f0f
8 changed files with 1652 additions and 1489 deletions

View File

@ -13,8 +13,9 @@ const (
CFG_LOGIN_BACK = "LoginBack" CFG_LOGIN_BACK = "LoginBack"
CFG_MAIL = "Mail" CFG_MAIL = "Mail"
MAIL_RECALL_ID = 12 MAIL_RECALL_ID = 12
MAIL_CHARGE_SEND_ID = 13 MAIL_CHARGE_SEND_ID = 13
MAIL_CHARGE_RECEIVE_ID = 14
) )
type TriggerMail struct { type TriggerMail struct {
@ -88,3 +89,13 @@ func GetChargeSendMail(Lang int, PlayerName string) (string, string) {
mc := languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Content")) mc := languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Content"))
return mt, fmt.Sprintf(mc, PlayerName) return mt, fmt.Sprintf(mc, PlayerName)
} }
func GetChargeReceiveMail(Lang int, PlayerName string) (string, string) {
data, err := gamedata.GetDataByIntKey(CFG_MAIL, MAIL_CHARGE_RECEIVE_ID)
if err != nil {
return "", ""
}
mt := languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Title"))
mc := languageCfg.GetLanguage(Lang, gamedata.GetStringValue(data, "Content"))
return mt, fmt.Sprintf(mc, PlayerName)
}

View File

@ -66,6 +66,7 @@ func (f *FriendMgr) Init() {
f.RegisterHandler(msg.HANDLE_TYPE_HANDBOOK_COLLECTION, f.sendToPlayer) f.RegisterHandler(msg.HANDLE_TYPE_HANDBOOK_COLLECTION, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_HANDBOOK_UPVOTE, f.sendToPlayer) f.RegisterHandler(msg.HANDLE_TYPE_HANDBOOK_UPVOTE, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_SEND_CHARGE, f.sendToPlayer) f.RegisterHandler(msg.HANDLE_TYPE_SEND_CHARGE, f.sendToPlayer)
f.RegisterHandler(msg.HANDLE_TYPE_CHARGE_RECEIVE, f.sendToPlayer)
} }
func (f *FriendMgr) getData() *FirendData { func (f *FriendMgr) getData() *FirendData {

View File

@ -797,7 +797,7 @@ func (ad *GameLogic) RegisterNetWorkFunc() {
RegisterMsgProcessFunc("ReqKafkaLog", ReqKafkaLog) // 客户端日志 RegisterMsgProcessFunc("ReqKafkaLog", ReqKafkaLog) // 客户端日志
RegisterMsgProcessFunc("ReqCreateOrderSn", ReqCreateOrderSn) // 创建订单号 RegisterMsgProcessFunc("ReqCreateOrderSn", ReqCreateOrderSn) // 创建订单号
RegisterMsgProcessFunc("ReqShippingOrder", ReqShippingOrder) // 获取订单号 RegisterMsgProcessFunc("ReqShippingOrder", ReqShippingOrder) // 获取订单号
RegisterMsgProcessFunc("ReqChargeReceive", ReqChargeReceive) // 礼包回复邮件
} }
func (ad *GameLogic) CreateHttpManager() { func (ad *GameLogic) CreateHttpManager() {

View File

@ -228,7 +228,7 @@ func handle(p *Player, m *msg.Msg) error {
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type) p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK, data.Type)
case msg.HANDLE_TYPE_HANDBOOK_UPVOTE: // 图鉴点赞 case msg.HANDLE_TYPE_HANDBOOK_UPVOTE: // 图鉴点赞
p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK_UPVOTE, "") p.AddLog(m.From, friend.LOG_TYPE_HANDBOOK_UPVOTE, "")
case msg.HANDLE_TYPE_SEND_CHARGE: case msg.HANDLE_TYPE_SEND_CHARGE: // 收到好友赠送的充值礼包
C := &ChargeExtra{} C := &ChargeExtra{}
if m.Extra != nil { if m.Extra != nil {
C = m.Extra.(*ChargeExtra) C = m.Extra.(*ChargeExtra)
@ -242,6 +242,17 @@ func handle(p *Player, m *msg.Msg) error {
MailId := MailMod.Send(mt, mc, Items, mail.MAIL_TYPE_NORMAL) MailId := MailMod.Send(mt, mc, Items, mail.MAIL_TYPE_NORMAL)
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_SEND, fmt.Sprintf("%d", MailId)) p.AddLog(m.From, friend.LOG_TYPE_CHARGE_SEND, fmt.Sprintf("%d", MailId))
p.PushClientRes(MailMod.BackData()) p.PushClientRes(MailMod.BackData())
case msg.HANDLE_TYPE_CHARGE_RECEIVE: // 收到好友的感谢信
Content := ""
if m.Extra != nil {
Content = m.Extra.(string)
}
MailMod := p.PlayMod.getMailMod()
BaseMod := p.PlayMod.getBaseMod()
mt, mc := mailCfg.GetChargeSendMail(BaseMod.GetLang(), Content)
MailId := MailMod.Send(mt, mc, nil, mail.MAIL_TYPE_NORMAL)
p.AddLog(m.From, friend.LOG_TYPE_CHARGE_RECEIVE, fmt.Sprintf("%d", MailId))
p.PushClientRes(MailMod.BackData())
default: default:
log.Debug("uid : %d, handle msg type : %d not exist", p.M_DwUin, m.Type) log.Debug("uid : %d, handle msg type : %d not exist", p.M_DwUin, m.Type)
} }

View File

@ -3989,3 +3989,19 @@ func ReqAddNpc(player *Player, buf []byte) error {
}) })
return nil return nil
} }
func ReqChargeReceive(player *Player, buf []byte) error {
req := &msg.ReqChargeReceive{}
proto.Unmarshal(buf, req)
FriendMgrSend(&MsqMod.Msg{
From: int(player.M_DwUin),
To: int(req.Uid),
SendT: GoUtil.Now(),
Type: MsqMod.HANDLE_TYPE_CHARGE_RECEIVE,
Extra: req.Content,
})
player.PushClientRes(&msg.ResChargeReceive{
Code: msg.RES_CODE_SUCCESS,
})
return nil
}

View File

@ -41,6 +41,7 @@ const (
LOG_TYPE_HANDBOOK = 16 // 图鉴收集 LOG_TYPE_HANDBOOK = 16 // 图鉴收集
LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞 LOG_TYPE_HANDBOOK_UPVOTE = 17 // 图鉴点赞
LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物 LOG_TYPE_CHARGE_SEND = 18 // 赠送充值礼物
LOG_TYPE_CHARGE_RECEIVE = 19 // 收到充值礼物
) )
const ( const (

View File

@ -75,7 +75,8 @@ const (
HANDLE_TYPE_HANDBOOK_COLLECTION //图鉴收集 HANDLE_TYPE_HANDBOOK_COLLECTION //图鉴收集
HANDLE_TYPE_HANDBOOK_UPVOTE //图鉴收集时间线点赞 HANDLE_TYPE_HANDBOOK_UPVOTE //图鉴收集时间线点赞
HANDLE_TYPE_SEND_CHARGE //赠送充值 HANDLE_TYPE_SEND_CHARGE //赠送充值礼包
HANDLE_TYPE_CHARGE_RECEIVE //充值礼包领取
) )
const ( const (

File diff suppressed because it is too large Load Diff