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
#刷新数据
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])
alive_time = safeDiv(row[4], row[7])
harm = safeDiv(row[5], 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]))
kill_list.sort(key=take_kills, reverse=True)
if (len(kill_list) > 50):
del kill_list[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:]
list_info.append((row[0], row[1].decode('utf-8'), row[2], kill, alive_time, harm, win_times, row[6]))
list_info.sort(key=key_info, reverse=True)
if (len(list_info) > 50):
del list_info[50:]
#更新排行榜
def updateRank(r, kill_list, alive_list, harm_list, rate_list, win_list):
@ -145,7 +137,15 @@ def dayReadMysqlData(rushtime):
has_data = False
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])
if (temp_idx > last_idx) :
last_idx = int(row[8])
@ -204,22 +204,31 @@ def readMysqlData(rushtime):
cursor = conn.cursor()
last_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:
cursor.execute('SELECT accountid, user_name, avatar_url, kills, alive_time,'
' 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))
has_data = False
for row in cursor:
for rowKill in kill_list:
if (rowKill[0] == row[0]):
flag = 1
break
if (flag != 1):
refreshData(row, kill_list, alive_list, harm_list, rate_list, win_list)
temp_idx = int(row[8])
if (temp_idx > last_idx) :
last_idx = int(row[8])
#更新击杀榜
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])
if (temp_idx > last_idx) :
last_idx = int(row[8])
if not has_data:
break