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

@@ -22,6 +22,7 @@ from rank.reward_services import (
)
from users.business_models import User
from users.models import UserDashou, UserShangjia
from rank.display_utils import load_rank_nicknames
logger = logging.getLogger(__name__)
@@ -41,16 +42,8 @@ def _resolve_club_id(request, data_club_id=''):
def _load_display_maps(yonghuids, shenfen):
users = User.objects.filter(UserUID__in=yonghuids)
nick_map = {u.UserUID: (u.UserName or u.Phone or u.UserUID) for u in users}
nick_map = load_rank_nicknames(shenfen, yonghuids)
avatar_map = {u.UserUID: u.Avatar 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
return nick_map, avatar_map