mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
🐛 fix bug
This commit is contained in:
parent
198386e500
commit
117eb86e8c
@ -24,7 +24,7 @@ async def generate_skin(skin: BuffSkin, update_count: int) -> Optional[BuildImag
|
||||
Optional[BuildImage]: 图片
|
||||
"""
|
||||
name = skin.name + "-" + skin.skin_name + "-" + skin.abrasion
|
||||
file_path = BASE_PATH / cn2py(skin.case_name) / f"{cn2py(name)}.jpg"
|
||||
file_path = BASE_PATH / cn2py(skin.case_name.split(",")[0]) / f"{cn2py(name)}.jpg"
|
||||
if not file_path.exists():
|
||||
logger.warning(f"皮肤图片: {name} 不存在", "查看武器箱")
|
||||
return None
|
||||
|
||||
@ -58,8 +58,6 @@ def add_count(user: OpenCasesUser, skin: BuffSkin, case_price: float):
|
||||
user.knife_st_count += 1
|
||||
else:
|
||||
user.knife_count += 1
|
||||
user.today_open_total += 1
|
||||
user.total_count += 1
|
||||
user.make_money += skin.sell_min_price
|
||||
user.spend_money += 17 + case_price
|
||||
|
||||
@ -119,6 +117,9 @@ async def open_case(user_qq: int, group_id: int, case_name: str) -> Union[str, M
|
||||
case_price = 0
|
||||
if case_skin := await BuffSkin.get_or_none(case_name=case_name, color="CASE"):
|
||||
case_price = case_skin.sell_min_price
|
||||
user.today_open_total += 1
|
||||
user.total_count += 1
|
||||
await user.save(update_fields=["today_open_total", "total_count"])
|
||||
add_count(user, skin, case_price)
|
||||
ridicule_result = random.choice(RESULT_MESSAGE[skin.color])
|
||||
price_result = skin.sell_min_price
|
||||
@ -205,6 +206,9 @@ async def open_multiple_case(
|
||||
total_price = 0
|
||||
log_list = []
|
||||
now = datetime.now()
|
||||
user.today_open_total += num
|
||||
user.total_count += num
|
||||
await user.save(update_fields=["today_open_total", "total_count"])
|
||||
case_price = 0
|
||||
if case_skin := await BuffSkin.get_or_none(case_name=case_name, color="CASE"):
|
||||
case_price = case_skin.sell_min_price
|
||||
|
||||
@ -50,7 +50,7 @@ class CaseManager:
|
||||
)
|
||||
|
||||
|
||||
async def update_skin_data(name: str, is_update_case_name: bool) -> str:
|
||||
async def update_skin_data(name: str, is_update_case_name: bool = False) -> str:
|
||||
"""更新箱子内皮肤数据
|
||||
|
||||
Args:
|
||||
@ -353,12 +353,12 @@ async def build_case_image(case_name: str) -> Union[BuildImage, str]:
|
||||
background_img = BuildImage(0, 0, background=CASE_BACKGROUND / background)
|
||||
if case_name:
|
||||
log_list = (
|
||||
await BuffSkinLog.filter(case_name=case_name)
|
||||
await BuffSkinLog.filter(case_name__contains=case_name)
|
||||
.annotate(count=Count("id"))
|
||||
.group_by("skin_name")
|
||||
.values_list("skin_name", "count")
|
||||
)
|
||||
skin_list_ = await BuffSkin.filter(case_name=case_name).all()
|
||||
skin_list_ = await BuffSkin.filter(case_name__contains=case_name).all()
|
||||
skin2count = {item[0]: item[1] for item in log_list}
|
||||
case = None
|
||||
skin_list: List[BuffSkin] = []
|
||||
@ -373,7 +373,7 @@ async def build_case_image(case_name: str) -> Union[BuildImage, str]:
|
||||
exists_name.append(name)
|
||||
generate_img = {}
|
||||
for skin in skin_list:
|
||||
skin_img = await generate_skin(skin, skin2count[skin.skin_name])
|
||||
skin_img = await generate_skin(skin, skin2count.get(skin.skin_name, 0))
|
||||
if skin_img:
|
||||
if not generate_img.get(skin.color):
|
||||
generate_img[skin.color] = []
|
||||
|
||||
Loading…
Reference in New Issue
Block a user