From 0368b2f6e97e66936ea89f0537947f71574d10a5 Mon Sep 17 00:00:00 2001 From: Saipo Date: Thu, 8 May 2025 11:48:26 +0800 Subject: [PATCH] =?UTF-8?q?=E5=A2=9E=E5=8A=A0=E4=BA=A7=E9=87=8F=E6=8E=92?= =?UTF-8?q?=E8=A1=8C=E6=A6=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- back.py | 4 ++-- main.py | 41 ++++++++++++++++++++++++++++++++++++++++- 2 files changed, 42 insertions(+), 3 deletions(-) diff --git a/back.py b/back.py index 458bf41..f1e8bbf 100644 --- a/back.py +++ b/back.py @@ -59,8 +59,8 @@ def insertUser(openid): ,charset='utf8' ) cur = conn.cursor() - sql = "INSERT INTO dajiaouser (openid,nameid,baglist) VALUES (%s,%s,%s)ß" - cur.execute(sql, (openid,"小jb","{"baglist":[{"id":1,"num":1}]}")) + sql = "INSERT INTO dajiaouser (openid,nameid,baglist) VALUES (%s,%s,%s)" + cur.execute(sql, (openid,'小jb','{"baglist":[{"id":1,"num":1}]}')) conn.commit() cur.close() conn.close() diff --git a/main.py b/main.py index 064bbaf..1595789 100644 --- a/main.py +++ b/main.py @@ -162,8 +162,45 @@ class MyPlugin(Star): conn.close() yield event.plain_result(f"背包列表:\n{baglist_str}") - testNumber = 0 + @filter.command("产量成就排行") + async def volumerank(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_volume, MAX(dj.eventTime) AS eventTime FROM dajiaouser du LEFT JOIN (SELECT openid, MAX(volume) AS max_volume FROM dajiao GROUP BY openid) t ON du.openid = t.openid LEFT JOIN dajiao dj ON du.openid = dj.openid AND t.max_volume = dj.volume GROUP BY du.uid, du.nameid, t.max_volume;" + 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]} nameid:{ranklist[i][1]} 最高产量:{ranklist[i][2]}ml 打胶时间:{ranklist[i][3]}\n" + ranklist_str += "\n" + + sql2 = "SELECT du.uid, du.nameid, t.min_volume, MIN(dj.eventTime) AS eventTime FROM dajiaouser du LEFT JOIN (SELECT openid, MIN(volume) AS min_volume FROM dajiao GROUP BY openid) t ON du.openid = t.openid LEFT JOIN dajiao dj ON du.openid = dj.openid AND t.min_volume = dj.volume GROUP BY du.uid, du.nameid, t.min_volume;" + 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]} nameid:{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): global testNumber @@ -171,4 +208,6 @@ class MyPlugin(Star): yield event.plain_result(f"累积结果: {testNumber}") + +