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) }