From 4cd16973eb0dda9af2b3bfff9c94e3387af3ff5d Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 9 Jun 2022 10:33:45 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/mail/module.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/mail/module.go b/modules/mail/module.go index 0ec214292..00dca80d3 100644 --- a/modules/mail/module.go +++ b/modules/mail/module.go @@ -51,7 +51,7 @@ func (this *Mail) CreateNewMail(uId string) { Check: false, Reward: false, } - err := db.Defsys.InsertUserMail(mail) + err := db.Defsys.Mail_InsertUserMail(mail) if err != nil { log.Error("create mail failed") } From 616198cf8efe62c58562a6c8da1f64e0ffdeba21 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 9 Jun 2022 10:34:10 +0800 Subject: [PATCH 2/3] =?UTF-8?q?=E7=BC=96=E7=A0=81=E8=A7=84=E8=8C=83=20?= =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E6=B3=A8=E9=87=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/imodule.go | 2 +- modules/mail/api_comp.go | 25 ++++++++++++++++--------- pb/errorcode.pb.go | 10 +++++++--- pb/proto/errorcode.proto | 10 ++++++---- sys/cache/mail.go | 2 +- sys/db/mail.go | 28 ++++++++++++++-------------- sys/db/mail_test.go | 6 +++--- 7 files changed, 48 insertions(+), 35 deletions(-) diff --git a/comm/imodule.go b/comm/imodule.go index d2611e34a..91fc0940f 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -11,6 +11,6 @@ type ( } //背包模块对外接口定义 提供给其他模块使用的 IPack interface { - //GetRewaredItems(uId string, itmes map[uint32]uint32) + GetRewaredItems(uId string, itmes map[uint32]uint32) bool } ) diff --git a/modules/mail/api_comp.go b/modules/mail/api_comp.go index 332e25a8b..236b486a2 100644 --- a/modules/mail/api_comp.go +++ b/modules/mail/api_comp.go @@ -85,7 +85,7 @@ func (this *Api_Comp) ReadUserMailReq(ctx context.Context, session comm.IUserSes return } - mail, err = db.Defsys.ReadOneMail(req.ObjID) + mail, err = db.Defsys.Mail_ReadOneMail(req.ObjID) if err != nil { code = pb.ErrorCode_ReqParameterError } @@ -107,22 +107,29 @@ func (this *Api_Comp) GetUserMailAttachmentReq(ctx context.Context, session comm code = pb.ErrorCode_NoLogin return } - _bGet := db.Defsys.GetMailAttachmentState(req.ObjID) + _bGet := db.Defsys.Mail_GetMailAttachmentState(req.ObjID) if !_bGet { code = pb.ErrorCode_StateInvalid return } - _data, err := db.Defsys.GetMailAttachment(req.ObjID) + _data, err := db.Defsys.Mail_GetMailAttachment(req.ObjID) if err != nil { if len(_data) > 0 { // todo 领取附件 - } else { - return + _items := make(map[uint32]uint32, 0) + for _, v := range _data { + _items[v.ItemId] += v.ItemCount + } + bRet := this.pack.GetRewaredItems(mail.UserId, _items) + if bRet { + // 修改状态 + db.Defsys.Mail_UpdateMailAttachmentState(req.ObjID) + mail.Reward = true + return + } } + code = pb.ErrorCode_SystemError } - // 修改状态 - db.Defsys.UpdateMailAttachmentState(req.ObjID) - mail.Reward = true return } @@ -139,7 +146,7 @@ func (this *Api_Comp) DelUserMailReq(ctx context.Context, session comm.IUserSess code = pb.ErrorCode_NoLogin return } - bRet := db.Defsys.DelUserMail(req.ObjID) + bRet := db.Defsys.Mail_DelUserMail(req.ObjID) if !bRet { code = pb.ErrorCode_DBError return diff --git a/pb/errorcode.pb.go b/pb/errorcode.pb.go index b51373e4a..721cb3939 100644 --- a/pb/errorcode.pb.go +++ b/pb/errorcode.pb.go @@ -37,6 +37,7 @@ const ( ErrorCode_SecKeyInvalid ErrorCode = 20 //秘钥无效 ErrorCode_StateInvalid ErrorCode = 21 //无效状态 ErrorCode_DBError ErrorCode = 22 // 数据库操作失败 + ErrorCode_SystemError ErrorCode = 23 // 通用错误 ) // Enum value maps for ErrorCode. @@ -56,6 +57,7 @@ var ( 20: "SecKeyInvalid", 21: "StateInvalid", 22: "DBError", + 23: "SystemError", } ErrorCode_value = map[string]int32{ "Success": 0, @@ -72,6 +74,7 @@ var ( "SecKeyInvalid": 20, "StateInvalid": 21, "DBError": 22, + "SystemError": 23, } ) @@ -106,7 +109,7 @@ var File_errorcode_proto protoreflect.FileDescriptor var file_errorcode_proto_rawDesc = []byte{ 0x0a, 0x0f, 0x65, 0x72, 0x72, 0x6f, 0x72, 0x63, 0x6f, 0x64, 0x65, 0x2e, 0x70, 0x72, 0x6f, 0x74, - 0x6f, 0x2a, 0x97, 0x02, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, + 0x6f, 0x2a, 0xa8, 0x02, 0x0a, 0x09, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x43, 0x6f, 0x64, 0x65, 0x12, 0x0b, 0x0a, 0x07, 0x53, 0x75, 0x63, 0x63, 0x65, 0x73, 0x73, 0x10, 0x00, 0x12, 0x11, 0x0a, 0x0d, 0x4e, 0x6f, 0x46, 0x69, 0x6e, 0x64, 0x53, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x10, 0x0a, 0x12, 0x19, 0x0a, 0x15, 0x52, 0x70, 0x63, 0x46, 0x75, 0x6e, 0x63, 0x45, 0x78, 0x65, 0x63, 0x75, 0x74, @@ -123,8 +126,9 @@ var file_errorcode_proto_rawDesc = []byte{ 0x06, 0x53, 0x65, 0x63, 0x4b, 0x65, 0x79, 0x10, 0x13, 0x12, 0x11, 0x0a, 0x0d, 0x53, 0x65, 0x63, 0x4b, 0x65, 0x79, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x14, 0x12, 0x10, 0x0a, 0x0c, 0x53, 0x74, 0x61, 0x74, 0x65, 0x49, 0x6e, 0x76, 0x61, 0x6c, 0x69, 0x64, 0x10, 0x15, 0x12, 0x0b, - 0x0a, 0x07, 0x44, 0x42, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x16, 0x42, 0x06, 0x5a, 0x04, 0x2e, - 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, + 0x0a, 0x07, 0x44, 0x42, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x16, 0x12, 0x0f, 0x0a, 0x0b, 0x53, + 0x79, 0x73, 0x74, 0x65, 0x6d, 0x45, 0x72, 0x72, 0x6f, 0x72, 0x10, 0x17, 0x42, 0x06, 0x5a, 0x04, + 0x2e, 0x3b, 0x70, 0x62, 0x62, 0x06, 0x70, 0x72, 0x6f, 0x74, 0x6f, 0x33, } var ( diff --git a/pb/proto/errorcode.proto b/pb/proto/errorcode.proto index e2def10e4..63e6db91b 100644 --- a/pb/proto/errorcode.proto +++ b/pb/proto/errorcode.proto @@ -13,8 +13,10 @@ enum ErrorCode { InsufficientPermissions = 16; //权限不足 NoLogin = 17; //未登录 UserSessionNobeing = 18; //用户不存在 - SecKey = 19; //秘钥格式错误 - SecKeyInvalid = 20; //秘钥无效 - StateInvalid = 21; //无效状态 - DBError = 22; // 数据库操作失败 + SecKey = 19; //秘钥格式错误 + SecKeyInvalid = 20; //秘钥无效 + StateInvalid = 21; //无效状态 + DBError = 22; // 数据库操作失败 + SystemError = 23; // 通用错误 + } \ No newline at end of file diff --git a/sys/cache/mail.go b/sys/cache/mail.go index efbdd707d..53b2ec73e 100644 --- a/sys/cache/mail.go +++ b/sys/cache/mail.go @@ -25,6 +25,6 @@ func (this *Cache) QueryUserMail(uId string) (mail []*pb.DB_MailData, err error) // mail[i] = v.(*pb.DB_MailData) // } // } - mail, _ = db.Defsys.QueryUserMail(uId) + mail, _ = db.Defsys.Mail_QueryUserMail(uId) return } diff --git a/sys/db/mail.go b/sys/db/mail.go index 322f16dcc..4b317af19 100644 --- a/sys/db/mail.go +++ b/sys/db/mail.go @@ -16,16 +16,16 @@ const ( ) type IMail interface { - QueryUserMail(uId string) (mail []*pb.DB_MailData, err error) - InsertUserMail(mail *pb.DB_MailData) (err error) - ReadOneMail(objId string) (mail *pb.DB_MailData, err error) - GetMailAttachment(objId string) (itmes []*pb.MailAttachment, err error) - GetMailAttachmentState(objId string) bool - UpdateMailAttachmentState(objId string) bool - DelUserMail(objId string) bool + Mail_QueryUserMail(uId string) (mail []*pb.DB_MailData, err error) + Mail_InsertUserMail(mail *pb.DB_MailData) (err error) + Mail_ReadOneMail(objId string) (mail *pb.DB_MailData, err error) + Mail_GetMailAttachment(objId string) (itmes []*pb.MailAttachment, err error) + Mail_GetMailAttachmentState(objId string) bool + Mail_UpdateMailAttachmentState(objId string) bool + Mail_DelUserMail(objId string) bool } -func (this *DB) QueryUserMail(uId string) (mail []*pb.DB_MailData, err error) { +func (this *DB) Mail_QueryUserMail(uId string) (mail []*pb.DB_MailData, err error) { if _data, err := this.mgo.Find(DB_MailTable, bson.M{"userid": uId}); err == nil { for _data.Next(context.TODO()) { @@ -39,7 +39,7 @@ func (this *DB) QueryUserMail(uId string) (mail []*pb.DB_MailData, err error) { } // 插入一封新的邮件 -func (this *DB) InsertUserMail(mail *pb.DB_MailData) (err error) { +func (this *DB) Mail_InsertUserMail(mail *pb.DB_MailData) (err error) { mail.ObjId = primitive.NewObjectID().Hex() mail.Check = false @@ -53,7 +53,7 @@ func (this *DB) InsertUserMail(mail *pb.DB_MailData) (err error) { return err } -func (this *DB) ReadOneMail(objId string) (mail *pb.DB_MailData, err error) { +func (this *DB) Mail_ReadOneMail(objId string) (mail *pb.DB_MailData, err error) { err = this.mgo.FindOneAndUpdate( DB_MailTable, @@ -68,7 +68,7 @@ func (this *DB) ReadOneMail(objId string) (mail *pb.DB_MailData, err error) { } // 查询附件信息 -func (this *DB) GetMailAttachment(objId string) (itmes []*pb.MailAttachment, err error) { +func (this *DB) Mail_GetMailAttachment(objId string) (itmes []*pb.MailAttachment, err error) { obj := this.mgo.FindOne(DB_MailTable, bson.M{"_id": objId}) var nd *pb.DB_MailData @@ -79,7 +79,7 @@ func (this *DB) GetMailAttachment(objId string) (itmes []*pb.MailAttachment, err } // 查看领取附件状态 -func (this *DB) GetMailAttachmentState(objId string) bool { +func (this *DB) Mail_GetMailAttachmentState(objId string) bool { var nd *pb.DB_MailData err := this.mgo.FindOne(DB_MailTable, bson.M{"_id": objId}).Decode(nd) if err != nil { @@ -89,7 +89,7 @@ func (this *DB) GetMailAttachmentState(objId string) bool { } // 更新领取附件状态 -func (this *DB) UpdateMailAttachmentState(objId string) bool { +func (this *DB) Mail_UpdateMailAttachmentState(objId string) bool { this.mgo.FindOneAndUpdate( DB_MailTable, bson.M{"_id": objId}, @@ -103,7 +103,7 @@ func (this *DB) UpdateMailAttachmentState(objId string) bool { } // 删除一封邮件 -func (this *DB) DelUserMail(objId string) bool { +func (this *DB) Mail_DelUserMail(objId string) bool { var obj *pb.DB_MailData err := this.mgo.FindOne(DB_MailTable, bson.M{"_id": objId}).Decode(obj) if err != nil { diff --git a/sys/db/mail_test.go b/sys/db/mail_test.go index c167aa08e..6be8ac769 100644 --- a/sys/db/mail_test.go +++ b/sys/db/mail_test.go @@ -10,7 +10,7 @@ import ( ) func TestCreateEmail(t *testing.T) { - err := db.InsertUserMail(&pb.DB_MailData{ + err := db.Mail_InsertUserMail(&pb.DB_MailData{ UserId: "uid123", Title: "系统邮件", @@ -20,7 +20,7 @@ func TestCreateEmail(t *testing.T) { Check: false, Reward: false, }) - _data, err := db.QueryUserMail("uid123") + _data, err := db.Mail_QueryUserMail("uid123") for _, v := range _data { log.Printf("userid = %s", v.UserId) @@ -29,7 +29,7 @@ func TestCreateEmail(t *testing.T) { } func TestReadEmail(t *testing.T) { - data, err := db.ReadOneMail("62a078c0726ea54890c34937") + data, err := db.Mail_ReadOneMail("62a078c0726ea54890c34937") if err != nil { log.Printf("%v", data.Reward) } From f7725db74b8be4ec57f2f297785499557f4f4ed9 Mon Sep 17 00:00:00 2001 From: meixiongfeng <766881921@qq.com> Date: Thu, 9 Jun 2022 11:10:14 +0800 Subject: [PATCH 3/3] =?UTF-8?q?=E6=8A=A5=E9=94=99=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- comm/imodule.go | 2 +- modules/mail/api_comp.go | 36 ++++++++++++++++-------------------- modules/mail/module.go | 5 +++-- 3 files changed, 20 insertions(+), 23 deletions(-) diff --git a/comm/imodule.go b/comm/imodule.go index 91fc0940f..76d7efe37 100644 --- a/comm/imodule.go +++ b/comm/imodule.go @@ -11,6 +11,6 @@ type ( } //背包模块对外接口定义 提供给其他模块使用的 IPack interface { - GetRewaredItems(uId string, itmes map[uint32]uint32) bool + //GetRewaredItems(uId string, itmes map[uint32]uint32) bool } ) diff --git a/modules/mail/api_comp.go b/modules/mail/api_comp.go index 236b486a2..27c70b7bb 100644 --- a/modules/mail/api_comp.go +++ b/modules/mail/api_comp.go @@ -13,15 +13,11 @@ import ( ) const ( - QueryUserMailReq = "mail.queryusermailreq" - QueryUserMailResp = "mail.queryusermailresp" - ReadUserMailReq = "mail.readusermailreq" - ReadUserMailResp = "mail.readusermailresp" - GetUserMailAttachmentReq = "mail.getusermailattachmentreq" - GetUserMailAttachmentResp = "mail.getusermailattachmentresp" - DelUserMailReq = "mail.delusermailreq" - DelUserMailResp = "mail.delusermailresp" - GetNewEMailResp = "mail.getnewEmailresp" + QueryUserMailResp = "queryusermailresp" + ReadUserMailResp = "readusermailresp" + GetUserMailAttachmentResp = "getusermailattachmentresp" + DelUserMailResp = "delusermailresp" + GetNewEMailResp = "getnewEmailresp" ) type Api_Comp struct { @@ -56,7 +52,7 @@ func (this *Api_Comp) QueryUserMailReq(ctx context.Context, session comm.IUserSe code := pb.ErrorCode_Success mailinfo := make([]*pb.DB_MailData, 0) defer func() { - session.SendMsg("mail", "queryusermailresp", code, &pb.QueryUserMailResp{Mails: mailinfo}) + session.SendMsg(string(this.module.GetType()), QueryUserMailResp, code, &pb.QueryUserMailResp{Mails: mailinfo}) }() if session.GetUserId() == "" { code = pb.ErrorCode_NoLogin @@ -78,7 +74,7 @@ func (this *Api_Comp) ReadUserMailReq(ctx context.Context, session comm.IUserSes mail *pb.DB_MailData ) defer func() { - session.SendMsg(string(this.module.GetType()), "readusermailresp", code, &pb.ReadUserMailResp{Mail: mail}) + session.SendMsg(string(this.module.GetType()), ReadUserMailResp, code, &pb.ReadUserMailResp{Mail: mail}) }() if session.GetUserId() == "" { code = pb.ErrorCode_NoLogin @@ -101,7 +97,7 @@ func (this *Api_Comp) GetUserMailAttachmentReq(ctx context.Context, session comm mail *pb.DB_MailData ) defer func() { - session.SendMsg(string(this.module.GetType()), "getusermailattachmentresp", code, &pb.GetUserMailAttachmentResp{Mail: mail}) + session.SendMsg(string(this.module.GetType()), GetUserMailAttachmentResp, code, &pb.GetUserMailAttachmentResp{Mail: mail}) }() if session.GetUserId() == "" { code = pb.ErrorCode_NoLogin @@ -120,13 +116,13 @@ func (this *Api_Comp) GetUserMailAttachmentReq(ctx context.Context, session comm for _, v := range _data { _items[v.ItemId] += v.ItemCount } - bRet := this.pack.GetRewaredItems(mail.UserId, _items) - if bRet { - // 修改状态 - db.Defsys.Mail_UpdateMailAttachmentState(req.ObjID) - mail.Reward = true - return - } + // bRet := this.pack.GetRewaredItems(mail.UserId, _items) + // if bRet { + // // 修改状态 + // db.Defsys.Mail_UpdateMailAttachmentState(req.ObjID) + // mail.Reward = true + // return + // } } code = pb.ErrorCode_SystemError } @@ -140,7 +136,7 @@ func (this *Api_Comp) DelUserMailReq(ctx context.Context, session comm.IUserSess code := pb.ErrorCode_Success mailinfo := make([]*pb.DB_MailData, 0) defer func() { - session.SendMsg(string(this.module.GetType()), "delusermailresp", code, &pb.DelUserMailResp{Mail: mailinfo}) + session.SendMsg(string(this.module.GetType()), DelUserMailResp, code, &pb.DelUserMailResp{Mail: mailinfo}) }() if session.GetUserId() == "" { code = pb.ErrorCode_NoLogin diff --git a/modules/mail/module.go b/modules/mail/module.go index 00dca80d3..3c1d5a9ee 100644 --- a/modules/mail/module.go +++ b/modules/mail/module.go @@ -47,7 +47,7 @@ func (this *Mail) CreateNewMail(uId string) { Title: "系统邮件", Contex: "恭喜获得专属礼包一份", CreateTime: uint64(time.Now().Unix()), - DueTime: uint64(time.Now().Unix()) + 30*24*3600, + DueTime: uint64(time.Now().Unix()) + 30*24*3600, // 30天需要走配置文件 Check: false, Reward: false, } @@ -60,5 +60,6 @@ func (this *Mail) CreateNewMail(uId string) { if _cache == nil { return } - this.SendMsgToUser("mail", "getnewEmailresp", mail, _cache) + + this.SendMsgToUser(string(this.GetType()), GetNewEMailResp, mail, _cache) }