diff --git a/server/login/server/processor.go b/server/login/server/processor.go index 7547e64..c677960 100644 --- a/server/login/server/processor.go +++ b/server/login/server/processor.go @@ -110,17 +110,21 @@ func (s *LoginService) onLoginOrRegister(iMsg *ipb.InternalMsg, req *pb.C2SUserL s.SendServiceMsg(service.TopicEx(iMsg.ServiceName), iMsg.ConnId, userId, int32(pb.MsgId_S2CUserLoginId), rsp) if us != nil && us.ID > 0 { + loginLog := &user.UserLoginLog{ + UID: us.ID, + LoginIP: req.Ip, + LoginTime: time.Now(), + DeviceInfo: req.DeviceId, + LoginResult: code == pb.ErrCode_OK, + FailReason: code.String(), + } switch code { - case pb.ErrCode_LoginUserOrPwdErr: - rpcMsg := ipb.MakeRpcMsg[user.UserLoginLog](rpcName.GetUserAccount, 0, &user.UserLoginLog{ - UID: us.ID, - LoginIP: us.LastLoginIP, - LoginTime: time.Now(), - DeviceInfo: us.DeviceID, - LoginResult: code == pb.ErrCode_OK, - FailReason: code.String(), - }) - _, _ = s.Call(service.RpcTopicEx(node.Name), timeout, rpcMsg) + case pb.ErrCode_LoginUserOrPwdErr, pb.ErrCode_OK: + rpcMsg := ipb.MakeRpcMsg[user.UserLoginLog](rpcName.LogUserAccountLogin, 0, loginLog) + ksync.GoSafe(func() { + _, _ = s.Call(service.RpcTopicEx(node.Name), timeout, rpcMsg) + }, nil) + } }