from django.forms.models import model_to_dict
from utils.rpc import get_rpc_invoker, logging_exception
from user_hierarchy.models import UserGrowthValue
def sync_user_level(user_growth_ids: list):
"""同步用户等级到 gaia。"""
if not user_growth_ids or not isinstance(user_growth_ids, list):
return
users = UserGrowthValue.objects.filter(pk__in=user_growth_ids).values("user_id", "level")
if users:
# users = [model_to_dict(user) for user in users]
rpc_update_user_level(list(users))
def rpc_update_user_level(users: list):
"""rpc调用修改对应用户的等级。
users是一个字典列表。
例如:users = [
{'user_id': 1212, 'level': 2},
{'user_id': 5432, 'level': 3},
{'user_id': 5436, 'level': 3},
]
"""
try:
r = get_rpc_invoker()
r['api/user/update_level_list'](users_list=users).unwrap()
except:
logging_exception()
-
李小芳 authored20082ec7