mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-03 19:00:00 +08:00
Config提供type字段确定配置项类型
This commit is contained in:
@@ -1,2 +0,0 @@
|
||||
from .open_cases_user import *
|
||||
from .buff_prices import *
|
||||
|
||||
@@ -0,0 +1,50 @@
|
||||
import random
|
||||
from typing import List, Optional
|
||||
|
||||
from tortoise import fields
|
||||
from tortoise.contrib.postgres.functions import Random
|
||||
|
||||
from services.db_context import Model
|
||||
|
||||
|
||||
class BuffSkin(Model):
|
||||
|
||||
id = fields.IntField(pk=True, generated=True, auto_increment=True)
|
||||
"""自增id"""
|
||||
case_name = fields.CharField(255)
|
||||
"""箱子名称"""
|
||||
name = fields.CharField(255)
|
||||
"""武器/手套/刀名称"""
|
||||
skin_name = fields.CharField(255)
|
||||
"""皮肤名称"""
|
||||
is_stattrak = fields.BooleanField(default=False)
|
||||
"""是否暗金(计数)"""
|
||||
abrasion = fields.CharField(255)
|
||||
"""磨损度"""
|
||||
color = fields.CharField(255)
|
||||
"""颜色(品质)"""
|
||||
skin_price = fields.FloatField(default=0)
|
||||
"""皮肤价格"""
|
||||
create_time = fields.DatetimeField(auto_add_now=True)
|
||||
"""创建日期"""
|
||||
update_time = fields.DatetimeField(auto_add=True)
|
||||
"""更新日期"""
|
||||
|
||||
class Meta:
|
||||
table = "buff_skin"
|
||||
table_description = "Buff皮肤数据表"
|
||||
|
||||
@classmethod
|
||||
async def random_skin(
|
||||
cls,
|
||||
num: int,
|
||||
color: str,
|
||||
abrasion: str,
|
||||
is_stattrak: bool = False,
|
||||
case_name: Optional[str] = None,
|
||||
) -> List["BuffSkin"]:
|
||||
query = cls
|
||||
if case_name:
|
||||
query = query.filter(case_name=case_name)
|
||||
query = query.filter(abrasion=abrasion, is_stattrak=is_stattrak, color=color)
|
||||
return await query.annotate(rand=Random()).limit(num) # type:ignore
|
||||
@@ -4,7 +4,6 @@ from services.db_context import Model
|
||||
|
||||
|
||||
class OpenCasesUser(Model):
|
||||
__tablename__ = "open_cases_users"
|
||||
|
||||
id = fields.IntField(pk=True, generated=True, auto_increment=True)
|
||||
"""自增id"""
|
||||
@@ -12,40 +11,47 @@ class OpenCasesUser(Model):
|
||||
"""用户id"""
|
||||
group_id = fields.BigIntField()
|
||||
"""群聊id"""
|
||||
total_count = fields.IntField(default=0)
|
||||
total_count: int = fields.IntField(default=0)
|
||||
"""总开启次数"""
|
||||
blue_count = fields.IntField(default=0)
|
||||
blue_count: int = fields.IntField(default=0)
|
||||
"""蓝色"""
|
||||
blue_st_count = fields.IntField(default=0)
|
||||
blue_st_count: int = fields.IntField(default=0)
|
||||
"""蓝色暗金"""
|
||||
purple_count = fields.IntField(default=0)
|
||||
purple_count: int = fields.IntField(default=0)
|
||||
"""紫色"""
|
||||
purple_st_count = fields.IntField(default=0)
|
||||
purple_st_count: int = fields.IntField(default=0)
|
||||
"""紫色暗金"""
|
||||
pink_count = fields.IntField(default=0)
|
||||
pink_count: int = fields.IntField(default=0)
|
||||
"""粉色"""
|
||||
pink_st_count = fields.IntField(default=0)
|
||||
pink_st_count: int = fields.IntField(default=0)
|
||||
"""粉色暗金"""
|
||||
red_count = fields.IntField(default=0)
|
||||
red_count: int = fields.IntField(default=0)
|
||||
"""紫色"""
|
||||
red_st_count = fields.IntField(default=0)
|
||||
red_st_count: int = fields.IntField(default=0)
|
||||
"""紫色暗金"""
|
||||
knife_count = fields.IntField(default=0)
|
||||
knife_count: int = fields.IntField(default=0)
|
||||
"""金色"""
|
||||
knife_st_count = fields.IntField(default=0)
|
||||
knife_st_count: int = fields.IntField(default=0)
|
||||
"""金色暗金"""
|
||||
spend_money = fields.IntField(default=0)
|
||||
spend_money: int = fields.IntField(default=0)
|
||||
"""花费金币"""
|
||||
make_money = fields.IntField(default=0)
|
||||
make_money: float = fields.FloatField(default=0)
|
||||
"""赚取金币"""
|
||||
today_open_total = fields.IntField(default=0)
|
||||
today_open_total: int = fields.IntField(default=0)
|
||||
"""今日开箱数量"""
|
||||
open_cases_time_last = fields.DatetimeField()
|
||||
"""最后开箱日期"""
|
||||
knifes_name = fields.TextField(default="")
|
||||
knifes_name: str = fields.TextField(default="")
|
||||
"""已获取金色"""
|
||||
|
||||
class Meta:
|
||||
table = "open_cases_users"
|
||||
table_description = "开箱统计数据表"
|
||||
unique_together = ("user_qq", "group_id")
|
||||
|
||||
@classmethod
|
||||
async def _run_script(cls):
|
||||
await cls.raw(
|
||||
"alter table open_cases_users alter COLUMN make_money type float;"
|
||||
)
|
||||
"""将make_money字段改为float"""
|
||||
|
||||
Reference in New Issue
Block a user