2021-06-15 10:57:08 +08:00
|
|
|
from models.russian_user import RussianUser
|
2021-06-30 19:50:55 +08:00
|
|
|
from utils.data_utils import init_rank
|
2021-06-15 10:57:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
async def rank(group_id: int, itype) -> str:
|
2021-07-30 21:21:51 +08:00
|
|
|
all_users = await RussianUser.get_all_user(group_id)
|
|
|
|
|
all_user_id = [user.user_qq for user in all_users]
|
2021-06-15 10:57:08 +08:00
|
|
|
if itype == 'win_rank':
|
|
|
|
|
rank_name = '\t胜场排行榜\n'
|
2021-07-30 21:21:51 +08:00
|
|
|
all_user_data = [user.win_count for user in all_users]
|
2021-06-15 10:57:08 +08:00
|
|
|
elif itype == 'lose_rank':
|
|
|
|
|
rank_name = '\t败场排行榜\n'
|
2021-07-30 21:21:51 +08:00
|
|
|
all_user_data = [user.fail_count for user in all_users]
|
2021-06-15 10:57:08 +08:00
|
|
|
elif itype == 'make_money':
|
|
|
|
|
rank_name = '\t赢取金币排行榜\n'
|
2021-07-30 21:21:51 +08:00
|
|
|
all_user_data = [user.make_money for user in all_users]
|
2021-09-05 02:21:38 +08:00
|
|
|
elif itype == 'spend_money':
|
2021-06-15 10:57:08 +08:00
|
|
|
rank_name = '\t输掉金币排行榜\n'
|
2021-07-30 21:21:51 +08:00
|
|
|
all_user_data = [user.lose_money for user in all_users]
|
2021-09-05 02:21:38 +08:00
|
|
|
elif itype == 'max_winning_streak':
|
|
|
|
|
rank_name = '\t最高连胜排行榜\n'
|
|
|
|
|
all_user_data = [user.max_winning_streak for user in all_users]
|
|
|
|
|
else:
|
|
|
|
|
rank_name = '\t最高连败排行榜\n'
|
|
|
|
|
all_user_data = [user.max_losing_streak for user in all_users]
|
2021-06-15 10:57:08 +08:00
|
|
|
rst = ''
|
2021-07-30 21:21:51 +08:00
|
|
|
if all_users:
|
|
|
|
|
rst = await init_rank(all_user_id, all_user_data, group_id)
|
2021-06-15 10:57:08 +08:00
|
|
|
return rank_name + rst
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|