2022-10-15 19:49:53 +08:00
|
|
|
|
from datetime import datetime
|
|
|
|
|
|
|
|
|
|
|
|
from services.db_context import db
|
|
|
|
|
|
|
|
|
|
|
|
|
2022-10-15 21:21:23 +08:00
|
|
|
|
class UserShopGoldLog(db.Model):
|
|
|
|
|
|
__tablename__ = "user_shop_gold_log"
|
2022-10-15 19:49:53 +08:00
|
|
|
|
id = db.Column(db.Integer(), primary_key=True)
|
|
|
|
|
|
user_qq = db.Column(db.BigInteger(), nullable=False)
|
|
|
|
|
|
group_id = db.Column(db.BigInteger(), nullable=False)
|
2022-10-15 21:21:23 +08:00
|
|
|
|
type = db.Column(db.Integer(), nullable=False) # 0: 购买,1: 使用,2: 插件
|
|
|
|
|
|
name = db.Column(db.String())
|
2022-10-15 19:49:53 +08:00
|
|
|
|
spend_gold = db.Column(db.Integer(), nullable=False)
|
|
|
|
|
|
num = db.Column(db.Integer(), nullable=False)
|
|
|
|
|
|
create_time = db.Column(db.DateTime(timezone=True), nullable=False)
|
|
|
|
|
|
|
|
|
|
|
|
@classmethod
|
|
|
|
|
|
async def add_shop_log(
|
|
|
|
|
|
cls,
|
|
|
|
|
|
user_qq: int,
|
|
|
|
|
|
group_id: int,
|
|
|
|
|
|
type_: int,
|
2022-10-15 21:21:23 +08:00
|
|
|
|
name: str,
|
2022-10-15 19:49:53 +08:00
|
|
|
|
num: int,
|
|
|
|
|
|
spend_gold: int = 0,
|
|
|
|
|
|
):
|
|
|
|
|
|
"""
|
|
|
|
|
|
说明:
|
|
|
|
|
|
添加商店购买或使用日志
|
|
|
|
|
|
参数:
|
|
|
|
|
|
:param user_qq: qq号
|
|
|
|
|
|
:param group_id: 所在群号
|
|
|
|
|
|
:param type_: 类型
|
2022-10-15 21:21:23 +08:00
|
|
|
|
:param name: 商品名称
|
2022-10-15 19:49:53 +08:00
|
|
|
|
:param num: 数量
|
|
|
|
|
|
:param spend_gold: 花费金币
|
|
|
|
|
|
"""
|
|
|
|
|
|
await cls.create(
|
|
|
|
|
|
user_qq=user_qq,
|
|
|
|
|
|
group_id=group_id,
|
|
|
|
|
|
type=type_,
|
2022-10-15 21:21:23 +08:00
|
|
|
|
name=name,
|
2022-10-15 19:49:53 +08:00
|
|
|
|
num=num,
|
|
|
|
|
|
spend_gold=spend_gold,
|
|
|
|
|
|
create_time=datetime.now(),
|
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
|
|
@classmethod
|
2022-10-15 21:21:23 +08:00
|
|
|
|
async def get_user_log(cls, user_qq: int, group_id: int) -> "UserShopGoldLog":
|
2022-10-15 19:49:53 +08:00
|
|
|
|
"""
|
|
|
|
|
|
说明:
|
|
|
|
|
|
获取用户日志
|
|
|
|
|
|
参数:
|
|
|
|
|
|
:param user_qq: qq号
|
|
|
|
|
|
:param group_id: 所在群号
|
|
|
|
|
|
"""
|
|
|
|
|
|
return await cls.query.where(
|
|
|
|
|
|
(cls.user_qq == user_qq) & (cls.group_qq == group_id)
|
|
|
|
|
|
).first()
|