/// <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); }
/// <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); }