fix: 体验/总会员抢单池显示与接单权限
统一 clumber 返回 huiyuanid 并展开总会员子类型;抢单池接口对已具备会员权限的用户将 yaoqiuleixing 置 0,使小程序无需发版即可正常显示分佣并抢单。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -296,6 +296,9 @@ class DashouDingdanHuoquView(APIView):
|
||||
club_id = resolve_effective_club_id(request, getattr(request, 'user', None))
|
||||
identity_tag_map = batch_identity_tags(club_id, identity_pairs) if identity_pairs else {}
|
||||
|
||||
from jituan.services.huiyuan_bundle import user_has_huiyuan_access, build_user_clumber
|
||||
yonghuid = request.user.UserUID
|
||||
|
||||
# 12. 格式化返回数据
|
||||
formatted_list = []
|
||||
for order in dingdan_list:
|
||||
@@ -303,6 +306,14 @@ class DashouDingdanHuoquView(APIView):
|
||||
zid = order.get('AssignedID')
|
||||
info = zhiding_info.get(zid, {})
|
||||
sj_uid = shangjia_id_map.get(oid) if order['Platform'] == 2 else None
|
||||
grab_req = order['GrabRequirement'] or 0
|
||||
membership_id = order['MembershipID'] or ''
|
||||
display_grab_req = grab_req
|
||||
if grab_req == 1 and membership_id:
|
||||
if user_has_huiyuan_access(yonghuid, membership_id, club_id=club_id):
|
||||
# 前端用 yaoqiuleixing==1 判断是否展示「未开通会员」;
|
||||
# 用户已有权接单时置 0,无需改小程序即可正常显示与抢单。
|
||||
display_grab_req = 0
|
||||
formatted_list.append({
|
||||
'dingdan_id': order['OrderID'],
|
||||
'zhuangtai': order['Status'],
|
||||
@@ -310,8 +321,8 @@ class DashouDingdanHuoquView(APIView):
|
||||
'dashou_fencheng': float(order['PlayerCommission']) if order['PlayerCommission'] else 0.0,
|
||||
'leixing_id': order['ProductTypeID'] or 0,
|
||||
'tupian': order['ImageURL'] or '',
|
||||
'yaoqiuleixing': order['GrabRequirement'] or 0,
|
||||
'huiyuan_id': order['MembershipID'] or '',
|
||||
'yaoqiuleixing': display_grab_req,
|
||||
'huiyuan_id': membership_id if display_grab_req == 1 else '',
|
||||
'yajin': float(order['CommissionReq']) if order['CommissionReq'] else 0.0,
|
||||
'jieshao': order['Description'] or '',
|
||||
'beizhu': order['Remark'] or '',
|
||||
@@ -348,6 +359,7 @@ class DashouDingdanHuoquView(APIView):
|
||||
'current_page': page,
|
||||
'page_size': page_size,
|
||||
'total_pages': (total + page_size - 1) // page_size,
|
||||
'clumber': build_user_clumber(yonghuid),
|
||||
}
|
||||
})
|
||||
|
||||
|
||||
Reference in New Issue
Block a user