diff --git a/app/chain/message.py b/app/chain/message.py index 57be91cf..77e035a6 100644 --- a/app/chain/message.py +++ b/app/chain/message.py @@ -295,6 +295,8 @@ class MessageChain(ChainBase): return else: best_version = True + # 转换用户名 + mp_name = self.useroper.get_name(**{f"{source}_userid": userid}) # 添加订阅,状态为N self.subscribechain.add(title=mediainfo.title, year=mediainfo.year, @@ -304,7 +306,7 @@ class MessageChain(ChainBase): channel=channel, source=source, userid=userid, - username=username, + username=mp_name or username, best_version=best_version) elif cache_type == "Torrent": if int(text) == 0: @@ -505,6 +507,8 @@ class MessageChain(ChainBase): note = downloaded else: note = None + # 转换用户名 + mp_name = self.useroper.get_name(**{f"{source}_userid": userid}) # 添加订阅,状态为R self.subscribechain.add(title=_current_media.title, year=_current_media.year, @@ -514,7 +518,7 @@ class MessageChain(ChainBase): channel=channel, source=source, userid=userid, - username=username, + username=mp_name or username, state="R", note=note) diff --git a/app/db/user_oper.py b/app/db/user_oper.py index 25f7a392..4331a185 100644 --- a/app/db/user_oper.py +++ b/app/db/user_oper.py @@ -96,3 +96,16 @@ class UserOper(DbOper): if settings: return settings.get(key) return None + + def get_name(self, **kwargs) -> Optional[str]: + """ + 根据绑定账号获取用户名称 + """ + users = self.list() + for user in users: + user_setting = user.settings + if user_setting: + for k, v in kwargs.items(): + if user_setting.get(k) == v: + return user.name + return None