package mail import ( "go_dreamfactory/comm" "go_dreamfactory/pb" "github.com/golang/protobuf/proto" ) func (this *apiComp) GetUserMailAttachmentCheck(session comm.IUserSession, req *pb.MailGetUserMailAttachmentReq) (code pb.ErrorCode) { return } // 领取附件 func (this *apiComp) GetUserMailAttachment(session comm.IUserSession, req *pb.MailGetUserMailAttachmentReq) (code pb.ErrorCode, data proto.Message) { var ( mail *pb.DBMailData ) defer func() { session.SendMsg(string(this.module.GetType()), GetUserMailAttachmentResp, &pb.MailGetUserMailAttachmentResp{Mail: mail}) }() if session.GetUserId() == "" { code = pb.ErrorCode_NoLogin return } _bGet := this.module.modelMail.Mail_GetMailAttachmentState(req.ObjID) if !_bGet { code = pb.ErrorCode_StateInvalid return } _data, err := this.module.modelMail.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) } code = this.items.AddItems(&comm.ModuleCallSource{ Module: string(this.module.GetType()), FuncName: "GetUserMailAttachment", Describe: "领取附件", }, mail.Uid, _items) if code == pb.ErrorCode_Success { // 修改状态 this.module.modelMail.Mail_UpdateMailAttachmentState(req.ObjID) mail.Reward = true return } return } } code = pb.ErrorCode_SystemError return }