隐藏式商品/类型增加归属商家端类型,点单按归属写入抢单字段;抢单池只返回商家端类型。

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
XingQue
2026-07-22 16:26:43 +08:00
parent bc22bd0df1
commit 04fcfb909b
5 changed files with 176 additions and 13 deletions

View File

@@ -182,7 +182,9 @@ class CreateOrderView(APIView):
if not user_openid:
return Response({'code': 10, 'msg': '用户openid不存在', 'data': None})
# 创建订单主表数据
# 创建订单主表数据(隐藏式有归属则用商家端类型的抢单要求)
from utils.shangpin_guishu import resolve_order_qiangdan_fields
qiangdan_fields = resolve_order_qiangdan_fields(shangpin)
order_data = {
'dingdan_id': dingdanid,
'zhuangtai': 9, # 未付款状态
@@ -191,15 +193,15 @@ class CreateOrderView(APIView):
'dashou_fencheng': dashou_fencheng,
'zhiding_id': zhiding_id_value,
'shangpin_id': shangpin_id,
'yaoqiuleixing': getattr(shangpin, 'yaoqiuleixing', None),
'huiyuan_id': getattr(shangpin, 'huiyuan_id', ''),
'yongjin': getattr(shangpin, 'yongjin', 0),
'yaoqiuleixing': qiangdan_fields['yaoqiuleixing'],
'huiyuan_id': qiangdan_fields['huiyuan_id'],
'yongjin': qiangdan_fields['yongjin'],
'jieshao': getattr(shangpin, 'jieshao', ''),
'beizhu': beizhu,
'nicheng': nicheng,
'tupian':shangpin_tupian,
'user1_id':f"Boss{request.user.yonghuid}",
'leixing_id':shangpin.leixing_id
'leixing_id': qiangdan_fields['leixing_id'],
}
# 创建订单记录
@@ -1034,7 +1036,9 @@ class VirtualCreateOrderView(APIView):
with transaction.atomic():
laoban_yonghuid = getattr(current_user, 'yonghuid', '')
# 订单主表
# 订单主表(隐藏式有归属则用商家端类型的抢单要求)
from utils.shangpin_guishu import resolve_order_qiangdan_fields
qiangdan_fields = resolve_order_qiangdan_fields(shangpin)
order_data = {
'dingdan_id': dingdanid,
'zhuangtai': 9,
@@ -1043,15 +1047,15 @@ class VirtualCreateOrderView(APIView):
'dashou_fencheng': dashou_fencheng,
'zhiding_id': zhiding_id_value,
'shangpin_id': shangpin_id,
'yaoqiuleixing': getattr(shangpin, 'yaoqiuleixing', None),
'huiyuan_id': getattr(shangpin, 'huiyuan_id', ''),
'yongjin': getattr(shangpin, 'yongjin', 0),
'yaoqiuleixing': qiangdan_fields['yaoqiuleixing'],
'huiyuan_id': qiangdan_fields['huiyuan_id'],
'yongjin': qiangdan_fields['yongjin'],
'jieshao': getattr(shangpin, 'jieshao', ''),
'beizhu': beizhu,
'nicheng': nicheng,
'tupian': shangpin_tupian,
'user1_id': f"Boss{current_user.yonghuid}",
'leixing_id': shangpin.leixing_id
'leixing_id': qiangdan_fields['leixing_id'],
}
dingdan = Dingdan.objects.create(**order_data)
@@ -7731,7 +7735,7 @@ class DashouHuoquLeixingView(APIView):
# 条件shenhezhuangtai=1正常状态
# 排序:先按 paixu 降序(数值大的在前),再按 id 升序
leixing_queryset = ShangpinLeixing.objects.filter(
shenhezhuangtai__in=[3, 4] # 商家端 + 点单隐藏式(抢单池可见)
shenhezhuangtai=3 # 抢单池只展示商家端类型;隐藏式订单经归属映射到商家端类型
).order_by('-paixu', 'id')
'''leixing_queryset = ShangpinLeixing.objects.filter(
shenhezhuangtai__in= [1,9] # 🔴 只取正常状态,排除审核专用