🎨 代码优化

This commit is contained in:
HibiKier 2024-08-16 19:54:58 +08:00
parent 23bfaa530b
commit 369451c4a5
5 changed files with 32 additions and 7 deletions

View File

@ -16,6 +16,7 @@ require("nonebot_plugin_apscheduler")
require("nonebot_plugin_alconna")
require("nonebot_plugin_session")
require("nonebot_plugin_userinfo")
require("nonebot_plugin_htmlrender")
import nonebot

View File

@ -90,6 +90,7 @@ class MemberUpdateManage:
group_member_list = await bot.get_group_member_list(group_id=int(group_id))
db_user = await GroupInfoUser.filter(group_id=group_id).all()
db_user_uid = [u.user_id for u in db_user]
uid2name = {u.user_id: u.user_name for u in db_user}
create_list = []
update_list = []
delete_list = []
@ -116,8 +117,9 @@ class MemberUpdateManage:
if cnt > 1:
for u in users[1:]:
delete_list.append(u.id)
user.user_name = nickname
update_list.append(user)
if nickname != uid2name.get(user_id):
user.user_name = nickname
update_list.append(user)
else:
create_list.append(
GroupInfoUser(
@ -129,9 +131,6 @@ class MemberUpdateManage:
)
)
exist_member_list.append(user_id)
logger.debug(
"更新成功", "更新群组成员信息", session=user_id, group_id=group_id
)
if create_list:
await GroupInfoUser.bulk_create(create_list, 30)
logger.debug(

View File

@ -163,7 +163,7 @@ class SignManage:
gift = f"额外金币 +{gift}"
else:
await UserConsole.add_gold(user.user_id, gold, "sign_in", session.platform)
await UserConsole.add_props(user.user_id, gift, 1, session.platform)
await UserConsole.add_props_by_name(user.user_id, gift, 1, session.platform)
gift += " + 1"
logger.info(
f"签到成功. score: {user.impression:.2f} "

View File

@ -2,9 +2,10 @@ from typing import Dict
from tortoise import fields
from zhenxun.models.goods_info import GoodsInfo
from zhenxun.services.db_context import Model
from zhenxun.utils.enum import GoldHandle
from zhenxun.utils.exception import InsufficientGold
from zhenxun.utils.exception import GoodsNotFound, InsufficientGold
from .user_gold_log import UserGoldLog
@ -138,3 +139,19 @@ class UserConsole(Model):
user.props[goods_uuid] = 0
user.props[goods_uuid] += num
await user.save(update_fields=["props"])
@classmethod
async def add_props_by_name(
cls, user_id: str, name: str, num: int = 1, platform: str | None = None
):
"""添加道具
参数:
user_id: 用户id
name: 道具名称
num: 道具数量.
platform: 平台.
"""
if goods := await GoodsInfo.get_or_none(goods_name=name):
return await cls.add_props(user_id, goods.uuid, num, platform)
raise GoodsNotFound("未找到商品...")

View File

@ -44,3 +44,11 @@ class NotFindSuperuser(Exception):
"""
pass
class GoodsNotFound(Exception):
"""
或找到道具
"""
pass