This commit is contained in:
aozhiwei 2019-08-16 16:28:28 +08:00
parent 814aa01c07
commit 77f3a4cbca

View File

@ -62,31 +62,23 @@ def getDaySeconds(time_val, incdays):
return dayseconds return dayseconds
#刷新数据 #刷新数据
def refreshData(row, kill_list, alive_list, harm_list, rate_list, win_list): def refreshData(row, data_list, data_info):
key_info = data_info
list_info = data_list
i = 0
for data in data_list:
if (data[0] == row[0]):
del data_list[i]
break
i = i + 1
kill = safeDiv(row[3], row[7]) kill = safeDiv(row[3], row[7])
alive_time = safeDiv(row[4], row[7]) alive_time = safeDiv(row[4], row[7])
harm = safeDiv(row[5], row[7]) harm = safeDiv(row[5], row[7])
win_times = safeDiv(row[6], row[7]) win_times = safeDiv(row[6], row[7])
kill_list.append((row[0], row[1].decode('utf-8'), row[2], kill, alive_time, harm, win_times, row[6])) list_info.append((row[0], row[1].decode('utf-8'), row[2], kill, alive_time, harm, win_times, row[6]))
kill_list.sort(key=take_kills, reverse=True) list_info.sort(key=key_info, reverse=True)
if (len(kill_list) > 50): if (len(list_info) > 50):
del kill_list[50:] del list_info[50:]
alive_list.append((row[0], row[1].decode('utf-8'), row[2], kill, alive_time, harm, win_times, row[6]))
alive_list.sort(key=take_alive_time, reverse=True)
if (len(alive_list) > 50):
del alive_list[50:]
harm_list.append((row[0], row[1].decode('utf-8'), row[2], kill, alive_time, harm, win_times, row[6]))
harm_list.sort(key=take_harms, reverse=True)
if (len(harm_list) > 50):
del harm_list[50:]
rate_list.append((row[0], row[1].decode('utf-8'), row[2], kill, alive_time, harm, win_times, row[6]))
rate_list.sort(key=take_win_times, reverse=True)
if (len(rate_list) > 50):
del rate_list[50:]
win_list.append((row[0], row[1].decode('utf-8'), row[2], kill, alive_time, harm, win_times, row[6]))
win_list.sort(key=take_game_times, reverse=True)
if (len(win_list) > 50):
del win_list[50:]
#更新排行榜 #更新排行榜
def updateRank(r, kill_list, alive_list, harm_list, rate_list, win_list): def updateRank(r, kill_list, alive_list, harm_list, rate_list, win_list):
@ -145,7 +137,15 @@ def dayReadMysqlData(rushtime):
has_data = False has_data = False
for row in cursor: for row in cursor:
refreshData(row, kill_list, alive_list, harm_list, rate_list, win_list) refreshData(row, kill_list, take_kills)
#更新生存榜
refreshData(row, alive_list, take_alive_time)
#更新伤害榜
refreshData(row, harm_list, take_harms)
#更新胜率榜
refreshData(row, rate_list, take_win_times)
#更新胜场榜
refreshData(row, win_list, take_game_times)
temp_idx = int(row[8]) temp_idx = int(row[8])
if (temp_idx > last_idx) : if (temp_idx > last_idx) :
last_idx = int(row[8]) last_idx = int(row[8])
@ -204,19 +204,28 @@ def readMysqlData(rushtime):
cursor = conn.cursor() cursor = conn.cursor()
last_idx = 0 last_idx = 0
temp_idx = 0 temp_idx = 0
flag = 0 kill_flag = 0
alive_flag = 0
harm_flag = 0
rate_flag = 0
win_flag = 0
data = ''
while 1: while 1:
cursor.execute('SELECT accountid, user_name, avatar_url, kills, alive_time,' cursor.execute('SELECT accountid, user_name, avatar_url, kills, alive_time,'
' harm, win_times, game_times, idx, modify_time FROM user ' ' harm, win_times, game_times, idx, modify_time FROM user '
' WHERE modify_time > %s AND idx > %s LIMIT 0, 1000' % (time.time() - 300, last_idx)) ' WHERE modify_time > %s AND idx > %s LIMIT 0, 1000' % (time.time() - 300, last_idx))
has_data = False has_data = False
for row in cursor: for row in cursor:
for rowKill in kill_list: #更新击杀榜
if (rowKill[0] == row[0]): refreshData(row, kill_list, take_kills)
flag = 1 #更新生存榜
break refreshData(row, alive_list, take_alive_time)
if (flag != 1): #更新伤害榜
refreshData(row, kill_list, alive_list, harm_list, rate_list, win_list) refreshData(row, harm_list, take_harms)
#更新胜率榜
refreshData(row, rate_list, take_win_times)
#更新胜场榜
refreshData(row, win_list, take_game_times)
temp_idx = int(row[8]) temp_idx = int(row[8])
if (temp_idx > last_idx) : if (temp_idx > last_idx) :
last_idx = int(row[8]) last_idx = int(row[8])