feat: 仅特约商家可更换打手,后台可开关
This commit is contained in:
@@ -1785,12 +1785,23 @@ class ZxsjghdsView(APIView):
|
||||
except AttributeError:
|
||||
return Response({'code': 1, 'msg': '用户认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
|
||||
|
||||
# ========== 2. 提取订单ID ==========
|
||||
# ========== 2. 仅特约商家可更换打手 ==========
|
||||
try:
|
||||
shop_profile = UserShangjia.query.get(user__UserUID=yonghuid)
|
||||
except UserShangjia.DoesNotExist:
|
||||
return Response({'code': 3, 'msg': '商家信息不存在'}, status=status.HTTP_403_FORBIDDEN)
|
||||
if not bool(getattr(shop_profile, 'is_teyue_shangjia', False)):
|
||||
return Response(
|
||||
{'code': 403, 'msg': '仅特约商家可更换打手,请申请退款或结算'},
|
||||
status=status.HTTP_403_FORBIDDEN,
|
||||
)
|
||||
|
||||
# ========== 3. 提取订单ID ==========
|
||||
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
|
||||
if not dingdan_id:
|
||||
return Response({'code': 2, 'msg': '订单ID不能为空'}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# ========== 3. 查询订单并校验权限 ==========
|
||||
# ========== 4. 查询订单并校验权限 ==========
|
||||
try:
|
||||
# 关联查询商家扩展表,确保当前商家是该订单的发布者
|
||||
shangjia_kuozhan = MerchantOrderExt.query.select_related('Order').get(
|
||||
@@ -1802,7 +1813,7 @@ class ZxsjghdsView(APIView):
|
||||
|
||||
old_order = shangjia_kuozhan.Order
|
||||
|
||||
# ========== 4. 状态校验(仅允许进行中或结算中) ==========
|
||||
# ========== 5. 状态校验(仅允许进行中或结算中) ==========
|
||||
if old_order.Status not in [2, 8]:
|
||||
return Response({'code': 4, 'msg': '当前订单状态不允许更换打手'}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
|
||||
Reference in New Issue
Block a user