From 494502ed5e272fbdb94df84df97e19c5579cafa0 Mon Sep 17 00:00:00 2001 From: zhaocy Date: Wed, 15 Jun 2022 19:46:24 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9session=E7=BC=93=E5=AD=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- modules/user/api_login.go | 25 +++++++++++++++++++++++-- modules/user/model_session.go | 16 ++++++++++++++++ modules/user/module.go | 6 ++++-- 3 files changed, 43 insertions(+), 4 deletions(-) create mode 100644 modules/user/model_session.go diff --git a/modules/user/api_login.go b/modules/user/api_login.go index df76ab128..22d63cb2d 100644 --- a/modules/user/api_login.go +++ b/modules/user/api_login.go @@ -95,7 +95,16 @@ func (this *Api_Comp) Login(session comm.IUserSession, result map[string]interfa SessionId: cache_user.SessionId, GatewayServiceId: cache_user.GatewayServiceId, } - return this.module.modelUser.SetObj(cache_user.Uid, data, true, true) + err = this.module.modelSession.SetObj(cache_user.Uid, data, true, true) + if err != nil { + code = pb.ErrorCode_DBError + return + } + err = this.module.modelUser.SetObj(cache_user.Uid, user, true, true) + if err != nil { + code = pb.ErrorCode_DBError + return + } } else { session.Bind(db_user.Uid, this.service.GetId()) data := &pb.Cache_UserData{ @@ -107,6 +116,18 @@ func (this *Api_Comp) Login(session comm.IUserSession, result map[string]interfa // "sessionId": cache_user.SessionId, // "gatewayServiceId": cache_user.GatewayServiceId, // } - return this.module.modelUser.SetObj(cache_user.Uid, data, false, false) + err = this.module.modelSession.SetObj(db_user.Uid, data, false, false) + if err != nil { + code = pb.ErrorCode_DBError + return + } + + err = this.module.modelUser.SetObj(db_user.Uid, db_user, false, true) + if err != nil { + code = pb.ErrorCode_DBError + return + } } + + return err } diff --git a/modules/user/model_session.go b/modules/user/model_session.go new file mode 100644 index 000000000..2c2b0614e --- /dev/null +++ b/modules/user/model_session.go @@ -0,0 +1,16 @@ +package user + +import ( + "go_dreamfactory/lego/core" + "go_dreamfactory/modules" +) + +type ModelSession struct { + modules.Model_Comp +} + +func (this *ModelSession) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) { + err = this.Model_Comp.Init(service, module, comp, options) + this.Prefix = "session" + return +} diff --git a/modules/user/module.go b/modules/user/module.go index c7cea79d3..5f6577e08 100644 --- a/modules/user/module.go +++ b/modules/user/module.go @@ -14,8 +14,9 @@ func NewModule() core.IModule { type User struct { modules.ModuleBase - user_comp *Api_Comp - modelUser *ModelUser + user_comp *Api_Comp + modelUser *ModelUser + modelSession *ModelSession } func (this *User) GetType() core.M_Modules { @@ -32,4 +33,5 @@ func (this *User) OnInstallComp() { this.ModuleBase.OnInstallComp() this.user_comp = this.RegisterComp(new(Api_Comp)).(*Api_Comp) this.modelUser = this.RegisterComp(new(ModelUser)).(*ModelUser) + this.modelSession = this.RegisterComp(new(ModelSession)).(*ModelSession) }