go_dreamfactory/modules/user/user_comp.go
2022-06-10 14:20:25 +08:00

55 lines
1.3 KiB
Go

package user
import (
"context"
"go_dreamfactory/comm"
"go_dreamfactory/modules"
"go_dreamfactory/pb"
"go_dreamfactory/sys/cache"
"go_dreamfactory/utils"
"go_dreamfactory/lego/core"
"go_dreamfactory/lego/sys/event"
"go_dreamfactory/lego/sys/log"
)
const (
User_SubType_Create = "create"
)
type UserComp struct {
modules.MComp_GateComp
module *User
}
func (this *UserComp) Init(service core.IService, module core.IModule, comp core.IModuleComp, options core.IModuleOptions) (err error) {
this.MComp_GateComp.Init(service, module, comp, options)
this.module = module.(*User)
return
}
//创角
func (this *UserComp) Create(ctx context.Context, session comm.IUserSession, req *pb.UserCreateReq) (err error) {
defer utils.TraceFunc(session.GetUserId(), string(this.module.GetType()), User_SubType_Create, req, nil)
user := cache.Defsys.Get(session.GetUserId())
var code pb.ErrorCode
defer func() {
session.SendMsg(string(this.module.GetType()), User_SubType_Create, code, &pb.UserCreateRsp{})
}()
if user == nil {
log.Errorf("user no exist")
code = pb.ErrorCode_UserSessionNobeing
return
}
user.UserData.NiceName = req.NickName
err = cache.Defsys.Update(user)
if err != nil {
log.Errorf("cache update err")
code = pb.ErrorCode_DBError
return
}
event.RegisterGO(comm.Event_CreateUser, session.GetUserId())
return nil
}