优化开箱次数判断

This commit is contained in:
HibiKier
2022-07-23 14:09:17 +08:00
parent 62965fe1df
commit 1f01ba1d10
35 changed files with 511 additions and 507 deletions
+46 -46
View File
@@ -25,9 +25,9 @@ class Genshin(db.Model):
@classmethod
async def add_uid(cls, user_qq: int, uid: int):
"""
说明:
说明:
添加一个uid
参数:
参数:
:param user_qq: 用户qq
:param uid: 原神uid
"""
@@ -44,9 +44,9 @@ class Genshin(db.Model):
@classmethod
async def set_mys_id(cls, uid: int, mys_id: int) -> bool:
"""
说明:
说明:
设置米游社id
参数:
参数:
:param uid: 原神uid
:param mys_id: 米游社id
"""
@@ -60,9 +60,9 @@ class Genshin(db.Model):
@classmethod
async def set_bind_group(cls, uid: int, bind_group) -> bool:
"""
说明:
说明:
绑定group_id,除私聊外的提醒将在此群发送
参数:
参数:
:param uid: uid
:param bind_group: 群号
"""
@@ -76,9 +76,9 @@ class Genshin(db.Model):
@classmethod
async def get_bind_group(cls, uid: int) -> Optional[int]:
"""
说明:
说明:
获取用户绑定的群聊
参数:
参数:
:param uid: uid
"""
user = await cls.query.where(cls.uid == uid).gino.first()
@@ -89,9 +89,9 @@ class Genshin(db.Model):
@classmethod
async def set_cookie(cls, uid: int, cookie: str) -> bool:
"""
说明:
说明:
设置cookie
参数:
参数:
:param uid: 原神uid
:param cookie: 米游社id
"""
@@ -105,9 +105,9 @@ class Genshin(db.Model):
@classmethod
async def set_resin_remind(cls, uid: int, flag: bool) -> bool:
"""
说明:
说明:
设置体力提醒
参数:
参数:
:param uid: 原神uid
:param flag: 开关状态
"""
@@ -121,9 +121,9 @@ class Genshin(db.Model):
@classmethod
async def set_user_resin_recovery_time(cls, uid: int, date: datetime):
"""
说明:
说明:
设置体力完成时间
参数:
参数:
:param uid: uid
:param date: 提醒日期
"""
@@ -134,9 +134,9 @@ class Genshin(db.Model):
@classmethod
async def get_user_resin_recovery_time(cls, uid: int) -> Optional[datetime]:
"""
说明:
说明:
获取体力完成时间
参数:
参数:
:param uid: uid
"""
u = await cls.query.where(cls.uid == uid).gino.first()
@@ -147,7 +147,7 @@ class Genshin(db.Model):
@classmethod
async def get_all_resin_remind_user(cls) -> List["Genshin"]:
"""
说明:
说明:
获取所有开启体力提醒的用户
"""
return await cls.query.where(cls.resin_remind == True).gino.all()
@@ -155,9 +155,9 @@ class Genshin(db.Model):
@classmethod
async def clear_resin_remind_time(cls, uid: int) -> bool:
"""
说明:
说明:
清空提醒日期
参数:
参数:
:param uid: uid
"""
user = await cls.query.where(cls.uid == uid).gino.first()
@@ -169,9 +169,9 @@ class Genshin(db.Model):
@classmethod
async def set_auto_sign(cls, uid: int, flag: bool) -> bool:
"""
说明:
说明:
设置米游社/原神自动签到
参数:
参数:
:param uid: 原神uid
:param flag: 开关状态
"""
@@ -185,7 +185,7 @@ class Genshin(db.Model):
@classmethod
async def get_all_auto_sign_user(cls) -> List["Genshin"]:
"""
说明:
说明:
获取所有开启自动签到的用户
"""
return await cls.query.where(cls.auto_sign == True).gino.all()
@@ -193,7 +193,7 @@ class Genshin(db.Model):
@classmethod
async def get_all_sign_user(cls) -> List["Genshin"]:
"""
说明:
说明:
获取 原神 所有今日签到用户
"""
return await cls.query.where(cls.auto_sign_time != None).gino.all()
@@ -201,9 +201,9 @@ class Genshin(db.Model):
@classmethod
async def clear_sign_time(cls, uid: int) -> bool:
"""
说明:
说明:
清空签到日期
参数:
参数:
:param uid: uid
"""
user = await cls.query.where(cls.uid == uid).gino.first()
@@ -215,9 +215,9 @@ class Genshin(db.Model):
@classmethod
async def random_sign_time(cls, uid: int) -> Optional[datetime]:
"""
说明:
说明:
随机签到时间
说明:
说明:
:param uid: uid
"""
query = cls.query.where(cls.uid == uid).with_for_update()
@@ -245,9 +245,9 @@ class Genshin(db.Model):
@classmethod
async def get_query_cookie(cls, uid: int) -> Optional[str]:
"""
说明:
说明:
获取查询角色信息cookie
参数:
参数:
:param uid: 原神uid
"""
# 查找用户今日是否已经查找过,防止重复
@@ -265,9 +265,9 @@ class Genshin(db.Model):
@classmethod
async def get_user_cookie(cls, uid: int, flag: bool = False) -> Optional[str]:
"""
说明:
说明:
获取用户cookie
参数:
参数:
:param uid:原神uid
:param flag:必须使用自己的cookie
"""
@@ -279,9 +279,9 @@ class Genshin(db.Model):
@classmethod
async def get_user_by_qq(cls, user_qq: int) -> Optional["Genshin"]:
"""
说明:
说明:
通过qq获取用户对象
参数:
参数:
:param user_qq: qq
"""
return await cls.query.where(cls.user_qq == user_qq).gino.first()
@@ -289,9 +289,9 @@ class Genshin(db.Model):
@classmethod
async def get_user_by_uid(cls, uid: int) -> Optional["Genshin"]:
"""
说明:
说明:
通过uid获取用户对象
参数:
参数:
:param uid: qq
"""
return await cls.query.where(cls.uid == uid).gino.first()
@@ -299,9 +299,9 @@ class Genshin(db.Model):
@classmethod
async def get_user_uid(cls, user_qq: int) -> Optional[int]:
"""
说明:
说明:
获取用户uid
参数:
参数:
:param user_qq:用户qq
"""
return await cls._get_user_data(user_qq, None, "uid")
@@ -311,7 +311,7 @@ class Genshin(db.Model):
"""
说嘛:
获取用户米游社id
参数:
参数:
:param uid:原神id
"""
return await cls._get_user_data(None, uid, "mys_id")
@@ -319,9 +319,9 @@ class Genshin(db.Model):
@classmethod
async def delete_user_cookie(cls, uid: int):
"""
说明:
说明:
删除用户cookie
参数:
参数:
:param uid: 原神uid
"""
query = cls.query.where(cls.uid == uid).with_for_update()
@@ -332,9 +332,9 @@ class Genshin(db.Model):
@classmethod
async def delete_user(cls, user_qq: int):
"""
说明:
说明:
删除用户数据
参数:
参数:
:param user_qq: 用户qq
"""
query = cls.query.where(cls.user_qq == user_qq).with_for_update()
@@ -347,9 +347,9 @@ class Genshin(db.Model):
@classmethod
async def _add_query_uid(cls, uid: int, cookie_uid: int):
"""
说明:
说明:
添加每日查询重复uid的cookie
参数:
参数:
:param uid: 原神uid
:param cookie_uid: cookie的uid
"""
@@ -362,9 +362,9 @@ class Genshin(db.Model):
cls, user_qq: Optional[int], uid: Optional[int], type_: str
) -> Optional[Union[int, str]]:
"""
说明:
说明:
获取用户数据
参数:
参数:
:param user_qq: 用户qq
:param uid: uid
:param type_: 数据类型