邮件功能优化
This commit is contained in:
parent
c464275763
commit
18e40fa78e
@ -481,6 +481,7 @@ type SqlServerMailStruct struct {
|
|||||||
End_time int64 `db:"end_time"`
|
End_time int64 `db:"end_time"`
|
||||||
Mail_type int `db:"mail_type"`
|
Mail_type int `db:"mail_type"`
|
||||||
To_uids string `db:"to_uids"`
|
To_uids string `db:"to_uids"`
|
||||||
|
CreateTime int64 `db:"create_time"`
|
||||||
}
|
}
|
||||||
|
|
||||||
type SqlChargeOrderStruct struct {
|
type SqlChargeOrderStruct struct {
|
||||||
|
|||||||
@ -9,6 +9,11 @@ import (
|
|||||||
"strings"
|
"strings"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const (
|
||||||
|
MAIL_TYPE_SERVER = 1
|
||||||
|
MAIL_TYPE_USER = 2
|
||||||
|
)
|
||||||
|
|
||||||
type MailMgr struct {
|
type MailMgr struct {
|
||||||
*ServerMod
|
*ServerMod
|
||||||
list map[int]*ServerMail
|
list map[int]*ServerMail
|
||||||
@ -39,6 +44,13 @@ func (m *MailMgr) Init() {
|
|||||||
// 注册处理函数
|
// 注册处理函数
|
||||||
m.init()
|
m.init()
|
||||||
m.LoadMail()
|
m.LoadMail()
|
||||||
|
m.RegisterHandler(msg.HANDLE_TYPE_MAIL_ADD, m.AddMail)
|
||||||
|
}
|
||||||
|
|
||||||
|
func (m *MailMgr) AddMail(msg *msg.Msg) error {
|
||||||
|
ServerMail := msg.Extra.(*ServerMail)
|
||||||
|
m.list[ServerMail.Id] = ServerMail
|
||||||
|
return nil
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *MailMgr) LoadMail() {
|
func (r *MailMgr) LoadMail() {
|
||||||
@ -67,6 +79,27 @@ func (r *MailMgr) LoadMail() {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
func (r *MailMgr) Sync() {
|
func (r *MailMgr) Sync(Uid int, Register int64) []ServerMail {
|
||||||
G_GameLogicPtr.NotifyAll(&msg.Msg{Type: msg.HANDLE_TYPE_MAIL, Extra: r.list[1]})
|
// 同步邮件
|
||||||
|
Now := GoUtil.Now()
|
||||||
|
list := make([]ServerMail, 0)
|
||||||
|
for _, v := range r.list {
|
||||||
|
if v.Start_time > 0 && v.Start_time > Now {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if v.End_time > 0 && v.End_time < Now {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if v.Register_time > 0 && v.Register_time < Register {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
if v.Mail_type == MAIL_TYPE_SERVER { //全服邮件
|
||||||
|
list = append(list, *v)
|
||||||
|
} else {
|
||||||
|
if GoUtil.InArray(Uid, v.To_uids) {
|
||||||
|
list = append(list, *v)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return list
|
||||||
}
|
}
|
||||||
|
|||||||
@ -426,6 +426,10 @@ func (p *PlayerBaseData) ClearData() bool {
|
|||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func (p *PlayerBaseData) GetRegisterTime() int64 {
|
||||||
|
return int64(p.Data.Rolecreatetime)
|
||||||
|
}
|
||||||
|
|
||||||
// 增加减少体力
|
// 增加减少体力
|
||||||
func (p *PlayerBaseData) AddEnergy(player *Player, cnt int) error {
|
func (p *PlayerBaseData) AddEnergy(player *Player, cnt int) error {
|
||||||
BaseMod := p.p.PlayMod.getBaseMod()
|
BaseMod := p.p.PlayMod.getBaseMod()
|
||||||
|
|||||||
@ -322,6 +322,18 @@ func SyncFriendMsg(p *Player) {
|
|||||||
p.PlayMod.save()
|
p.PlayMod.save()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func SyncMailMsg(p *Player) {
|
||||||
|
ServerMailList := G_GameLogicPtr.MailMgr.Sync(int(p.M_DwUin), p.GetPlayerBaseMod().GetRegisterTime())
|
||||||
|
MailMod := p.PlayMod.getMailMod()
|
||||||
|
for _, v := range ServerMailList {
|
||||||
|
if GoUtil.InArray(v.Id, MailMod.ServerMail) {
|
||||||
|
continue
|
||||||
|
}
|
||||||
|
MailMod.ServerMail = append(MailMod.ServerMail, v.Id)
|
||||||
|
MailMod.Send(v.Title, v.Content, v.Items)
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
// 返回好友信息
|
// 返回好友信息
|
||||||
func FriendListBackData(p *Player) {
|
func FriendListBackData(p *Player) {
|
||||||
FriendMod := p.PlayMod.getFriendMod()
|
FriendMod := p.PlayMod.getFriendMod()
|
||||||
|
|||||||
@ -8,8 +8,9 @@ import (
|
|||||||
)
|
)
|
||||||
|
|
||||||
type MailMod struct {
|
type MailMod struct {
|
||||||
List map[int]*MailInfo // 邮件列表
|
List map[int]*MailInfo // 邮件列表
|
||||||
AutoId int // 自增id
|
AutoId int // 自增id
|
||||||
|
ServerMail []int
|
||||||
}
|
}
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
@ -67,6 +67,8 @@ const (
|
|||||||
SERVER_NOON_UPDATE // 12点更新
|
SERVER_NOON_UPDATE // 12点更新
|
||||||
|
|
||||||
FRIEND_TREASURE_HANDLE //好友宝藏操作
|
FRIEND_TREASURE_HANDLE //好友宝藏操作
|
||||||
|
HANDLE_TYPE_MAIL_ADD //添加邮件
|
||||||
|
|
||||||
)
|
)
|
||||||
|
|
||||||
const (
|
const (
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user