/// <summary>
        /// 得到所有交易场ID
        /// </summary>
        /// <param name="plat3"></param>
        /// <returns></returns>
        public List <string> findAllExchange(List <string> plat3)
        {
            if (plat3.Count == 0)
            {
                return(null);
            }
            string sql = "select id from plt_plat where plat_father = ";

            foreach (string subPlatId in plat3)
            {
                sql += "'" + subPlatId + "'" + " union";
            }
            sql = sql.Substring(0, sql.Length - 5);

            List <string> result = null;

            try
            {
                result = (List <string>)DbFacade.SQLExecuteList <string>(sql, new MapRow <string>(MapPlatId));
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
        /// <summary>
        /// 根绝角色ID查询平台ID
        /// </summary>
        /// <param name="roleList"></param>
        /// <returns></returns>
        public List <string> findPlatsByRoleId(List <string> roleList)
        {
            if (roleList.Count == 0)
            {
                return(null);
            }
            string sql = "select plat_id as ID from usr_role_plat where role_id = ";

            foreach (string subRoleId in roleList)
            {
                sql += "'" + subRoleId + "'" + " union";
            }
            sql = sql.Substring(0, sql.Length - 5);

            List <string> result = null;

            try
            {
                result = (List <string>)DbFacade.SQLExecuteList <string>(sql, new MapRow <string>(MapPlatId));
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
        /// <summary>
        /// 根据UserId和平台ID查询角色ID
        /// </summary>
        /// <param name="userId"></param>
        /// <param name="platId"></param>
        /// <returns></returns>
        public List <string> findRolesByUserIdAndPlatId(string userId, string platId)
        {
            string             sql        = "select usr_user_role.role_id as ID from usr_user_role , usr_role_plat where usr_user_role.user_id = :user_id and usr_role_plat.plat_id = :plat_id and usr_user_role.role_id = usr_role_plat.role_id ";
            List <DbParameter> parameters = new List <DbParameter>();
            DbParameter        param      = this.DbFacade.CreateParameter();

            param.ParameterName = "user_id";
            param.DbType        = DbType.String;
            param.Value         = userId;
            parameters.Add(param);

            param = this.DbFacade.CreateParameter();
            param.ParameterName = "plat_id";
            param.DbType        = DbType.String;
            param.Value         = platId;
            parameters.Add(param);

            List <string> result = null;

            try
            {
                result = (List <string>)DbFacade.SQLExecuteList <string>(sql, new MapRow <string>(MapPlatId), parameters.ToArray());
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
        /// <summary>
        /// 根据HandlerId和Operate查询角色ID列表
        /// </summary>
        /// <param name="operate"></param>
        /// <param name="handlerId"></param>
        /// <param name="flag"></param>
        /// <returns></returns>
        public List <string> findRoleListByHandlerIdAndOperate(string operate, string handlerId, bool flag)
        {
            StringBuilder sql = new StringBuilder();

            sql.Append("select distinct usr_role_function.role_id as ID ");
            sql.Append("from usr_role_function , usr_function , usr_action , usr_module ");
            sql.Append("where usr_module.url like :handlerId ");
            if (!flag)
            {
                sql.Append("and usr_action.action_code = :operate ");
            }
            sql.Append("and usr_function.module_id = usr_module.id ");
            sql.Append("and usr_function.action_id = usr_action.id ");
            sql.Append("and usr_function.parent_id = usr_role_function.parent_id ");

            List <DbParameter> parameters = new List <DbParameter>();
            DbParameter        param      = this.DbFacade.CreateParameter();

            param.ParameterName = "handlerId";
            param.DbType        = DbType.String;
            param.Value         = handlerId + "%";
            parameters.Add(param);

            if (!flag)
            {
                param = this.DbFacade.CreateParameter();
                param.ParameterName = "operate";
                param.DbType        = DbType.String;
                param.Value         = operate;
                parameters.Add(param);
            }
            List <string> result = null;

            try
            {
                result = (List <string>)DbFacade.SQLExecuteList <string>(sql.ToString(), new MapRow <string>(MapPlatId), parameters.ToArray());
            }
            catch (Exception e)
            {
                throw e;
            }
            return(result);
        }
        public List <string> findPlatsByUserId(string userId)
        {
            string      sql    = "select plat_id as id from usr_usr_plat where user_id = :ID";
            DbParameter idPara = DbFacade.CreateParameter();

            idPara.ParameterName = "ID";
            idPara.DbType        = DbType.String;
            idPara.Value         = userId;
            List <string> result = null;

            try
            {
                result = (List <string>)DbFacade.SQLExecuteList <string>(sql, new MapRow <string>(MapPlatId), idPara);
            }
            catch (Exception e)
            {
                throw e;
            }


            return(result);
        }
        public List <string> findSubPlatId(string platFatherId)
        {
            string      sql    = "select id from plt_plat where plat_father = :ID";
            DbParameter idPara = DbFacade.CreateParameter();

            idPara.ParameterName = "ID";
            idPara.DbType        = DbType.String;
            idPara.Value         = platFatherId;
            List <string> result = null;

            try
            {
                result = (List <string>)DbFacade.SQLExecuteList <string>(sql, new MapRow <string>(MapPlatId), idPara);
            }
            catch (Exception e)
            {
                throw e;
            }


            return(result);
        }