Config提供type字段确定配置项类型

This commit is contained in:
HibiKier
2023-02-26 22:17:26 +08:00
parent a63fda8a0d
commit 8133b61ebd
53 changed files with 1589 additions and 1000 deletions
-2
View File
@@ -1,2 +0,0 @@
from .open_cases_user import *
from .buff_prices import *
+50
View File
@@ -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
+22 -16
View File
@@ -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"""