feat: 链接派单H5提交必填拼多多订单号并写入订单
Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
@@ -2225,8 +2225,9 @@ class KehuGetDingdanLianjieView(APIView):
|
||||
if lianjie_obj.is_used:
|
||||
dingdan_info.update({
|
||||
'youxi_nicheng': dingdan_obj.Nickname or '',
|
||||
'zhiding_dashou': dingdan_obj.PlayerID or '',
|
||||
'zhiding_dashou': dingdan_obj.AssignedID or dingdan_obj.PlayerID or '',
|
||||
'beizhu': dingdan_obj.Remark or '',
|
||||
'waibu_dingdan_id': dingdan_obj.ExternalOrderID or '',
|
||||
})
|
||||
|
||||
# 获取聊天相关标识
|
||||
@@ -2369,6 +2370,7 @@ class KehuTianxieDingdanView(APIView):
|
||||
youxi_nicheng = data.get('youxi_nicheng', '').strip()
|
||||
zhiding_dashou = data.get('zhiding_dashou', '').strip() # 可选
|
||||
beizhu = data.get('beizhu', '').strip() # 可选
|
||||
waibu_dingdan_id = str(data.get('waibu_dingdan_id') or data.get('waibuDingdanId') or '').strip()[:64]
|
||||
|
||||
|
||||
# 4.0 临时关闭指定功能(如需开启,请删除或注释掉下面两行)
|
||||
@@ -2379,7 +2381,7 @@ class KehuTianxieDingdanView(APIView):
|
||||
|
||||
|
||||
logger.info(
|
||||
f"请求参数 - Token: {token[:8]}..., 昵称: {youxi_nicheng[:10]}..., 指定打手: {zhiding_dashou}, 备注长度: {len(beizhu)}")
|
||||
f"请求参数 - Token: {token[:8]}..., 昵称: {youxi_nicheng[:10]}..., 指定打手: {zhiding_dashou}, 备注长度: {len(beizhu)}, 拼多多ID: {waibu_dingdan_id[:16] if waibu_dingdan_id else ''}")
|
||||
|
||||
# 5. 验证必填参数
|
||||
if not token:
|
||||
@@ -2398,6 +2400,14 @@ class KehuTianxieDingdanView(APIView):
|
||||
'data': None
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
if not waibu_dingdan_id:
|
||||
logger.warning(f"拼多多订单号为空 - IP: {client_ip}")
|
||||
return Response({
|
||||
'code': 400,
|
||||
'msg': '拼多多订单号不能为空',
|
||||
'data': None
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 6. 验证游戏昵称格式
|
||||
if len(youxi_nicheng) > 50:
|
||||
logger.warning(f"游戏昵称过长 - IP: {client_ip}, 长度: {len(youxi_nicheng)}")
|
||||
@@ -2427,7 +2437,15 @@ class KehuTianxieDingdanView(APIView):
|
||||
'data': None
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 8. 验证备注长度
|
||||
# 8. 验证拼多多订单号
|
||||
if len(waibu_dingdan_id) > 64:
|
||||
return Response({
|
||||
'code': 400,
|
||||
'msg': '拼多多订单号不能超过64个字符',
|
||||
'data': None
|
||||
}, status=status.HTTP_400_BAD_REQUEST)
|
||||
|
||||
# 9. 验证备注长度
|
||||
if len(beizhu) > 500:
|
||||
logger.warning(f"备注过长 - IP: {client_ip}, 长度: {len(beizhu)}")
|
||||
return Response({
|
||||
@@ -2551,6 +2569,7 @@ class KehuTianxieDingdanView(APIView):
|
||||
# 更新订单信息
|
||||
dingdan_obj.Nickname = youxi_nicheng # 游戏昵称
|
||||
dingdan_obj.Remark = beizhu if beizhu else '' # 备注
|
||||
dingdan_obj.ExternalOrderID = waibu_dingdan_id
|
||||
dingdan_obj.Status = zhuangtai_xin # 新状态:1或7
|
||||
|
||||
# 如果是指定打手,设置zhiding_id
|
||||
|
||||
Reference in New Issue
Block a user