From fcb2f5364e56a1761c2837dd106249250aa12626 Mon Sep 17 00:00:00 2001 From: XingQue Date: Mon, 27 Jul 2026 07:22:19 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E7=BB=84=E9=98=9F=E5=A4=A7=E5=8E=85?= =?UTF-8?q?=E8=BF=94=E5=9B=9E=E5=95=86=E5=AE=B6UID/=E5=A4=B4=E5=83=8F?= =?UTF-8?q?=E4=B8=8E=E9=98=9F=E9=95=BF=E5=A4=B4=E5=83=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit serialize_recruit_public 对齐抢单池补 shangjia_id、sj_avatar、leader_avatar。 Co-authored-by: Cursor --- orders/services/team_recruit.py | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/orders/services/team_recruit.py b/orders/services/team_recruit.py index 7ab5c95..b53ccf9 100644 --- a/orders/services/team_recruit.py +++ b/orders/services/team_recruit.py @@ -654,7 +654,10 @@ def serialize_recruit_public(rec, order=None, *, include_game_ids=False) -> dict 'jieshao': (order.Description or '') if order else '', 'tupian': (order.ImageURL or '') if order else '', 'order_zhuangtai': getattr(order, 'Status', None) if order else None, + 'shangjia_id': '', 'shangjia_nicheng': '', + 'sj_avatar': '', + 'leader_avatar': '', 'leader_deal_stat': None, } if order: @@ -662,7 +665,24 @@ def serialize_recruit_public(rec, order=None, *, include_game_ids=False) -> dict if order.Platform == 2: try: ext = order.shangjia_kuozhan + sj_uid = (ext.MerchantID or '').strip() + data['shangjia_id'] = sj_uid data['shangjia_nicheng'] = ext.MerchantNickname or '' + # 对齐抢单池:商家头像取 User.Avatar + if sj_uid: + try: + sj_user = User.query.filter(UserUID=sj_uid).first() + if sj_user: + data['sj_avatar'] = getattr(sj_user, 'Avatar', None) or '' + if not data['shangjia_nicheng']: + try: + boss = getattr(sj_user, 'BossProfile', None) + if boss and getattr(boss, 'nickname', None): + data['shangjia_nicheng'] = boss.nickname + except Exception: + pass + except Exception: + pass except Exception: pass # 自动结算字段:仅锁定且订单结算中 @@ -671,8 +691,10 @@ def serialize_recruit_public(rec, order=None, *, include_game_ids=False) -> dict try: u = User.query.filter(UserUID=rec.leader_uid).select_related('DashouProfile').first() - if u and getattr(u, 'DashouProfile', None): - data['leader_nicheng'] = u.DashouProfile.nicheng or '' + if u: + data['leader_avatar'] = getattr(u, 'Avatar', None) or '' + if getattr(u, 'DashouProfile', None): + data['leader_nicheng'] = u.DashouProfile.nicheng or '' except Exception: pass