go_dreamfactory/modules/mail/api_getAttachment.go
2022-06-09 14:08:57 +08:00

50 lines
1.1 KiB
Go

package mail
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/pb"
"go_dreamfactory/sys/db"
)
// 领取附件
func (this *Api_Comp) GetUserMailAttachmentReq(ctx context.Context, session comm.IUserSession, req *pb.GetUserMailAttachmentReq) (err error) {
var (
code pb.ErrorCode
mail *pb.DB_MailData
)
defer func() {
session.SendMsg(string(this.module.GetType()), GetUserMailAttachmentResp, code, &pb.GetUserMailAttachmentResp{Mail: mail})
}()
if session.GetUserId() == "" {
code = pb.ErrorCode_NoLogin
return
}
_bGet := db.Defsys.Mail_GetMailAttachmentState(req.ObjID)
if !_bGet {
code = pb.ErrorCode_StateInvalid
return
}
_data, err := db.Defsys.Mail_GetMailAttachment(req.ObjID)
if err != nil {
if len(_data) > 0 {
// todo 领取附件
_items := make(map[int32]int32, 0)
for _, v := range _data {
_items[int32(v.ItemId)] += int32(v.ItemCount)
}
bRet := this.pack.AddItemsToUserPack(mail.UserId, _items)
if bRet != nil {
// 修改状态
db.Defsys.Mail_UpdateMailAttachmentState(req.ObjID)
mail.Reward = true
return
}
}
code = pb.ErrorCode_SystemError
}
return
}