feat: 组队招募(/zudui)+ 结单/自动结算/罚款挂钩
新增 Team 表与接口;进8强制锁、组队分账优先且失败不回退全额队长。 Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -1264,8 +1264,20 @@ class DashouDingdanXiangqingView(APIView):
|
||||
'data': None
|
||||
}, status=status.HTTP_404_NOT_FOUND)
|
||||
|
||||
# 4. 验证订单是否属于当前打手
|
||||
if dingdan.PlayerID != yonghuid:
|
||||
# 4. 验证:接单打手,或本单在队成员(含已分账结束仍在队)
|
||||
is_player = dingdan.PlayerID == yonghuid
|
||||
is_team_member = False
|
||||
if not is_player:
|
||||
try:
|
||||
from orders.models import TeamMember
|
||||
is_team_member = TeamMember.query.filter(
|
||||
order_id=dingdan_id,
|
||||
user_uid=yonghuid,
|
||||
join_status=TeamMember.JOIN_ACTIVE,
|
||||
).exists()
|
||||
except Exception:
|
||||
is_team_member = False
|
||||
if not is_player and not is_team_member:
|
||||
return Response({
|
||||
'code': 4,
|
||||
'msg': '没有权限查看此订单',
|
||||
@@ -1292,6 +1304,24 @@ class DashouDingdanXiangqingView(APIView):
|
||||
dingdan_data.update(order_auto_settle_payload(dingdan))
|
||||
except Exception:
|
||||
pass
|
||||
try:
|
||||
from orders.services.team_recruit import get_active_recruit, serialize_recruit_public
|
||||
from orders.models import TeamMember
|
||||
rec = get_active_recruit(dingdan.OrderID)
|
||||
if not rec:
|
||||
from orders.models import TeamRecruit
|
||||
rec = TeamRecruit.query.filter(order_id=dingdan.OrderID).order_by('-id').first()
|
||||
if rec:
|
||||
is_mem = TeamMember.query.filter(
|
||||
recruit_id=rec.id, user_uid=yonghuid, join_status=1,
|
||||
).exists() or rec.leader_uid == yonghuid
|
||||
dingdan_data['team'] = serialize_recruit_public(
|
||||
rec, dingdan, include_game_ids=is_mem,
|
||||
)
|
||||
else:
|
||||
dingdan_data['team'] = None
|
||||
except Exception:
|
||||
dingdan_data['team'] = None
|
||||
|
||||
# 6. 查询打手提交的图片
|
||||
dashou_tupian_list = PlayerDeliveryImage.query.filter(
|
||||
|
||||
Reference in New Issue
Block a user