fix: 排行榜昵称与管事/组长统计字段对齐

管事/组长不再展示 openid,改读业务昵称;俱乐部榜补充无效/有效邀请与收益字段;管事按有效人数、组长按收益总额排序。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-07 21:49:36 +08:00
parent bfd5a63cb4
commit 1e3d65e0e4
5 changed files with 168 additions and 93 deletions

View File

@@ -19,6 +19,7 @@ from backend.models import (
)
from users.models import UserDashou, UserShangjia, UserGuanshi, UserZuzhang
from users.business_models import User
from rank.display_utils import load_rank_nicknames
logger = logging.getLogger(__name__)
@@ -96,18 +97,18 @@ TODAY_PROFILE_CONFIG = {
'profile_model': UserGuanshi,
'profile_sort_field': 'jinrichongzhi',
'field_map': {
'InvitedPlayerCount': None,
'InvitedPlayerCount': 'yaogingshuliang',
'RechargedPlayerCount': 'jinrichongzhi',
'TotalIncome': None,
'TotalIncome': 'chongzhifenrun',
},
},
'zuzhang': {
'profile_model': UserZuzhang,
'profile_sort_field': 'jinri_fenyong',
'profile_sort_field': 'fenyong_zonge',
'field_map': {
'InvitedManagerCount': None,
'InvitedManagerCount': 'yaoqing_zongshu',
'CommissionAmount': 'jinri_fenyong',
'TotalIncome': 'jinri_fenyong',
'TotalIncome': 'fenyong_zonge',
},
},
'shangjia': {
@@ -313,16 +314,5 @@ class PhbHqsjView(APIView):
users = User.objects.filter(UserUID__in=yonghuids)
avatar_map = {u.UserUID: u.Avatar or '' for u in users}
nick_map = {u.UserUID: u.UserName or u.Phone or '用户' for u in users}
if shenfen == 'dashou':
for p in UserDashou.objects.filter(user__UserUID__in=yonghuids).select_related('user'):
if p.nicheng:
nick_map[p.user.UserUID] = p.nicheng
elif shenfen == 'shangjia':
for p in UserShangjia.objects.filter(user__UserUID__in=yonghuids).select_related('user'):
if p.nicheng:
nick_map[p.user.UserUID] = p.nicheng
nick_map = load_rank_nicknames(shenfen, yonghuids)
return nick_map, avatar_map