feat: 打手订单列表组队标记,队友也可看单;详情返回队友昵称
列表附 has_team/角色/人数;组队在队成员纳入订单列表查询。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -663,8 +663,29 @@ class DashouDingdanHuoquView1(APIView):
|
||||
|
||||
# 4. 构建查询条件
|
||||
try:
|
||||
# 基础条件:当前打手接单
|
||||
query = Q(PlayerID=yonghuid)
|
||||
# 基础条件:本人接单 或 本俱乐部组队在队成员(队友也能在订单列表看到)
|
||||
from orders.models import TeamMember, TeamRecruit
|
||||
team_oids = list(
|
||||
TeamMember.query.filter(
|
||||
user_uid=yonghuid,
|
||||
join_status=TeamMember.JOIN_ACTIVE,
|
||||
).values_list('order_id', flat=True)[:500]
|
||||
)
|
||||
if team_oids:
|
||||
# 仅有效组队帖(招募中/锁定/已分账结束)
|
||||
valid_oids = list(
|
||||
TeamRecruit.query.filter(
|
||||
order_id__in=team_oids,
|
||||
status__in=[
|
||||
TeamRecruit.STATUS_RECRUITING,
|
||||
TeamRecruit.STATUS_LOCKED,
|
||||
TeamRecruit.STATUS_FINISHED,
|
||||
],
|
||||
).values_list('order_id', flat=True)
|
||||
)
|
||||
query = Q(PlayerID=yonghuid) | Q(OrderID__in=valid_oids or ['__none__'])
|
||||
else:
|
||||
query = Q(PlayerID=yonghuid)
|
||||
|
||||
# 状态筛选:如果 zhuangtai_list 不为空列表,则加入筛选;否则查询全部状态
|
||||
if zhuangtai_list:
|
||||
@@ -708,8 +729,11 @@ class DashouDingdanHuoquView1(APIView):
|
||||
current_page_orders = dingdan_query[start_index:end_index]
|
||||
current_page_count = len(current_page_orders)
|
||||
|
||||
# 7. 构建返回数据列表
|
||||
# 7. 构建返回数据列表(附组队标记,无游戏ID)
|
||||
from jituan.services.order_deal import order_auto_settle_payload
|
||||
from orders.services.team_recruit import batch_team_list_flags
|
||||
page_oids = [o.OrderID for o in current_page_orders]
|
||||
team_flags = batch_team_list_flags(page_oids, viewer_uid=yonghuid)
|
||||
order_list = []
|
||||
for order in current_page_orders:
|
||||
order_data = {
|
||||
@@ -722,6 +746,8 @@ class DashouDingdanHuoquView1(APIView):
|
||||
**datetime_aliases(order.CreateTime),
|
||||
}
|
||||
order_data.update(order_auto_settle_payload(order))
|
||||
tf = team_flags.get(order.OrderID) or {'has_team': False}
|
||||
order_data.update(tf)
|
||||
order_list.append(order_data)
|
||||
|
||||
# 8. 判断是否还有更多数据
|
||||
|
||||
Reference in New Issue
Block a user