/// <summary>
        /// 华夏银行出金
        /// </summary>
        /// <param name="FdInfo">资金信息</param>
        /// <param name="money">出金金额</param>
        /// <param name="codeDesc">出金结果代码描述</param>
        /// <returns>成功返回true 失败返回fasle</returns>
        public static bool ChuJinHuaxiaBank(Fundinfo FdInfo, double money, ref string codeDesc)
        {
            bool IsSuc = false;
            IntersServerImplClient ic = new IntersServerImplClient();
            try
            {
                StringBuilder inXml = new StringBuilder();
                inXml.Append("<HXBB2B>");
                inXml.Append("<MessageData>");

                inXml.Append("<Base>");
                inXml.Append("<Version>1.0</Version>");
                inXml.Append("<SignFlag>0</SignFlag>");
                inXml.Append("<Language>GB2312</Language>");
                inXml.Append("</Base>");

                inXml.Append("<ReqHeader>");
                inXml.AppendFormat("<ClientTime>{0}</ClientTime>", DateTime.Now.ToString("yyyyMMddHHmmss"));
                inXml.Append("<MerchantNo>600014</MerchantNo>");
                inXml.Append("</ReqHeader>");

                inXml.Append("<DataBody>");
                inXml.AppendFormat("<MerTxSerNo>{0}</MerTxSerNo>", FdInfo.CashUser);
                inXml.Append("<TrnxCode>DZ017</TrnxCode>");
                inXml.AppendFormat("<AccountNo>{0}</AccountNo>", FdInfo.SubUser);
                inXml.AppendFormat("<MerAccountNo>{0}</MerAccountNo>", GetTanUser(FdInfo.TanUser));
                inXml.AppendFormat("<Amt>{0}</Amt>", money);
                inXml.Append("</DataBody>");

                inXml.Append("</MessageData>");
                inXml.Append("</HXBB2B>");
                com.individual.helper.LogNet4.WriteMsg("华夏银行出金,请求的Xml报文:" + inXml.ToString());
                string outXml = ic.Process(inXml.ToString());
                com.individual.helper.LogNet4.WriteMsg("华夏银行出金,响应的Xml报文:" + outXml);
                XmlDocument xmldoc = new XmlDocument();
                xmldoc.LoadXml(outXml);
                if (HuaxiaSuc == xmldoc.SelectSingleNode("HXBB2B/MessageData/ResHeader/Status/Code").InnerText)
                {
                    IsSuc = true;
                }
                codeDesc = xmldoc.SelectSingleNode("HXBB2B/MessageData/ResHeader/Status/Message").InnerText;
                ic.Close();
            }
            catch (Exception ex)
            {
                ic.Abort();
                throw new Exception(ex.Message, ex);
            }

            return IsSuc;
        }
 /// <summary>
 /// 获取交易用户资金信息
 /// </summary>
 /// <param name="sql">查询SQL</param>
 /// <param name="userid">返回用户ID</param>
 /// <returns>用户资金信息</returns>
 public static Fundinfo GetFdinfo(string sql, ref string userid)
 {
     Fundinfo Fdinfo = new Fundinfo();
     SqlConnection sqlconn = null;
     SqlCommand sqlcmd = null;
     SqlDataReader sqldr = null;
     try
     {
         sqlconn = new SqlConnection(SqlConnectionString);
         sqlconn.Open();
         sqlcmd = sqlconn.CreateCommand();
         sqlcmd.CommandText = sql;
         sqldr = sqlcmd.ExecuteReader();
         while (sqldr.Read())
         {
             Fdinfo.State = sqldr["State"].ToString();
             Fdinfo.Money = Convert.ToDouble(sqldr["Money"]);
             Fdinfo.OccMoney = Convert.ToDouble(sqldr["OccMoney"]);
             Fdinfo.FrozenMoney = Convert.ToDouble(sqldr["FrozenMoney"]);
             Fdinfo.BankAccount = sqldr["BankAccount"].ToString();
             Fdinfo.AccountName = sqldr["AccountName"].ToString();
             Fdinfo.BankCard = sqldr["BankCard"].ToString();
             Fdinfo.CashUser = sqldr["CashUser"].ToString();
             Fdinfo.SubUser = sqldr["SubUser"].ToString();
             Fdinfo.TanUser = sqldr["TanUser"].ToString();
             Fdinfo.ConBankType = sqldr["ConBankType"].ToString();
             Fdinfo.OpenBank = sqldr["OpenBank"].ToString();
             Fdinfo.OpenBankAddress = sqldr["OpenBankAddress"].ToString();
             Fdinfo.ConTime = Convert.ToDateTime(sqldr["ConTime"]);
             Fdinfo.RescindTime = Convert.ToDateTime(sqldr["RescindTime"]);
             Fdinfo.SameBank = Convert.ToBoolean(sqldr["SameBank"]);
             userid = sqldr["userid"].ToString();
             break;
         }
     }
     catch (Exception ex)
     {
         throw new Exception(ex.Message, ex);
     }
     finally
     {
         if (null != sqlconn)
         {
             sqlconn.Close();
         }
         if (null != sqldr)
         {
             sqldr.Close();
         }
     }
     return Fdinfo;
 }
        /// <summary>
        /// 获取交易用户资金信息
        /// </summary>
        /// <param name="sql">查询SQL</param>
        /// <returns>用户资金信息</returns>
        public static Fundinfo GetFdinfo(string sql)
        {
            Fundinfo Fdinfo = new Fundinfo();

            System.Data.Common.DbDataReader dbreader = null;
            try
            {
                dbreader = DbHelper.ExecuteReader(sql);
                while (dbreader.Read())
                {
                    Fdinfo.State = System.DBNull.Value != dbreader["State"] ? dbreader["State"].ToString() : string.Empty;
                    Fdinfo.Money = System.DBNull.Value != dbreader["Money"] ? Convert.ToDouble(dbreader["Money"]) : 0;
                    Fdinfo.OccMoney = System.DBNull.Value != dbreader["OccMoney"] ? Convert.ToDouble(dbreader["OccMoney"]) : 0;
                    Fdinfo.FrozenMoney = System.DBNull.Value != dbreader["FrozenMoney"] ? Convert.ToDouble(dbreader["FrozenMoney"]) : 0;
                    Fdinfo.BankAccount = System.DBNull.Value != dbreader["BankAccount"] ? dbreader["BankAccount"].ToString() : string.Empty;
                    Fdinfo.AccountName = System.DBNull.Value != dbreader["AccountName"] ? dbreader["AccountName"].ToString() : string.Empty;
                    Fdinfo.BankCard = System.DBNull.Value != dbreader["BankCard"] ? dbreader["BankCard"].ToString() : string.Empty;
                    Fdinfo.CashUser = System.DBNull.Value != dbreader["CashUser"] ? dbreader["CashUser"].ToString() : string.Empty;
                    Fdinfo.SubUser = System.DBNull.Value != dbreader["SubUser"] ? dbreader["SubUser"].ToString() : string.Empty;
                    Fdinfo.TanUser = System.DBNull.Value != dbreader["TanUser"] ? dbreader["TanUser"].ToString() : string.Empty;
                    Fdinfo.ConBankType = System.DBNull.Value != dbreader["ConBankType"] ? dbreader["ConBankType"].ToString() : string.Empty;
                    Fdinfo.OpenBank = System.DBNull.Value != dbreader["OpenBank"] ? dbreader["OpenBank"].ToString() : string.Empty;
                    Fdinfo.OpenBankAddress = System.DBNull.Value != dbreader["OpenBankAddress"] ? dbreader["OpenBankAddress"].ToString() : string.Empty;
                    Fdinfo.DongJieMoney = System.DBNull.Value != dbreader["DongJieMoney"] ? Convert.ToDouble(dbreader["DongJieMoney"]) : 0;
                    if (System.DBNull.Value != dbreader["ConTime"])
                    {
                        Fdinfo.ConTime = Convert.ToDateTime(dbreader["ConTime"]);
                    }
                    else
                    {
                        Fdinfo.ConTime = null;
                    }
                    if (System.DBNull.Value != dbreader["RescindTime"])
                    {
                        Fdinfo.RescindTime = Convert.ToDateTime(dbreader["RescindTime"]);
                    }
                    else
                    {
                        Fdinfo.RescindTime = null;
                    }
                    Fdinfo.SameBank = System.DBNull.Value != dbreader["SameBank"] ? Convert.ToBoolean(dbreader["SameBank"]) : false;
                    break;
                }
            }
            catch (Exception ex)
            {
                throw new Exception(ex.Message, ex);
            }
            finally
            {
                if (null != dbreader)
                {
                    dbreader.Close();
                    dbreader.Dispose();
                }
            }
            return Fdinfo;
        }
        /// <summary>
        /// 新增交易用户
        /// </summary>
        /// <param name="TdUser">用户信息</param>
        /// <param name="Fdinfo">资金信息</param>
        /// <param name="UType">用户类型</param>
        /// <param name="LoginId">登陆标识</param>
        /// <returns>结果描述</returns>
        public ResultDesc AddTradeUserEx(TradeUser TdUser, Fundinfo Fdinfo, UserType UType, string LoginId)
        {
            ResultDesc rsdc = new ResultDesc();
            string operUser = string.Empty;//操作人
            TradeUser RefTdUser = new TradeUser();
            try
            {
                #region 判断登陆标识是否过期

                if (!ComFunction.ExistUserLoginID(LoginId, ref RefTdUser))
                {
                    rsdc.Result = false;
                    rsdc.Desc = ResCode.UL003Desc;
                    return rsdc;
                }
                #endregion

                if (UserType.NormalType == RefTdUser.UType)
                {
                    rsdc.Result = false;
                    rsdc.Desc = ComFunction.NotRightUser;
                    return rsdc;
                }
                operUser = RefTdUser.Account;

                if (string.IsNullOrEmpty(TdUser.Account))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "用户账号不能为空";
                    return rsdc;
                }
                if (string.IsNullOrEmpty(TdUser.LoginPwd))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "用户密码不能为空";
                    return rsdc;
                }
                if (UserType.NormalType == UType && string.IsNullOrEmpty(TdUser.CashPwd))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "资金密码不能为空";
                    return rsdc;
                }
                if (string.IsNullOrEmpty(TdUser.CardNum))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "证件号码不能为空";
                    return rsdc;
                }
                if (string.IsNullOrEmpty(TdUser.UserID))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "用户ID不能为空";
                    return rsdc;
                }
                string OrgId = string.Empty;

                if (!string.IsNullOrEmpty(TdUser.OrgName))
                {
                    //判断组织ID是否存在
                    if (!ComFunction.ExistOrgName(TdUser.OrgName, ref OrgId))
                    {
                        rsdc.Result = false;
                        rsdc.Desc = "你所指定的组织名称不存在";
                        return rsdc;
                    }

                }

                bool tradeAccountExist = false;
                //判断用户账号 或 证件号码是否已经被使用
                if (ComFunction.CardNumIsExist(TdUser.Account, TdUser.CardNum, ref tradeAccountExist))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "证件号码已经被使用";
                    return rsdc;
                }
                if (tradeAccountExist)
                {
                    rsdc.Result = false;
                    rsdc.Desc = string.Format("账号{0}已经存在", TdUser.Account);
                    return rsdc;
                }

                if (UserType.OrgType == UType && !string.IsNullOrEmpty(OrgId) && !string.IsNullOrEmpty(TdUser.BindAccount))
                {
                    if (!ComFunction.ExistNormalAccount(TdUser.BindAccount, OrgId))
                    {
                        rsdc.Result = false;
                        rsdc.Desc = "你所指定的绑定帐号不存在";
                        return rsdc;
                    }
                }

                int ute = (int)UType;

                //SQL语句
                List<string> sqlList = new List<string>();

                StringBuilder strbld = new StringBuilder();
                //string userid = System.Guid.NewGuid().ToString().Replace("-", "");
                string strdt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
                string ipmac = ComFunction.GetIpMac(RefTdUser.Ip, RefTdUser.Mac);
                //TdUser.OrderUnit = 1;//手数单位默认为1
                if (UserType.NormalType == UType)
                {
                    //构造新增基本用户信息的sql语句
                    strbld.AppendFormat(@"insert into Base_User([userId],[userName],[status],[Accounttype],[CorporationName],
                        [Account],[LoginPwd],[cashPwd],[CardType],[CardNum],[OrgId],[PhoneNum],[TelNum],[Email],[LinkMan],[LinkAdress],
                        [OrderPhone],[sex],[OpenMan],[OpenTime],[LastUpdateTime],[LastUpdateID],[LoginID],[Ip],[Mac],[Online],[MinTrade],
                        [OrderUnit],[MaxTrade],[PermitRcash],[PermitCcash],[PermitDhuo],[PermitHshou],[PermitRstore],[PermitDelOrder],
                        [UserType]) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',", TdUser.UserID, string.IsNullOrEmpty(TdUser.UserName) ? string.Empty : TdUser.UserName,
                                                                                  TdUser.Status, TdUser.AccountType, string.IsNullOrEmpty(TdUser.CorporationName) ? string.Empty : TdUser.CorporationName, TdUser.Account, Des3.Des3EncodeCBC(TdUser.LoginPwd), Des3.Des3EncodeCBC(TdUser.CashPwd));
                    strbld.AppendFormat("'{0}','{1}','{2}','{3}','{4}','{5}','{6}',", TdUser.CardType, TdUser.CardNum, string.IsNullOrEmpty(OrgId) ? string.Empty : OrgId,
                        TdUser.PhoneNum, TdUser.TelNum, TdUser.Email, TdUser.LinkMan);
                    strbld.AppendFormat("'{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}',", TdUser.LinkAdress, TdUser.OrderPhone, TdUser.Sex, TdUser.OpenMan, strdt, strdt, operUser, string.Empty);
                    strbld.AppendFormat("'{0}','{1}',{2},{3},{4},{5},", string.Empty, string.Empty, 0, TdUser.MinTrade, TdUser.OrderUnit, TdUser.MaxTrade);
                    strbld.AppendFormat("{0},{1},{2},{3},{4},{5},{6})", TdUser.PermitRcash ? 1 : 0, TdUser.PermitCcash ? 1 : 0, TdUser.PermitDhuo ? 1 : 0, TdUser.PermitHshou ? 1 : 0, TdUser.PermitRstore ? 1 : 0, TdUser.PermitDelOrder ? 1 : 0, ute);
                    sqlList.Add(strbld.ToString());

                    //构造新增用户资金信息的sql语句
                    sqlList.Add(string.Format("insert into Trade_FundInfo([userId],[state],[money],[OccMoney],[frozenMoney],[BankAccount],[AccountName],[BankCard],[CashUser],[SubUser],[ConBankType],[OpenBank],[OpenBankAddress],[SameBank]) values('{0}','{1}',{2},{3},{4},'{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}',{13})",
                        TdUser.UserID, 0, 0, 0, 0, string.Empty, TdUser.UserName, Fdinfo.BankCard, System.Guid.NewGuid().ToString().Replace("-", ""), string.Empty, Fdinfo.ConBankType, Fdinfo.OpenBank, string.Empty, 0));
                    //添加默认分组
                    string UserGroupId = ComFunction.GetUserGroupId();
                    if (!string.IsNullOrEmpty(UserGroupId))
                    {
                        sqlList.Add(string.Format("insert into Trade_User_Group(UserId, UserGroupId) values('{0}','{1}') ", TdUser.UserID, UserGroupId));
                    }
                    //添加操作记录
                    sqlList.Add(string.Format("insert into Base_OperrationLog([OperTime],[Account],[UserType],[Remark]) values('{0}','{1}',{2},'{3}')", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), operUser, (int)RefTdUser.UType, string.Format("{1}新增账号{0}", TdUser.Account, ipmac)));
                }
                else if (UserType.AdminType == UType)
                {
                    //构造新增管理员信息的sql语句
                    strbld.AppendFormat(@"insert into Base_User([userId],[userName],[status],[Accounttype],[Account],[LoginPwd],
                                        [CardType],[CardNum],[PhoneNum],[TelNum],[Email],[LinkAdress],[sex],[OpenTime],
                                        [LastUpdateTime],[LastUpdateID],[Online],[UserType]) values('{0}','{1}','{2}','{3}','{4}','{5}',",
                                         TdUser.UserID, string.IsNullOrEmpty(TdUser.UserName) ? string.Empty : TdUser.UserName,
                                         TdUser.Status, 0, TdUser.Account, Des3.Des3EncodeCBC(TdUser.LoginPwd));
                    strbld.AppendFormat("'{0}','{1}','{2}','{3}','{4}',",
                                        1, TdUser.CardNum, TdUser.PhoneNum, TdUser.TelNum, TdUser.Email);
                    strbld.AppendFormat("'{0}','{1}','{2}','{3}','{4}',{5},{6})",
                                        TdUser.LinkAdress, TdUser.Sex, strdt, strdt, operUser, 0, ute);
                    sqlList.Add(strbld.ToString());

                    //添加操作记录
                    sqlList.Add(string.Format("insert into Base_OperrationLog([OperTime],[Account],[UserType],[Remark]) values('{0}','{1}',{2},'{3}')",
                        DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), operUser, (int)RefTdUser.UType, string.Format("{1}新增管理员{0}", TdUser.Account, ipmac)));
                }
                else if (UType == UserType.OrgType)
                {
                    //构造新增组织用户信息的sql语句
                    strbld.AppendFormat(@"insert into Base_User([userId],[userName],[status],[Accounttype],[Account],[LoginPwd],
                                        [CardType],[CardNum],[OrgId],[PhoneNum],[TelNum],[Email],[LinkAdress],[sex],[OpenTime],
                                        [LastUpdateTime],[LastUpdateID],[Online],[UserType],[BindAccount])
                                        values('{0}','{1}','{2}','{3}','{4}','{5}',",
                                        TdUser.UserID, string.IsNullOrEmpty(TdUser.UserName) ? string.Empty : TdUser.UserName,
                                        TdUser.Status, 1, TdUser.Account, Des3.Des3EncodeCBC(TdUser.LoginPwd));
                    strbld.AppendFormat("'{0}','{1}','{2}','{3}','{4}','{5}',", TdUser.CardType, TdUser.CardNum, string.IsNullOrEmpty(OrgId) ? string.Empty : OrgId,
                        TdUser.PhoneNum, TdUser.TelNum, TdUser.Email);
                    strbld.AppendFormat("'{0}','{1}','{2}','{3}','{4}',{5},{6},'{7}')", TdUser.LinkAdress, TdUser.Sex, strdt, strdt, operUser, 0, ute, string.IsNullOrEmpty(TdUser.BindAccount) ? string.Empty : TdUser.BindAccount);
                    sqlList.Add(strbld.ToString());

                    //添加操作记录
                    sqlList.Add(string.Format("insert into Base_OperrationLog([OperTime],[Account],[UserType],[Remark]) values('{0}','{1}',{2},'{3}')", DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), operUser, (int)RefTdUser.UType, string.Format("{1}新增组织用户{0}", TdUser.Account, ipmac)));

                }

                if (!ComFunction.SqlTransaction(sqlList))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "新增用户出错";
                    return rsdc;
                }
                rsdc.Result = true;
                rsdc.Desc = "新增用户成功";

            }
            catch (Exception ex)
            {
                ComFunction.WriteErr(ex);
                rsdc.Result = false;
                rsdc.Desc = "新增用户失败";
            }
            return rsdc;
        }
        /// <summary>
        /// 客户资金资料修改
        /// </summary>
        /// <param name="Fdinfo">资金信息</param>
        /// <param name="tradeAccount">用户帐号</param>
        /// <param name="LoginId">登陆标识</param>
        /// <returns>修改结果</returns>
        public ResultDesc ModifyUserFundinfo(Fundinfo Fdinfo, string tradeAccount, string LoginId)
        {
            ResultDesc rsdc = new ResultDesc();
            string operUser = string.Empty;//操作人
            TradeUser RefTdUser = new TradeUser();
            try
            {
                #region 判断登陆标识是否过期
                if (!ComFunction.ExistUserLoginID(LoginId, ref RefTdUser))
                {
                    rsdc.Result = false;
                    rsdc.Desc = ResCode.UL003Desc;
                    return rsdc;
                }

                if (UserType.NormalType == RefTdUser.UType)
                {
                    rsdc.Result = false;
                    rsdc.Desc = ComFunction.NotRightUser;
                    return rsdc;
                }
                operUser = RefTdUser.Account;
                #endregion

                //SQL语句
                List<string> sqlList = new List<string>();
                string userid = ComFunction.GetUserId(tradeAccount);
                string strdt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
                //构造修改用户信息的sql语句
                StringBuilder strbld = new StringBuilder();
                strbld.AppendFormat("update Trade_FundInfo set ");

                //strbld.AppendFormat("ConBankType='{0}', ", string.IsNullOrEmpty(Fdinfo.ConBankType) ? string.Empty : Fdinfo.ConBankType);

                //strbld.AppendFormat("OpenBank='{0}', ", string.IsNullOrEmpty(Fdinfo.OpenBank) ? string.Empty : Fdinfo.OpenBank);
                //strbld.AppendFormat("BankAccount='{0}', ", string.IsNullOrEmpty(Fdinfo.BankAccount) ? string.Empty : Fdinfo.BankAccount);
                //strbld.AppendFormat("BankCard='{0}', ", string.IsNullOrEmpty(Fdinfo.BankCard) ? string.Empty : Fdinfo.BankCard);
                //strbld.AppendFormat("AccountName='{0}', ", string.IsNullOrEmpty(Fdinfo.AccountName) ? string.Empty : Fdinfo.AccountName);
                //strbld.AppendFormat("OpenBankAddress='{0}' ", string.IsNullOrEmpty(Fdinfo.OpenBankAddress) ? string.Empty : Fdinfo.OpenBankAddress);
                strbld.AppendFormat("DongJieMoney={0} ", Fdinfo.DongJieMoney);

                strbld.AppendFormat(" where userid='{0}' and [state]<>'4'", userid);
                sqlList.Add(strbld.ToString());
                //添加操作记录
                string ipmac = ComFunction.GetIpMac(RefTdUser.Ip, RefTdUser.Mac);
                sqlList.Add(string.Format("insert into Base_OperrationLog([OperTime],[Account],[UserType],[Remark]) values('{0}','{1}',{2},'{3}')",
                    DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), operUser, (int)RefTdUser.UType,
                    string.Format("{2}修改{0}的冻结资金为{1}", tradeAccount, Fdinfo.DongJieMoney, ipmac)));

                if (!ComFunction.SqlTransaction(sqlList))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "修改用户资金资料出错";
                    return rsdc;
                }
                rsdc.Result = true;
                rsdc.Desc = "修改用户资金资料成功";
            }
            catch (Exception ex)
            {
                ComFunction.WriteErr(ex);
                rsdc.Result = false;
                rsdc.Desc = "修改用户资金资料失败";
            }
            return rsdc;
        }
        /// <summary>
        /// 修改客户资料
        /// </summary>
        /// <param name="TdUser">用户信息</param>
        /// <param name="Fdinfo">资金信息</param>
        /// <param name="LoginId">登陆标识</param>
        /// <returns>修改结果</returns>
        public ResultDesc ModifyTradeUserEx(TradeUser TdUser, Fundinfo Fdinfo, string LoginId)
        {
            ResultDesc rsdc = new ResultDesc();
            string operUser = string.Empty;//操作人
            TradeUser RefTdUser = new TradeUser();
            try
            {
                #region 判断登陆标识是否过期
                if (!ComFunction.ExistUserLoginID(LoginId, ref RefTdUser))
                {
                    rsdc.Result = false;
                    rsdc.Desc = ResCode.UL003Desc;
                    return rsdc;
                }

                if (UserType.NormalType == RefTdUser.UType)
                {
                    rsdc.Result = false;
                    rsdc.Desc = ComFunction.NotRightUser;
                    return rsdc;
                }
                operUser = RefTdUser.Account;
                #endregion

                if (string.IsNullOrEmpty(TdUser.Account))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "用户账号不能为空";
                    return rsdc;
                }
                if (string.IsNullOrEmpty(TdUser.LoginPwd))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "用户密码不能为空";
                    return rsdc;
                }

                //if (string.IsNullOrEmpty(TdUser.CardNum))
                //{
                //    rsdc.Result = false;
                //    rsdc.Desc = "证件号码不能为空";
                //    return rsdc;
                //}

                string OrgId = string.Empty;
                if (!string.IsNullOrEmpty(TdUser.OrgName))
                {
                    //判断组织ID是否存在
                    if (!ComFunction.ExistOrgName(TdUser.OrgName, ref OrgId))
                    {
                        rsdc.Result = false;
                        rsdc.Desc = "你所指定的组织名称不存在";
                        return rsdc;
                    }
                }
                //判断用户输入的证件号码在其他有效用户中是否已经被使用
                //if (ComFunction.CardNumIsExist(TdUser.Account, TdUser.CardNum))
                //{
                //    rsdc.Result = false;
                //    rsdc.Desc = "证件号码已经被使用";
                //    return rsdc;
                //}
                UserType Utype = ComFunction.GetUserType(TdUser.Account);
                //if (UserType.OrgType == Utype && !string.IsNullOrEmpty(OrgId) && !string.IsNullOrEmpty(TdUser.BindAccount))
                //{
                //    if (!ComFunction.ExistNormalAccount(TdUser.BindAccount, OrgId))
                //    {
                //        rsdc.Result = false;
                //        rsdc.Desc = "你所指定的绑定帐号不存在";
                //        return rsdc;
                //    }
                //}
                //if (UserType.NormalType == Utype && string.IsNullOrEmpty(TdUser.CashPwd))
                //{
                //    rsdc.Result = false;
                //    rsdc.Desc = "资金密码不能为空";
                //    return rsdc;
                //}
                //SQL语句
                List<string> sqlList = new List<string>();
                string userid = ComFunction.GetUserId(TdUser.Account);
                string strdt = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff");
                //构造修改用户信息的sql语句
                StringBuilder strbld = new StringBuilder();
                string ipmac = ComFunction.GetIpMac(RefTdUser.Ip, RefTdUser.Mac);
                //TdUser.OrderUnit = 1;//手数单位默认为1
                strbld.AppendFormat("update Base_User set ");

                strbld.AppendFormat("UserName='******',", string.IsNullOrEmpty(TdUser.UserName) ? string.Empty : TdUser.UserName);

                strbld.AppendFormat("CardNum='{0}',", string.IsNullOrEmpty(TdUser.CardNum) ? string.Empty : TdUser.CardNum);
                strbld.AppendFormat("OrgId='{0}',", string.IsNullOrEmpty(OrgId) ? string.Empty : OrgId);
                strbld.AppendFormat("PhoneNum='{0}',", string.IsNullOrEmpty(TdUser.PhoneNum) ? string.Empty : TdUser.PhoneNum);
                strbld.AppendFormat("TelNum='{0}',", string.IsNullOrEmpty(TdUser.TelNum) ? string.Empty : TdUser.TelNum);
                strbld.AppendFormat("Email='{0}',", string.IsNullOrEmpty(TdUser.Email) ? string.Empty : TdUser.Email);
                strbld.AppendFormat("LinkMan='{0}',", string.IsNullOrEmpty(TdUser.LinkMan) ? string.Empty : TdUser.LinkMan);
                strbld.AppendFormat("LinkAdress='{0}',", string.IsNullOrEmpty(TdUser.LinkAdress) ? string.Empty : TdUser.LinkAdress);
                strbld.AppendFormat("Sex='{0}',", string.IsNullOrEmpty(TdUser.Sex) ? "1" : TdUser.Sex);
                strbld.AppendFormat("[Status]='{0}',", string.IsNullOrEmpty(TdUser.Status) ? "0" : TdUser.Status);
                strbld.AppendFormat("LoginPwd='{0}',", Des3.Des3EncodeCBC(string.IsNullOrEmpty(TdUser.LoginPwd) ? "123456" : TdUser.LoginPwd));
                if (Utype == UserType.OrgType)
                {
                    strbld.AppendFormat("CardType='{0}',", string.IsNullOrEmpty(TdUser.CardType) ? "1" : TdUser.CardType);
                    strbld.AppendFormat("BindAccount='{0}',", string.IsNullOrEmpty(TdUser.BindAccount) ? string.Empty : TdUser.BindAccount);
                }
                else if (Utype == UserType.NormalType)
                {
                    strbld.AppendFormat("CardType='{0}',", string.IsNullOrEmpty(TdUser.CardType) ? "1" : TdUser.CardType);
                    strbld.AppendFormat("AccountType='{0}',", string.IsNullOrEmpty(TdUser.AccountType) ? "0" : TdUser.AccountType);
                    strbld.AppendFormat("OpenMan='{0}',", string.IsNullOrEmpty(TdUser.OpenMan) ? string.Empty : TdUser.OpenMan);
                    strbld.AppendFormat("OrderPhone='{0}',", string.IsNullOrEmpty(TdUser.OrderPhone) ? string.Empty : TdUser.OrderPhone);
                    strbld.AppendFormat("CashPwd='{0}',", Des3.Des3EncodeCBC(string.IsNullOrEmpty(TdUser.CashPwd) ? "123456" : TdUser.CashPwd));

                    strbld.AppendFormat("MinTrade={0},", TdUser.MinTrade);
                    strbld.AppendFormat("OrderUnit={0},", TdUser.OrderUnit);
                    strbld.AppendFormat("MaxTrade={0},", TdUser.MaxTrade);
                    strbld.AppendFormat("CorporationName='{0}',", string.IsNullOrEmpty(TdUser.CorporationName) ? string.Empty : TdUser.CorporationName);

                    strbld.AppendFormat("PermitRcash={0},", TdUser.PermitRcash ? 1 : 0);
                    strbld.AppendFormat("PermitCcash={0},", TdUser.PermitCcash ? 1 : 0);
                    strbld.AppendFormat("PermitDhuo={0},", TdUser.PermitDhuo ? 1 : 0);
                    strbld.AppendFormat("PermitHshou={0},", TdUser.PermitHshou ? 1 : 0);
                    strbld.AppendFormat("PermitRstore={0},", TdUser.PermitRstore ? 1 : 0);
                    strbld.AppendFormat("PermitDelOrder={0},", TdUser.PermitDelOrder ? 1 : 0);
                }
                strbld.AppendFormat("LastUpdateTime='{0}',", strdt); //修改时间
                strbld.AppendFormat("LastUpdateID='{0}'", operUser); //修改人
                strbld.AppendFormat(" where Account='{0}' and userid='{1}'", TdUser.Account, userid);
                sqlList.Add(strbld.ToString());
                //修改资金信息
                sqlList.Add(string.Format("update Trade_FundInfo set AccountName='{0}',BankCard='{1}',OpenBank='{2}',ConBankType='{4}' where userid='{3}'",
                    TdUser.UserName, Fdinfo.BankCard, Fdinfo.OpenBank, userid, Fdinfo.ConBankType));
                //com.individual.helper.LogNet4.WriteMsg(strbld.ToString());
                //添加操作记录
                sqlList.Add(string.Format("insert into Base_OperrationLog([OperTime],[Account],[UserType],[Remark]) values('{0}','{1}',{2},'{3}')",
                    DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss.fff"), operUser, (int)RefTdUser.UType, string.Format("{1}修改用户{0}", TdUser.Account, ipmac)));

                if (!ComFunction.SqlTransaction(sqlList))
                {
                    rsdc.Result = false;
                    rsdc.Desc = "修改用户资料出错";
                    return rsdc;
                }
                rsdc.Result = true;
                rsdc.Desc = "修改用户资料成功";
            }
            catch (Exception ex)
            {
                ComFunction.WriteErr(ex);
                rsdc.Result = false;
                rsdc.Desc = "修改用户资料失败";
            }
            return rsdc;
        }