diff --git a/main.py b/main.py index f0cd5c5..936f250 100644 --- a/main.py +++ b/main.py @@ -234,6 +234,43 @@ class MyPlugin(Star): conn.close() + @filter.command("时长成就排行") + async def timerank(self, event: AstrMessageEvent): + conn=pymysql.connect(host = '192.168.31.9' # 连接名称,默认 + ,user = 'saipo' + ,passwd='Grasste0403' # 密码 + ,port= 3306 # 端口,默认为3306 + ,db='saipo' # 数据库名称 + ,charset='utf8' # 字符编码 + ) + cur = conn.cursor() + sql = "SELECT du.uid, du.nameid, t.max_timelong, MAX(dj.eventTime) AS eventTime FROM dajiaouser du LEFT JOIN (SELECT openid, MAX(timelong) AS max_timelong FROM dajiao GROUP BY openid) t ON du.openid = t.openid LEFT JOIN dajiao dj ON du.openid = dj.openid AND t.max_timelong = dj.timelong GROUP BY du.uid, du.nameid, t.max_timelong;" + cur.execute(sql) + date = cur.fetchall() + ranklist = [] + for i in range(len(date)): + ranklist.append((date[i][0], date[i][1], date[i][2], date[i][3])) + ranklist.sort(key=lambda x: x[2], reverse=True) + ranklist_str = "时长最长排名\n" + for i in range(len(ranklist)): + ranklist_str += f"{i+1} uid:{ranklist[i][0]} {ranklist[i][1]} 最长时长:{ranklist[i][2]}ml 打胶时间:{ranklist[i][3]}\n" + ranklist_str += "\n" + + sql2 = "SELECT du.uid, du.nameid, t.min_timelong, MAX(dj.eventTime) AS eventTime FROM dajiaouser du LEFT JOIN (SELECT openid, MIN(timelong) AS min_timelong FROM dajiao GROUP BY openid) t ON du.openid = t.openid LEFT JOIN dajiao dj ON du.openid = dj.openid AND t.min_timelong = dj.timelong GROUP BY du.uid, du.nameid, t.min_timelong;" + cur.execute(sql2) + date2 = cur.fetchall() + ranklist2 = [] + for i in range(len(date2)): + ranklist2.append((date2[i][0], date2[i][1], date2[i][2], date2[i][3])) + ranklist2.sort(key=lambda x: x[2]) + ranklist_str += "时长最短排名\n" + for i in range(len(ranklist2)): + ranklist_str += f"{i+1} uid:{ranklist2[i][0]} {ranklist2[i][1]} 最短时长:{ranklist2[i][2]}ml 打胶时间:{ranklist2[i][3]}\n" + yield event.plain_result(ranklist_str) + cur.close() + conn.close() + + testNumber = 0 @filter.command("测试") async def test(self, event: AstrMessageEvent):