private void InsertNewUserToMysql(GCToCS.Login login, CSUser user)
        {
            if (user == null)
            {
                return;
            }

            CSToDB.ExeSQL_Call sqlCall = new CSToDB.ExeSQL_Call
            {
                Sql = $"insert account_user(id,cs_id,sdk_id,cdkey) values({user.guid},{CS.instance.csKernelCfg.unCSId},{login.Sdk},\'{login.Name}\');"
            };
            this._cdkeyWrapper.EncodeAndSendToDBThread(sqlCall, ( int )CSToDB.MsgID.EExeSqlCall);

            string op =
                $"insert gameuser(obj_id,sdk_id,obj_cdkey, obj_register_time) values({user.guid},{login.Sdk},\'{login.Name}\',{user.userDbData.usrDBData.tRegisteUTCMillisec});" +
                $"insert gameuser_runne(user_id) values({user.guid});" +
                $"insert gameuser_guide(obj_id) values({user.guid});";

            CSToDB.UpdateUser updateUser = new CSToDB.UpdateUser
            {
                Sqlstr = op,
                Guid   = ( long )user.guid
            };
            this._userCacheDBActiveWrapper.EncodeAndSendToDBThread(updateUser, ( int )CSToDB.MsgID.EUpdateUserDbcallBack);
        }
        private ErrorCode DBAsynUpdateUserCallback(GBuffer buffer, DBActiveWrapper db)
        {
            CSToDB.UpdateUser msg = new CSToDB.UpdateUser();
            msg.MergeFrom(buffer.GetBuffer(), 0, ( int )buffer.length);

            ErrorCode errorCode = db.SqlExecNonQuery(new[] { "begin;set autocommit=0;", msg.Sqlstr, "commit;" });

            if (errorCode != ErrorCode.Success)
            {
                return(errorCode);
            }
            Logger.Log($"udate user {msg.Guid} to db");
            return(ErrorCode.Success);
        }