/// <summary>
 /// 重置玩家安全码信息
 /// </summary>
 /// <param name="serverIP">服务器IP</param>
 /// <param name="account">玩家帐号</param>
 /// <returns></returns>
 public static int UserSecureCodeInfo_Clear(int userByID, string userID)
 {
     try
     {
         XmlDocument         xmlfile   = new XmlDocument();
         string              md5string = MD5EncryptAPI.MDString(userID + "HAOHAOXUEXI");
         string              serverIP  = null;
         System.Data.DataSet ds        = SqlHelper.ExecuteDataset("select ServerIP from gmtools_serverInfo where gameid=999");
         if (ds != null && ds.Tables[0].Rows.Count > 0)
         {
             serverIP = ds.Tables[0].Rows[0].ItemArray[0].ToString();
             string         url     = "http://" + serverIP + "/gmtools?req=resetSecureCode&type=0&userid=" + userID + "&s=" + md5string;
             HttpWebRequest request = (HttpWebRequest)
                                      WebRequest.Create(url);
             request.KeepAlive = false;
             WebResponse  resp = request.GetResponse();
             StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
             xmlfile.Load(sr);
             XmlNode state = xmlfile.SelectSingleNode("you9/state");
             sr.Close();
             if (Convert.ToInt32(state.InnerText.ToString()) == 0)
             {
                 return(1);
             }
         }
         return(0);
     }
     catch (System.Exception ex)
     {
         Console.WriteLine(ex.Message);
         return(0);
     }
 }
        /// <summary>
        /// 修改用户令牌,锁定-解锁-停用
        /// </summary>
        /// <param name="provide">服务提供商</param>
        /// <param name="service">请求服务名称</param>
        /// <param name="userName">用户名</param>
        /// <param name="esn">令牌号码</param>
        /// <returns>XML数据集</returns>
        public static ArrayList Modify_User_Token(string provide, string service, string userName, string esn)
        {
            string certificate = MD5EncryptAPI.MDString(service + "e10adc3949");
            string Xml         = "<?xml version=\"1.0\" encoding=\"UTF-8\" ?>" +
                                 "<you9>" +
                                 "<request>" +
                                 "<provide>" + provide + "</provide>" +
                                 "<service>" + service + "</service>" +
                                 "<certificate>" + certificate + "</certificate>" +
                                 "<parameter>" +
                                 "<key>userName</key>" +
                                 "<value>" + userName + "</value>" +
                                 "</parameter>" +
                                 "<parameter>" +
                                 "<key>esn</key>" +
                                 "<value>" + esn + "</value>" +
                                 "</parameter>" +
                                 "</request>" +
                                 "</you9>";
            string url = "http://61.152.148.130:8080/authentic/authServlet";

            try
            {
                HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
                request.ContentType = "text/xml";
                request.KeepAlive   = false;
                request.Method      = "POST";
                ASCIIEncoding encodedData = new ASCIIEncoding();
                byte[]        byteArray   = encodedData.GetBytes(Xml);
                request.ContentLength = byteArray.Length;
                Stream newStream = request.GetRequestStream();
                newStream.Write(byteArray, 0, byteArray.Length);
                newStream.Close();
                WebResponse
                             resp    = request.GetResponse();
                StreamReader sr      = new System.IO.StreamReader(resp.GetResponseStream());
                XmlDocument  xmlfile = new XmlDocument();
                xmlfile.Load(sr);
                XmlNode nodes = xmlfile.SelectSingleNode("you9/response");
                System.Collections.ArrayList rowList = new System.Collections.ArrayList();
                foreach (XmlNode xmlnodes in nodes.ChildNodes)
                {
                    System.Collections.ArrayList colList = new System.Collections.ArrayList();
                    foreach (XmlNode chilenodes in xmlnodes.ChildNodes)
                    {
                        colList.Add(chilenodes.InnerText);
                    }
                    rowList.Add(colList);
                }
                sr.Close();
                return(rowList);
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(null);
        }
        /// <summary>
        /// 查询玩家的邮件
        /// </summary>
        /// <param name="serverIP"></param>
        /// <param name="account"></param>
        /// <returns></returns>
        public static string SDOEmail_Query(string account)
        {
            XmlDocument xmlfile = new XmlDocument();

            /*string email = null;
             * DataSet ds = null;
             * SqlParameter[] paramCode;
             * string sql = "select b.email from user a,userinfo b where a.username='******' and a.id=b.id";
             * try
             * {
             *
             *      paramCode = new SqlParameter[6]{
             *                                                                         new SqlParameter("@SDO_ServerIP",SqlDbType.VarChar,30),
             *                                                                         new SqlParameter("@SDO_DataBase",SqlDbType.VarChar,20),
             *                                                                         new SqlParameter("@SDO_UserName",SqlDbType.VarChar,20),
             *                                                                         new SqlParameter("@SDO_UserPwd",SqlDbType.VarChar,20),
             *                                                                         new SqlParameter("@SDO_Sql",SqlDbType.VarChar,100),
             *                                                                         new SqlParameter("@Err",SqlDbType.VarChar,20,ParameterDirection.Output.ToString())};
             *      paramCode[0].Value = "61.129.66.164";
             *      paramCode[1].Value = "member";
             *      paramCode[2].Value = "db_oper";
             *      paramCode[3].Value = "db_oper@9you";
             *      paramCode[4].Value = sql;
             *      paramCode[5].Direction = ParameterDirection.Output;
             *      ds = SqlHelper.ExecSPDataSet("master..SelectInfo", paramCode);
             *
             *      if (ds.Tables[0].Rows.Count > 0)
             *      {
             *              email = (string)ds.Tables[0].Rows[0].ItemArray[0];
             *      }
             * }
             * catch (SqlException ex)
             * {
             *      Console.WriteLine(ex.Message);
             * }
             * return email;*/
            string md5string = MD5EncryptAPI.MDString(account + "HAOHAOXUEXI");

            System.Data.DataSet ds = SqlHelper.ExecuteDataset("select ServerIP from gmtools_serverInfo where gameid=999");
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                string         serverIP = ds.Tables[0].Rows[0].ItemArray[0].ToString();
                string         url      = "http://" + serverIP + "/gmtools?req=queryUser&type=0&userid=" + account + "&s=" + md5string;
                HttpWebRequest request  = (HttpWebRequest)
                                          WebRequest.Create(url);
                //request.ContentType="GB2312";
                request.KeepAlive = false;
                WebResponse  resp = request.GetResponse();
                StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
                xmlfile.Load(sr);
                XmlNode email = xmlfile.SelectSingleNode("you9/user/email");
                sr.Close();
                return(email.InnerText);
            }
            return(null);
        }
        /// <summary>
        ///  取回玩家光線飛車仓库密码
        /// </summary>
        /// <returns></returns>
        public Message Get_WarehousePassword()
        {
            int    operateUserID = 0;
            string serverIP      = null;
            string account       = null;
            string passwd        = null;
            string email         = null;
            int    characterID   = 0;
            int    result        = -1;

            try
            {
                TLV_Structure strut = new TLV_Structure(TagName.UserByID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.UserByID).m_bValueBuffer);
                operateUserID = (int)strut.toInteger();
                serverIP      = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_ServerIP).m_bValueBuffer);
                account       = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_NyUserID).m_bValueBuffer);
                email         = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.SDO_Email).m_bValueBuffer);
                string     signpasswd = MD5EncryptAPI.nextID(6);
                MD5Encrypt st         = new MD5Encrypt();
                passwd      = st.getMD5ofStr(signpasswd).ToLower();
                strut       = new TLV_Structure(TagName.RayCity_CharacterID, 4, msg.m_packet.m_Body.getTLVByTag(TagName.RayCity_CharacterID).m_bValueBuffer);
                characterID = (int)strut.toInteger();
                SqlHelper.log.WriteLog(lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + CommonInfo.serverIP_Query(serverIP) + lg.RayCityAPI_Set + lg.RayCityAPI_Account + characterID + lg.RayCityAPI_WarehousePassword);
                Console.WriteLine(DateTime.Now + lg.API_Look + lg.RayCityAPI_Name + "+>" + lg.RayCityAPI_Address + CommonInfo.serverIP_Query(serverIP) + lg.RayCityAPI_Set + lg.RayCityAPI_Account + characterID + lg.RayCityAPI_WarehousePassword);
                result = GlobalAccount.Get_WarehousePassword(operateUserID, serverIP, characterID, account, signpasswd, passwd);
                if (result == 1)
                {
                    if (sendRayCityMail("*****@*****.**", email, account, signpasswd) == 1)
                    {
                        return(Message.COMMON_MES_RESP("SCUESS", Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_WareHousePwd_Update_Resp));
                    }
                    else
                    {
                        return(Message.COMMON_MES_RESP("FAILURE", Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_WareHousePwd_Update_Resp));
                    }
                }
                else
                {
                    return(Message.COMMON_MES_RESP(lg.API_Error, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_WareHousePwd_Update_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING));
                }
            }
            catch (System.Exception ex)
            {
                SqlHelper.errLog.WriteLog("伺服器IP" + serverIP + ex.Message);
                return(Message.COMMON_MES_RESP(lg.API_Error, Msg_Category.RAYCITY_ADMIN, ServiceKey.RayCity_WareHousePwd_Update_Resp, TagName.ERROR_Msg, TagFormat.TLV_STRING));
            }
        }
 public static int User_Token_Close(int userByID, string userID)
 {
     try
     {
         XmlDocument         xmlfile   = new XmlDocument();
         string              md5string = MD5EncryptAPI.MDString(userID + "QUXUEXIBA");
         string              serverIP  = null;
         System.Data.DataSet ds        = SqlHelper.ExecuteDataset("select ServerIP from gmtools_serverInfo where gameid=999");
         if (ds != null && ds.Tables[0].Rows.Count > 0)
         {
             serverIP = ds.Tables[0].Rows[0].ItemArray[0].ToString();
             string         url     = "http://" + serverIP + "/gmtools?req=doEsn&type=authLock&userid=" + userID + "&s=" + md5string;
             HttpWebRequest request = (HttpWebRequest)
                                      WebRequest.Create(url);
             request.KeepAlive = false;
             WebResponse  resp = request.GetResponse();
             StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
             xmlfile.Load(sr);
             XmlNode state = xmlfile.SelectSingleNode("you9/state");
             sr.Close();
             if (Convert.ToInt32(state.InnerText.ToString()) == 0)
             {
                 //记录日志
                 SqlParameter[] paramCode = new SqlParameter[3] {
                     new SqlParameter("@GM_UserID", SqlDbType.Int),
                     new SqlParameter("@Card_UserID", SqlDbType.VarChar, 20),
                     new SqlParameter("@result", SqlDbType.Int)
                 };
                 paramCode[0].Value = userByID;
                 paramCode[1].Value = userID;
                 paramCode[2].Value = Convert.ToInt32(state.InnerText.ToString());
                 SqlHelper.ExecSPCommand("Card_SecureCodeInfo_Clear", paramCode);
                 return(1);
             }
         }
         return(0);
     }
     catch (System.Exception ex)
     {
         Console.WriteLine(ex.Message);
         return(0);
     }
 }
        /// <summary>
        /// 反馈玩家的密码
        /// </summary>
        /// <param name="serverIP"></param>
        /// <param name="account"></param>
        /// <returns></returns>
        public static int sendEmailPasswd(int userByID, string serverIP, string account, string email, string password)
        {
            string pwd    = null;
            int    result = -1;

            SqlParameter[] paramCode;
            try
            {
                pwd       = MD5EncryptAPI.MDString(password);
                paramCode = new SqlParameter[5] {
                    new SqlParameter("@GM_UserID", SqlDbType.Int),
                    new SqlParameter("@SDO_ServerIP", SqlDbType.VarChar, 30),
                    new SqlParameter("@SDO_UserID", SqlDbType.VarChar, 20),
                    new SqlParameter("@9YOU_PWD", SqlDbType.VarChar, 32),
                    new SqlParameter("@result", SqlDbType.Int)
                };
                paramCode[0].Value     = userByID;
                paramCode[1].Value     = serverIP;
                paramCode[2].Value     = account;
                paramCode[3].Value     = pwd;
                paramCode[4].Direction = ParameterDirection.ReturnValue;
                result = SqlHelper.ExecSPCommand("SDO_EmailPWD_Update", paramCode);
                if (result == 0)
                {
                    if (1 == sendMail("*****@*****.**", email, account + "玩家密码", password))
                    {
                        return(1);
                    }
                }
                else
                {
                    return(0);
                }
            }

            catch (System.Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(0);
            }
            return(0);
        }
        /// <summary>
        /// 查看用户密码历史记录
        /// </summary>
        /// <param name="serverIP"></param>
        /// <param name="account"></param>
        /// <returns></returns>
        public static ArrayList User_Token_Query(string type, string strValue, string beginDate, string endDate)
        {
            XmlDocument xmlfile   = new XmlDocument();
            string      md5string = MD5EncryptAPI.MDString(strValue + "QUXUEXIBA");

            try
            {
                System.Data.DataSet ds = SqlHelper.ExecuteDataset("select ServerIP from gmtools_serverInfo where gameid=999");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    string         serverIP = ds.Tables[0].Rows[0].ItemArray[0].ToString();
                    string         url      = "http://" + serverIP + "/gmtools?req=viewToken&type=" + type + "&start=" + beginDate + "&end=" + endDate + "&v=" + strValue + "&s=" + md5string + "";
                    HttpWebRequest request  = (HttpWebRequest)
                                              WebRequest.Create(url);
                    request.KeepAlive = false;
                    WebResponse  resp = request.GetResponse();
                    StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
                    xmlfile.Load(sr);
                    //int i=1;
                    XmlNodeList nodeList = xmlfile.SelectNodes("you9/password/history9you");
                    System.Collections.ArrayList rowList = new System.Collections.ArrayList();
                    foreach (XmlElement tmp1 in nodeList)
                    {
                        System.Collections.ArrayList colList = new System.Collections.ArrayList();
                        foreach (XmlElement tmp2 in tmp1.ChildNodes)
                        {
                            colList.Add(tmp2.InnerText);
                        }
                        rowList.Add(colList);
                    }
                    sr.Close();
                    return(rowList);
                }
            }
            catch (SqlException ex)
            {
                Console.WriteLine(ex.Message);
            }
            return(null);
        }
Esempio n. 8
0
        /// <summary>
        /// 查询玩家的邮件
        /// </summary>
        /// <param name="serverIP"></param>
        /// <param name="account"></param>
        /// <returns></returns>
        public static string SDOEmail_Query(string account)
        {
            XmlDocument xmlfile = new XmlDocument();

            string md5string = MD5EncryptAPI.MDString(account + "QUXUEXIBA");

            System.Data.DataSet ds = SqlHelper.ExecuteDataset("select ServerIP from gmtools_serverInfo where gameid=999");
            if (ds != null && ds.Tables[0].Rows.Count > 0)
            {
                string         serverIP = ds.Tables[0].Rows[0].ItemArray[0].ToString();
                string         url      = "http://" + serverIP + "/user?req=getUserInfo&id=GMTOOLS&userid=" + account + "&usertype=0&type=userinfo&s=" + md5string;
                HttpWebRequest request  = (HttpWebRequest)
                                          WebRequest.Create(url);
                request.KeepAlive = false;
                WebResponse  resp = request.GetResponse();
                StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
                xmlfile.Load(sr);
                XmlNode email = xmlfile.SelectSingleNode("you9/userinfo/email");
                sr.Close();
                return(email.InnerText);
            }
            return(null);
        }
        /// <summary>
        /// GM修改雙倍狀態
        /// </summary>
        public static string  ChangeServerExp_Query(string serverIP, int iExp, int iMoney, int userByID, string serverName, int type)
        {
            int    handle     = -1;
            int    state      = -1;
            string get_Result = "";

            serverIP = CommonInfo.JW2_FindDBIP(serverIP, 5);
            string userPwd = MD5EncryptAPI.MDString(SqlHelper.jw2gwUserPwd);

            try
            {
                string[] serverList = serverName.Split('|');
                for (int i = 0; i < serverList.Length - 1; i++)
                {
                    string[] GSserverList = serverList[i].Split(',');
                    string   GSserverName = GSserverList[0].ToString();
                    string   GSserverIP   = GSserverList[1].ToString();
                    int      GSserverNo   = int.Parse(GSserverList[2].ToString());
                    int      port         = int.Parse(GSserverList[3].ToString());
                    string   city         = CommonInfo.serverIP_Query(serverIP);
                    handle = JW2_CreateDLL();
                    state  = JW2_ConnectGW(handle, serverIP, 58118);
                    if (state == 0)
                    {
                        state = JW2_LoginGW(state, handle, SqlHelper.jw2gwUser, userPwd, SqlHelper.jw2gwVersion);
                        if (state == 0)
                        {
                            state = JW2_ConnectGS(handle, GSserverIP, port);
                            if (state == 0)
                            {
                                state = JW2_LoginGS(state, handle, 7044699);
                                if (state == 0)
                                {
                                    if (type == 0)
                                    {
                                        get_Result += JW2_SetGPointTimes(state, handle, (byte)iMoney, city, GSserverName, userByID);
                                    }
                                    else if (type == 1)
                                    {
                                        get_Result = JW2_SetExpTimes(state, handle, (byte)iExp, city, GSserverName, userByID);
                                    }
                                    else if (type == 2)
                                    {
                                        get_Result += JW2_SetGPointTimes(state, handle, (byte)iMoney, city, GSserverName, userByID);
                                        get_Result += JW2_SetExpTimes(state, handle, (byte)iExp, city, GSserverName, userByID);
                                    }
                                }
                                else
                                {
                                    get_Result += "【" + city.ToString() + "】大区,登?GS服务器:【" + GSserverName.ToString() + "】,失敗\n";
                                }
                            }
                            else
                            {
                                get_Result += "【" + city.ToString() + "】大区,連接GS服务器:【" + GSserverName.ToString() + "】,失敗\n";
                            }
                        }
                        else
                        {
                            get_Result += "【" + city.ToString() + "】大区,登?,失敗\n";
                        }
                    }
                    else
                    {
                        get_Result += "【" + city.ToString() + "】大区,連接,失敗\n";
                    }
                }
            }
            catch (System.Exception ex)
            {
                get_Result += "数据库连接失败,请重新尝试!";
                Console.WriteLine("789" + ex.Message);
            }
            JW2_DestroyDLL(handle);
            return(get_Result);
        }
        /// <summary>
        /// 反馈玩家的密码
        /// </summary>
        /// <param name="serverIP"></param>
        /// <param name="account"></param>
        /// <returns></returns>
        public static int sendEmailPasswd(int userByID, string account, string email, string password)
        {
            XmlDocument xmlfile = new XmlDocument();
            string      pwd     = null;
            int         result  = -1;

            SqlParameter[] paramCode;            /*
                                                  * try
                                                  * {
                                                  * pwd = MD5EncryptAPI.MDString(password);
                                                  * paramCode = new SqlParameter[4]{
                                                  * new SqlParameter("@GM_UserID",SqlDbType.Int),
                                                  * new SqlParameter("@SDO_UserID",SqlDbType.VarChar,20),
                                                  *                                                new SqlParameter("@9YOU_PWD",SqlDbType.VarChar,32),
                                                  *                                            new SqlParameter("@result",SqlDbType.Int)};
                                                  * paramCode[0].Value = userByID;
                                                  * paramCode[1].Value = account;
                                                  * paramCode[2].Value = pwd;
                                                  * paramCode[3].Direction = ParameterDirection.ReturnValue;
                                                  * result = SqlHelper.ExecSPCommand("SDO_EmailPWD_Update", paramCode);
                                                  * if (result==0)
                                                  * {
                                                  * if(1==sendMail("*****@*****.**", email, account+"玩家密码", password))
                                                  * return 1;
                                                  * }
                                                  * else
                                                  * return 0;
                                                  * }*/
            try
            {
                pwd = MD5EncryptAPI.nextID(6);
                string md5string       = MD5EncryptAPI.MDString(account + "HAOHAOXUEXI");
                string serverIP        = "";
                System.Data.DataSet ds = SqlHelper.ExecuteDataset("select ServerIP from gmtools_serverInfo where gameid=999");
                if (ds != null && ds.Tables[0].Rows.Count > 0)
                {
                    serverIP = ds.Tables[0].Rows[0].ItemArray[0].ToString();
                    string         url     = "http://" + serverIP + "/gmtools?req=updatePassword&type=0&userid=" + account + "&newPassword="******"&s=" + md5string;
                    HttpWebRequest request = (HttpWebRequest)
                                             WebRequest.Create(url);
                    //request.Method="Post";
                    request.KeepAlive = false;
                    WebResponse  resp = request.GetResponse();
                    StreamReader sr   = new System.IO.StreamReader(resp.GetResponseStream());
                    xmlfile.Load(sr);
                    XmlNode state = xmlfile.SelectSingleNode("you9/state");
                    sr.Close();
                    if (Convert.ToInt32(state.InnerText.ToString()) == 0)
                    {
                        //判断发送EMAIL是否成功
                        if (1 == sendMail("*****@*****.**", email, account, pwd))
                        {
                            result = 1;
                        }
                        else
                        {
                            result = 0;
                        }
                        //记录日志
                        paramCode = new SqlParameter[4] {
                            new SqlParameter("@GM_UserID", SqlDbType.Int),
                            new SqlParameter("@SDO_UserID", SqlDbType.VarChar, 20),
                            new SqlParameter("@9YOU_PWD", SqlDbType.VarChar, 32),
                            new SqlParameter("@result", SqlDbType.Int)
                        };
                        paramCode[0].Value = userByID;
                        paramCode[1].Value = account;
                        paramCode[2].Value = pwd;
                        paramCode[3].Value = result;
                        SqlHelper.ExecSPCommand("SDO_EmailPWD_Update", paramCode);
                        return(result);
                    }
                    else
                    {
                        return(0);
                    }
                }
            }
            catch (System.Exception ex)
            {
                Console.WriteLine(ex.Message);
                return(0);
            }
            return(0);
        }
Esempio n. 11
0
        private string escape(string s)
        {
            StringBuilder sb = new StringBuilder();

            System.Text.RegularExpressions.Regex objAlphaPatt = new System.Text.RegularExpressions.Regex("[^a-zA-Z]");
            byte[] ba = System.Text.Encoding.Unicode.GetBytes(s);
            //char[] ca = s.ToCharArray();

            for (int i = 0; i < ba.Length; i += 2)
            { /**/               //// BE SURE 2's
                uint result = toRet(ba, i);
                if (result > 255)
                {
                    sb.Append("%u");
                    sb.Append(ba[i + 1].ToString("X2"));
                    sb.Append(ba[i].ToString("X2"));
                }
                else
                {
                    sb.Append(BitConverter.ToChar(ba, i));
                }
            }
            return(sb.ToString());
        }

        /// <summary>
        /// 用户注册信息查询
        /// </summary>
        /// <returns></returns>
        public Message UserInfo_Query()
        {
            string account    = "";
            string nickName   = "";
            int    actionType = 0;

            System.Collections.ArrayList list = null;
            try
            {
                account = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.CARD_username).m_bValueBuffer);
                TLV_Structure tlvStrut = new TLV_Structure(TagName.CARD_ActionType, 4, msg.m_packet.m_Body.getTLVByTag(TagName.CARD_ActionType).m_bValueBuffer);
                actionType = (int)tlvStrut.toInteger();
                nickName   = Encoding.Default.GetString(msg.m_packet.m_Body.getTLVByTag(TagName.CARD_nickname).m_bValueBuffer);
                //nickName = escape(nickName);

                /*ds = CardDetailInfo.UserName_Query(account,nickName);
                 * if (ds != null && ds.Tables[0].Rows.Count > 0)
                 * {
                 *      userID =Convert.ToInt32(ds.Tables[0].Rows[0].ItemArray[0].ToString());
                 *      nickName = ds.Tables[0].Rows[0].ItemArray[1].ToString();
                 * }*/
                SqlHelper.log.WriteLog(lg.API_Display + lg.NineYou + lg.CardDetail_Account + account + lg.CardDetail_RegisterInfo);
                Console.WriteLine(DateTime.Now + " -" + lg.API_Display + lg.NineYou + lg.CardDetail_Account + account + lg.CardDetail_RegisterInfo);

                //ds = CardDetailInfo.UserRegistInfo_Query(userID, actionType);
                if (account.Length > 0)
                {
                    list = MD5EncryptAPI.You9Register(account, 0);
                }
                else
                {
                    list = MD5EncryptAPI.You9Register(nickName, 1);
                }
                Query_Structure[] structList = new Query_Structure[1];
                if (list != null && list.Count > 0)
                {
                    Query_Structure strut = new Query_Structure((uint)list.Count + 1);
                    byte[]          bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_INTEGER, Convert.ToInt32(list[0]));
                    strut.AddTagKey(TagName.CARD_use_userid, TagFormat.TLV_INTEGER, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[1].ToString());
                    strut.AddTagKey(TagName.CARD_username, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[2]);
                    strut.AddTagKey(TagName.CARD_nickname, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[3]);
                    strut.AddTagKey(TagName.CARD_realname, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_DATE, Convert.ToDateTime(list[4]));
                    strut.AddTagKey(TagName.CARD_birthday, TagFormat.TLV_DATE, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[5]);
                    strut.AddTagKey(TagName.CARD_cardtype, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[6]);
                    strut.AddTagKey(TagName.CARD_id, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[7]);
                    strut.AddTagKey(TagName.CARD_email, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[8]);
                    strut.AddTagKey(TagName.CARD_occupation, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[9]);
                    strut.AddTagKey(TagName.CARD_education, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[10]);
                    strut.AddTagKey(TagName.CARD_marriage, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[11]);
                    strut.AddTagKey(TagName.CARD_constellation, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[12]);
                    strut.AddTagKey(TagName.CARD_shx, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[13]);
                    strut.AddTagKey(TagName.CARD_city, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[14]);
                    strut.AddTagKey(TagName.CARD_address, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[15]);
                    strut.AddTagKey(TagName.CARD_phone, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[16]);
                    strut.AddTagKey(TagName.CARD_qq, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[17]);
                    strut.AddTagKey(TagName.CARD_intro, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[18]);
                    strut.AddTagKey(TagName.CARD_msn, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    bytes = TLV_Structure.ValueToByteArray(TagFormat.TLV_STRING, list[19]);
                    strut.AddTagKey(TagName.CARD_mobilephone, TagFormat.TLV_STRING, (uint)bytes.Length, bytes);
                    structList[0] = strut;
                    return(Message.COMMON_MES_RESP(structList, Msg_Category.CARD_ADMIN, ServiceKey.CARD_USERINFO_QUERY_RESP, 20));
                }
                else
                {
                    return(Message.COMMON_MES_RESP(lg.CardDetail_NoRegisterInfo, Msg_Category.CARD_ADMIN, ServiceKey.CARD_USERINFO_QUERY_RESP, TagName.ERROR_Msg, TagFormat.TLV_STRING));
                }
            }