save
This commit is contained in:
parent
b0f7b10a02
commit
74d6888f96
@ -20,7 +20,7 @@ type getMailsReq struct {
|
||||
func (api *MailApi) GetMailList(c *gin.Context) {
|
||||
var req getMailsReq
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
|
||||
@ -28,7 +28,7 @@ func (api *MailApi) GetMailList(c *gin.Context) {
|
||||
accountObj := GetPlayerMgr().AsyncGetPlayer(req.AccountId)
|
||||
if accountObj == nil {
|
||||
err := fmt.Errorf("account is null")
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
commonPlayer := (common.Player)(accountObj)
|
||||
@ -51,18 +51,18 @@ type markMailReq struct {
|
||||
func (api *MailApi) MarkMail(c *gin.Context) {
|
||||
var req markMailReq
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
if req.Flag != "read" {
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, fmt.Errorf("flag is not `read`")))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, fmt.Errorf("flag is not `read`")))
|
||||
return
|
||||
}
|
||||
|
||||
accountObj := GetPlayerMgr().AsyncGetPlayer(req.AccountId)
|
||||
if accountObj == nil {
|
||||
err := fmt.Errorf("account is null")
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
accountObj.MarkMail(req.MailIds)
|
||||
@ -82,14 +82,14 @@ type getUnreadMailCountReq struct {
|
||||
func (api *MailApi) GetUnreadMailCount(c *gin.Context) {
|
||||
var req getUnreadMailCountReq
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
|
||||
accountObj := GetPlayerMgr().AsyncGetPlayer(req.AccountId)
|
||||
if accountObj == nil {
|
||||
err := fmt.Errorf("account is null")
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
commonPlayer := (common.Player)(accountObj)
|
||||
@ -112,21 +112,21 @@ type getMailAttachmentReq struct {
|
||||
func (api *MailApi) GetMailAttachment(c *gin.Context) {
|
||||
var req getMailAttachmentReq
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
|
||||
accountObj := GetPlayerMgr().AsyncGetPlayer(req.AccountId)
|
||||
if accountObj == nil {
|
||||
err := fmt.Errorf("account is null")
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
att := accountObj.GetAttachment(req.MailIds)
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"errcode": 0,
|
||||
"errmsg": "success",
|
||||
"errmsg": "",
|
||||
"attachments": att,
|
||||
})
|
||||
}
|
||||
@ -141,20 +141,20 @@ type deleteMailsReq struct {
|
||||
func (api *MailApi) DeleteMails(c *gin.Context) {
|
||||
var req deleteMailsReq
|
||||
if err := c.ShouldBindQuery(&req); err != nil {
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
|
||||
accountObj := GetPlayerMgr().AsyncGetPlayer(req.AccountId)
|
||||
if accountObj == nil {
|
||||
err := fmt.Errorf("account is null")
|
||||
c.JSON(http.StatusBadRequest, errorResponse(400, err))
|
||||
c.JSON(http.StatusBadRequest, errorResponse(http.StatusBadRequest, err))
|
||||
return
|
||||
}
|
||||
accountObj.DeleteMails(req.MailIds)
|
||||
|
||||
c.JSON(http.StatusOK, gin.H{
|
||||
"errcode": 0,
|
||||
"errmsg": "success",
|
||||
"errmsg": "",
|
||||
})
|
||||
}
|
||||
|
@ -85,7 +85,7 @@ func (m *Mail) IsReadableMail(accountObj common.Player) bool {
|
||||
}
|
||||
}
|
||||
nowUnixSec := int32(time.Now().Unix())
|
||||
if m.ExpireTime > nowUnixSec && m.SendTime <= nowUnixSec && accountObj.IsUnreadMail(m.MailId) {
|
||||
if m.ExpireTime > nowUnixSec && m.SendTime <= nowUnixSec && accountObj.IsUnreadMail(m.MailId) && !accountObj.IsDeletedMail(m.MailId) {
|
||||
return true
|
||||
}
|
||||
|
||||
|
@ -49,13 +49,30 @@ func (mm *MailMgr) GetMails(player common.Player) []*Mail {
|
||||
|
||||
resMailList := make([]*Mail, 0, resMailsSize)
|
||||
for _, gMail := range gameMails {
|
||||
newMail := &Mail{
|
||||
GameId: gMail.GameId,
|
||||
MailId: gMail.MailId,
|
||||
From: gMail.From,
|
||||
To: gMail.To,
|
||||
Subject: gMail.Subject,
|
||||
Content: gMail.Content,
|
||||
SendTime: gMail.SendTime,
|
||||
MailType: gMail.MailType,
|
||||
MailSubType: gMail.MailSubType,
|
||||
UserType: gMail.UserType,
|
||||
ExpireTime: gMail.ExpireTime,
|
||||
CreateTime: gMail.CreateTime,
|
||||
Ext: gMail.Ext,
|
||||
ATT: gMail.ATT,
|
||||
}
|
||||
if player.IsUnreadMail(gMail.MailId) {
|
||||
gMail.Flag = 0
|
||||
newMail.Flag = 0
|
||||
} else {
|
||||
gMail.Flag = 1 << 0
|
||||
newMail.Flag = 1 << 0
|
||||
}
|
||||
resMailList = append(resMailList, gMail)
|
||||
resMailList = append(resMailList, newMail)
|
||||
}
|
||||
|
||||
if playerMailSize > 0 {
|
||||
for _, pMail := range playerMails {
|
||||
if player.IsUnreadMail(pMail.MailId) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user