コード例 #1
0
        /// <summary>
        /// 获取财富榜前三十
        /// </summary>
        /// <returns></returns>
        public static string Top30Money()
        {
            // 未提取存款
            Hashtable userMoney = new Hashtable();
            Hashtable userInfo  = new Hashtable();
            // 已经提取存款
            Hashtable userBlank = new Hashtable();
            // 财富榜前20
            Hashtable       userData   = new Hashtable();
            string          resultMsg  = "";
            MySqlConnection connection = null;

            try
            {
                connection = ConnectionPool.getPool().getConnection();
                // 链接为null就执行等待
                while (connection == null)
                {
                }
                string sql = "SELECT bbs_nick_name,user_money,user_qq FROM ichunqiu_blank";
                using (MySqlCommand cmd = new MySqlCommand(sql, connection))
                {
                    using (MySqlDataReader myDataReader = cmd.ExecuteReader())
                    {
                        while (myDataReader.Read() == true)
                        {
                            userMoney.Add(myDataReader["bbs_nick_name"], myDataReader["user_money"]);
                            userInfo.Add(myDataReader["user_qq"], myDataReader["bbs_nick_name"]);
                        }
                    }
                }
                // 提取历史提取总金额
                userBlank = getAllHistorySumMoney(userInfo);
                //  ArrayList allMoney = new ArrayList();
                List <Decimal> allMoney = new List <decimal>();
                foreach (DictionaryEntry item in userMoney)
                {
                    decimal blance        = Convert.ToDecimal(item.Value);
                    decimal historyBlance = Convert.ToDecimal(userBlank[item.Key]);
                    userData.Add(item.Key, historyBlance + blance);
                    allMoney.Add(historyBlance + blance);
                }

                /*
                 * List<decimal> allMoney = new List<decimal>();
                 * foreach (string item in userData.Values)
                 * {
                 *  allMoney.Add(Convert.ToDecimal(item));
                 * }*/
                // 降序
                allMoney.Sort((x, y) => - x.CompareTo(y));
                int i = 0;
                foreach (decimal money in allMoney)
                {
                    foreach (DictionaryEntry item in userData)
                    {
                        if (Convert.ToDecimal(item.Value) == money)
                        {
                            resultMsg += string.Format("NO【{0}】:{1}身价{2},已提取存款{3},未提取存款{4}\n", (i + 1).ToString(), Convert.ToString(item.Key), Convert.ToString(money), Convert.ToString(userBlank[item.Key]), Convert.ToString(userMoney[item.Key]));
                            // 删除用户避免出现重复的情况
                            userData.Remove(item.Key);
                            break;
                        }
                    }
                    i++;
                    if (i > 29)
                    {
                        break;
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally {
                if (connection != null)
                {
                    connection.Close();
                }
                // 关闭数据库链接
                ConnectionPool.getPool().closeConnection(connection);
            }
            return(resultMsg);
        }
コード例 #2
0
        /// <summary>
        /// 金额提现
        /// </summary>
        /// <param name="qq">QQ号</param>
        /// <param name="money">金额</param>
        public static string updateBlank(string qq, decimal money, string operation)
        {
            string resultStr = "";
            string sql       = "UPDATE ichunqiu_blank SET user_money = user_money - @user_money WHERE user_qq =@qq ";

            // 加钱
            if ("1".Equals(operation))
            {
                sql = "UPDATE ichunqiu_blank SET user_money = user_money + @user_money WHERE user_qq =@qq ";
            }
            else
            {
                string tmpMoney = getBlankMoney(qq);
                if (tmpMoney != null && tmpMoney.Length > 0)
                {
                    if (Convert.ToDecimal(tmpMoney) < money)
                    {
                        return("提现金额必须小于存款金额。");
                    }
                }
                else
                {
                    return("没有该作家!");
                }
            }
            var parameter = new List <MySqlParameter>();

            parameter.Add(new MySqlParameter("@user_money", money));
            parameter.Add(new MySqlParameter("@qq", qq));
            MySqlConnection connection = null;

            try
            {
                connection = ConnectionPool.getPool().getConnection();
                while (connection == null)
                {
                }
                using (MySqlCommand mySqlCommand = new MySqlCommand(sql, connection))
                {
                    // 添加参数
                    if (parameter.Count > 0)
                    {
                        mySqlCommand.Parameters.AddRange(parameter.ToArray());
                    }
                    // 提取数据
                    int count = mySqlCommand.ExecuteNonQuery();
                    // 执行数据插入
                    int flagCount = inserMoneyHistory(qq, money, operation);
                    if (count > 0 && flagCount > 0)
                    {
                        resultStr = "更新成功!";
                    }
                    else
                    {
                        resultStr = "更新失败!";
                    }
                }
            }
            catch (Exception)
            {
                throw;
            }
            finally
            {
                if (connection != null)
                {
                    connection.Close();
                }
                // 关闭数据库链接
                ConnectionPool.getPool().closeConnection(connection);
            }
            return(resultStr);
        }