From 4db13c67324592bed3131e31ed27d04150d485d1 Mon Sep 17 00:00:00 2001 From: ClovertaTheTrilobita Date: Thu, 23 Jan 2025 21:14:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E5=A4=8D=E6=96=B0=E7=94=A8=E6=88=B7?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=B7=BB=E5=8A=A0=E5=BE=85=E5=8A=9E=E7=9A=84?= =?UTF-8?q?bug=20=E4=BF=AE=E5=A4=8D=E7=94=A8=E6=88=B7=E8=BE=93=E5=85=A5?= =?UTF-8?q?=E4=B8=BA=E7=A9=BA=E4=BB=8D=E7=84=B6=E6=96=B0=E5=BB=BA=E5=BE=85?= =?UTF-8?q?=E5=8A=9E=E7=9A=84bug?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/my_sqlite/models/to_do.py | 36 +++++++++++++++++++++++++++++++++-- src/qq_plugins/to_do.py | 7 +++++-- 2 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/my_sqlite/models/to_do.py b/src/my_sqlite/models/to_do.py index f5e4ec2..37042e5 100644 --- a/src/my_sqlite/models/to_do.py +++ b/src/my_sqlite/models/to_do.py @@ -35,18 +35,26 @@ class ToDoList(Model): return False @classmethod - async def insert_todo_list(cls, user_id: str | None, content: str | None): + async def insert_todo_list(cls, user_id: str | None, content: str | None) -> bool: + + is_user = await UserList.get_user_data(user_id) + if not is_user: + await UserList.insert_user(user_id) + + if content.lstrip(" ") == "": + return False data = { "user_id": user_id, "content": content } await cls.create(**data) + return True @classmethod async def delete_user_todo(cls, user_id: str | None, del_line_num: int | None) -> int: todo_table = await cls._get_data(user_id) - if todo_table is None: + if not todo_table: return -1 max_length = len(todo_table) @@ -58,3 +66,27 @@ class ToDoList(Model): return 0 +class UserList(Model): + user_id = fields.CharField(max_length=100, description="用户member_openid") + + class Meta: + table = "user_list" + table_description = "用户表" + + @classmethod + async def get_user_data(cls, user_id: str | None) -> list | None: + if not user_id: + print("用户id为空") + else: + return ( + await cls.filter(user_id=user_id).order_by("id").values_list("user_id") + ) + + + @classmethod + async def insert_user(cls, user_id: str | None): + data = { + "user_id": user_id + } + await cls.create(**data) + diff --git a/src/qq_plugins/to_do.py b/src/qq_plugins/to_do.py index d996935..f6bba20 100644 --- a/src/qq_plugins/to_do.py +++ b/src/qq_plugins/to_do.py @@ -34,8 +34,11 @@ async def insert_todo_list(message: MessageEvent): member_openid = message.get_user_id() content = message.get_plaintext().replace("/新建待办", "").strip(" ") # insert_user_todo_list(member_openid, content) - await ToDoList.insert_todo_list(member_openid, content) - await insert_todo.finish("成功添加待办,今后也要加油哦(ง •_•)ง") + success = await ToDoList.insert_todo_list(member_openid, content) + if success: + await insert_todo.finish("成功添加待办,今后也要加油哦(ง •_•)ง") + else: + await insert_todo.finish("\n请输入 /新建待办+待办内容 哦") delete_todo = on_command("删除待办", rule=to_me(), priority=10, block=True)