1. 更换打手 /houtai/zxkfghds

问题:H5 传 dingdan_id,后端只读 OrderID → 400「参数不完整」
修复:同时接受 OrderID / dingdan_id;成功响应增加 new_dingdan_id(与 new_OrderID 一致)
2. 生成罚单 /houtai/htfksc、/houtai/kffkdssq
问题:前端传 beichufa_id、chufaliyou、fakuanjine、yingxiang_qiangdan,后端只认 PenalizedUserID、Reason、FineAmount 等
修复:在 backend/utils.py 增加 pick_penalty_create_params(),两套字段名都支持
3. 后台订单相关接口(orders/views.py)
剩余 10 处 只读 OrderID 的接口(换打手、退款、结单、罚单等)已统一兼容 dingdan_id
This commit is contained in:
XingQue
2026-06-19 23:23:02 +08:00
parent 1ce023552c
commit 157ac05632
3 changed files with 39 additions and 23 deletions

View File

@@ -4411,7 +4411,7 @@ class AdGetDingdanXiangQing(APIView):
try:
# 1. 获取前端参数
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
if not qianzhanghao or not dingdan_id:
return Response(
@@ -4617,7 +4617,7 @@ class AdGengHuanDaShou(APIView):
try:
# 1. 获取前端参数
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
new_dashou_id = request.data.get('new_dashou_id', '').strip()
if not qianzhanghao or not dingdan_id or not new_dashou_id:
@@ -4837,7 +4837,7 @@ class AdQiangZhiJieDan(APIView):
try:
# 1. 获取前端参数
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
if not qianzhanghao or not dingdan_id:
return Response(
@@ -5019,7 +5019,7 @@ class AdJuJueTuiKuan(APIView):
try:
# 1. 获取前端参数
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
jujue_liyou = request.data.get('jujue_liyou', '').strip()
if not qianzhanghao or not dingdan_id:
@@ -5219,7 +5219,7 @@ class AdTongYiTuiKuanShangJia(APIView):
try:
# 1. 获取前端参数
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
tuikuan_liyou = request.data.get('tuikuan_liyou', '').strip()
pay_password = request.data.get('pay_password', '').strip()
@@ -5420,7 +5420,7 @@ class AdTongYiTuiKuanPingTai(APIView):
try:
# 1. 获取前端参数
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
tuikuan_liyou = request.data.get('tuikuan_liyou', '').strip()
pay_password = request.data.get('pay_password', '').strip()
@@ -5805,7 +5805,7 @@ class AdJuJueJieSuan(APIView):
try:
# 1. 获取参数
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
tkly = request.data.get('tkly', '').strip()
if not all([qianzhanghao, dingdan_id, tkly]):
@@ -5896,7 +5896,7 @@ class AdZhuanYiDaTing(APIView):
def post(self, request):
try:
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
if not all([qianzhanghao, dingdan_id]):
return Response(
@@ -5978,7 +5978,7 @@ class AdQuXiaoZhiDing(APIView):
def post(self, request):
try:
qianzhanghao = request.data.get('zhanghao', '').strip()
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
if not all([qianzhanghao, dingdan_id]):
return Response(
@@ -6051,7 +6051,7 @@ class DashouXiugaiView(APIView):
def post(self, request):
# 获取请求数据
data = request.data
dingdan_id = data.get('OrderID', '')
dingdan_id = str(data.get('OrderID') or data.get('dingdan_id') or '').strip()
liuyan = data.get('liuyan', '')
deleted_images = data.get('deleted_images', [])
new_images = data.get('new_images', [])
@@ -6373,7 +6373,7 @@ class ShangjiaFakuanApplyView(APIView):
return Response({'code': 1, 'msg': '用户认证失败'}, status=status.HTTP_401_UNAUTHORIZED)
# ========== 2. 参数提取与校验 ==========
dingdan_id = request.data.get('OrderID', '').strip()
dingdan_id = str(request.data.get('OrderID') or request.data.get('dingdan_id') or '').strip()
chufa_liyou = request.data.get('chufa_liyou', '').strip()
fakuanjine = request.data.get('fakuanjine', 0)
yingxiang_qiangdan = int(request.data.get('yingxiang_qiangdan', 1))