修正过早的键更新

This commit is contained in:
2026-06-19 17:33:31 +08:00
parent 0ff82d1bac
commit 8aa36e3764
3 changed files with 124 additions and 101 deletions

View File

@@ -443,7 +443,7 @@ class PaymentVerifyView(APIView):
return Response({
'code': 0,
'msg': '订单状态正常',
'data': {'dingdanid': dingdanid, 'Status': dingdan.Status}
'data': {'dingdanid': dingdanid, 'zhuangtai': dingdan.Status}
})
# ---------- 5. 如果状态为9则主动查询微信支付状态 ----------
@@ -466,11 +466,11 @@ class PaymentVerifyView(APIView):
return Response({
'code': 0,
'msg': '支付成功',
'data': {'dingdanid': dingdanid, 'Status': dingdan.Status}
'data': {'dingdanid': dingdanid, 'zhuangtai': dingdan.Status}
})
elif trade_state in ['NOTPAY', 'USERPAYING']:
# 用户尚未支付或支付中
return Response({'code': 1, 'msg': '支付中', 'data': {'Status': 9}})
return Response({'code': 1, 'msg': '支付中', 'data': {'zhuangtai': 9}})
else:
# 其他状态CLOSED, REVOKED, PAYERROR 等,视为支付失败
return Response({'code': 2, 'msg': '支付失败'})
@@ -491,7 +491,7 @@ class PaymentVerifyView(APIView):
8: '结算中',
0: '订单已作废',
}.get(dingdan.Status, '订单状态异常')
return Response({'code': 3, 'msg': status_msg, 'data': {'Status': dingdan.Status}})
return Response({'code': 3, 'msg': status_msg, 'data': {'zhuangtai': dingdan.Status}})
except Exception as e:
logger.error(f"订单复查接口异常: {e}", exc_info=True)
@@ -1091,11 +1091,11 @@ class DingdanHuoquView(APIView):
for order in current_page_orders:
order_data = {
'dingdanId': order.OrderID,
'Status': order.Status,
'zhuangtai': order.Status,
'jine': float(order.Amount) if order.Amount else 0.0,
'ImageURL': order.ImageURL or '',
'Description': order.Description or '',
'Remark': order.Remark or '',
'tupian_url': order.ImageURL or '',
'jieshao': order.Description or '',
'beizhu': order.Remark or '',
'nicheng': order.Nickname or '',
'chuangjianshijian': order.CreateTime.strftime('%Y-%m-%d %H:%M:%S')
}
@@ -1212,9 +1212,9 @@ class DingdanXiangqingView(APIView):
# 5. 构建返回数据(字段名与前端对应)
response_data = {
'Status': zhuangtai, # 订单状态
'zhuangtai': zhuangtai, # 订单状态
'zhiding': zhiding_id, # 指定打手ID
'PlayerID': jiedan_dashou_id, # 服务打手ID
'jiedan_dashou_id': jiedan_dashou_id, # 服务打手ID
'dashouliuyan': dashou_liuyan, # 打手留言
'dashoujiaofu': dashoujiaofu_list # 打手交付图片列表
}
@@ -1545,13 +1545,13 @@ class DingdanXiangqingView2(APIView):
fanche_cishu = biaoxian.fanche_cishu
data = {
'Status': zhuangtai,
'PlayerID': jiedan_dashou_id,
'zhuangtai': zhuangtai,
'jiedan_dashou_id': jiedan_dashou_id,
'dashou_nicheng': dashou_nicheng,
'dashou_touxiang': dashou_touxiang,
'dashouliuyan': dashou_liuyan,
'dashoujiaofu': dashoujiaofu_list,
'UpdateTime': update_time,
'update_time': update_time,
'jiedan_time': jiedan_time,
'tijiao_time': tijiao_time,
'laoban_pingjia': laoban_pingjia,
@@ -1787,9 +1787,9 @@ class ShangpinLeixingView(APIView):
for sp in shangpin_queryset:
item = {
'id': sp.id,
'GrabRequirement': sp.yaoqiuleixing,
'MembershipID': sp.huiyuan_id,
'Description': sp.jieshao,
'yaoqiuleixing': sp.yaoqiuleixing,
'huiyuan_id': sp.huiyuan_id,
'jieshao': sp.jieshao,
# 当前类型所属板块的称号列表(无板块则为空数组)
'chenghaoList': bankuai_chenghao_map.get(sp.bankuai_id, [])
}
@@ -2119,16 +2119,16 @@ class ShangjiaDingdanHuoquView(APIView):
for shangjia_order in current_page_orders:
order = shangjia_order.Order
order_data = {
'OrderID': order.OrderID,
'Status': order.Status,
'dingdan_id': order.OrderID,
'zhuangtai': order.Status,
'jine': float(order.Amount) if order.Amount else 0.0,
'Description': order.Description or '',
'Remark': order.Remark or '',
'jieshao': order.Description or '',
'beizhu': order.Remark or '',
'nicheng': order.Nickname or '',
'ProductTypeID': order.ProductTypeID, # 🆕 返回商品类型ID
'ImageURL': order.ImageURL or '', # 🆕 返回商品图片
'jiedan_dashou_id': order.PlayerID or '', # 🆕 返回打手ID
'CreateTime': order.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if order.CreateTime else ''
'shangpin_leixing_id': order.ProductTypeID, # 返回商品类型ID
'tupian_url': order.ImageURL or '', # 返回商品图片
'jiedan_dashou_id': order.PlayerID or '', # 返回打手ID
'creat_time': order.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if order.CreateTime else ''
}
order_list.append(order_data)
@@ -2242,12 +2242,12 @@ class ShangjiaDingdanXiangqingView(APIView):
'chufaliyou': fadan_obj.Reason or '',
'fakuanjine': float(fadan_obj.FineAmount) if fadan_obj.FineAmount else 0.0,
'yingxiang_qiangdan': fadan_obj.AffectsGrabbing,
'Status': fadan_obj.Status,
'zhuangtai': fadan_obj.Status,
'shensuliyou': fadan_obj.AppealReason or '',
'tongyi_chufaliyou': fadan_obj.ApproveReason or '',
'bohuiliyou': fadan_obj.RejectReason or '',
'CreateTime': fadan_obj.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if fadan_obj.CreateTime else '',
'UpdateTime': fadan_obj.UpdateTime.strftime('%Y-%m-%d %H:%M:%S') if fadan_obj.UpdateTime else '',
'creat_time': fadan_obj.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if fadan_obj.CreateTime else '',
'update_time': fadan_obj.UpdateTime.strftime('%Y-%m-%d %H:%M:%S') if fadan_obj.UpdateTime else '',
}
# 7. 商家自己的分红利率(用于罚款分红计算)
@@ -2279,13 +2279,13 @@ class ShangjiaDingdanXiangqingView(APIView):
# 9. 构建返回数据
response_data = {
# 基础订单字段
'OrderID': order.OrderID,
'Status': order.Status or 0,
'dingdan_id': order.OrderID,
'zhuangtai': order.Status or 0,
'jine': float(order.Amount) if order.Amount else 0.0,
'Description': order.Description or '',
'Remark': order.Remark or '',
'jieshao': order.Description or '',
'beizhu': order.Remark or '',
'nicheng': order.Nickname or '',
'CreateTime': order.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if order.CreateTime else '',
'creat_time': order.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if order.CreateTime else '',
# 打手信息
'dashou_yonghuid': dashou_yonghuid,
@@ -2294,7 +2294,7 @@ class ShangjiaDingdanXiangqingView(APIView):
# 服务详情
'fuwudashou_id': dashou_yonghuid, # 保留旧字段兼容
'PlayerRemark': order.PlayerRemark or '',
'dashou_liuyan': order.PlayerRemark or '',
'dashou_jiaofu': dashou_jiaofu,
# 商家扩展字段(旧)
@@ -2498,10 +2498,10 @@ class ShangjiaJiesuanView(APIView):
'code': 0,
'msg': '结单成功',
'data': {
'OrderID': dingdan_id,
'dingdan_id': dingdan_id,
'new_zhuangtai': 3,
'jine': float(jine),
'PlayerCommission': float(dashou_fencheng),
'dashou_fencheng': float(dashou_fencheng),
'jiedan_dashou_id': jiedan_dashou_id,
'pingfen': pingfen,
'liuyan': liuyan
@@ -2644,7 +2644,7 @@ class ShangjiaChexiaoView(APIView):
'code': 0,
'msg': '撤销成功',
'data': {
'OrderID': dingdan_id,
'dingdan_id': dingdan_id,
'new_zhuangtai': 5,
'tuikuan_liyou': chexiao_liyou,
'jine': float(dingdan.Amount) if dingdan.Amount else 0.0
@@ -2783,7 +2783,7 @@ class ShangjiaTuikuanShenqingView(APIView):
'code': 0,
'msg': '退款申请提交成功',
'data': {
'OrderID': dingdan_id,
'dingdan_id': dingdan_id,
'new_zhuangtai': 4,
'tuikuan_liyou': tuikuan_liyou,
'jine': float(dingdan.Amount) if dingdan.Amount else 0.0,
@@ -2943,12 +2943,12 @@ class ShangjiaChufaShenqingView(APIView):
'code': 0,
'msg': '处罚申请提交成功',
'data': {
'OrderID': dingdan_id,
'dingdan_id': dingdan_id,
'dashou_id': dashou_id,
'chufa_liyou': chufa_liyou,
'sqzhuangtai': 0,
'jifen': 5,
'tupian_count': len(chufa_tupian_urls) if chufa_tupian_urls else 0 # 🔴 返回图片数量
'tupian_count': len(chufa_tupian_urls) if chufa_tupian_urls else 0 # 返回图片数量
}
}, status=status.HTTP_200_OK)
@@ -3140,22 +3140,21 @@ class DashouDingdanHuoquView(APIView):
zid = order.get('AssignedID')
info = zhiding_info.get(zid, {})
formatted_list.append({
'OrderID': order['OrderID'],
'Status': order['Status'],
'dingdan_id': order['OrderID'],
'zhuangtai': order['Status'],
'pingtai': order['Platform'],
'Platform': order['Platform'],
'PlayerCommission': float(order['PlayerCommission']) if order['PlayerCommission'] else 0.0,
'AssignedID': order['AssignedID'] or '',
'ProductTypeID': order['ProductTypeID'] or 0,
'ImageURL': order['ImageURL'] or '',
'GrabRequirement': order['GrabRequirement'] or 0,
'MembershipID': order['MembershipID'] or '',
'dashou_fencheng': float(order['PlayerCommission']) if order['PlayerCommission'] else 0.0,
'zhiding_id': order['AssignedID'] or '',
'shangpin_leixing_id': order['ProductTypeID'] or 0,
'tupian_url': order['ImageURL'] or '',
'yaoqiuleixing': order['GrabRequirement'] or 0,
'huiyuan_id': order['MembershipID'] or '',
'yajin': float(order['CommissionReq']) if order['CommissionReq'] else 0.0,
'CommissionReq': float(order['CommissionReq']) if order['CommissionReq'] else 0.0,
'Description': order['Description'] or '',
'Remark': order['Remark'] or '',
'yongjin': float(order['CommissionReq']) if order['CommissionReq'] else 0.0,
'jieshao': order['Description'] or '',
'beizhu': order['Remark'] or '',
'creat_time': order['CreateTime'].strftime('%Y-%m-%d %H:%M:%S') if order['CreateTime'] else '',
'MerchantNickname': order['MerchantNickname'] or '',
'shangjia_nicheng': order['MerchantNickname'] or '',
'zhiding_uid': order['AssignedID'] or '',
'zhiding_avatar': info.get('avatar', ''),
'zhiding_nicheng': info.get('nicheng', ''),
@@ -3607,7 +3606,7 @@ class QiangdanView(APIView):
'code': 200,
'msg': '抢单成功',
'data': {
'OrderID': dingdan_id,
'dingdan_id': dingdan_id,
'chat_established': chat_success
}
})
@@ -3771,13 +3770,13 @@ class DashouDingdanHuoquView1(APIView):
order_list = []
for order in current_page_orders:
order_data = {
'OrderID': order.OrderID,
'Status': order.Status,
'dingdan_id': order.OrderID,
'zhuangtai': order.Status,
'jine': float(order.PlayerCommission) if order.PlayerCommission else 0.0,
'Description': order.Description or '',
'ImageURL': order.ImageURL or '',
'jieshao': order.Description or '',
'tupian_url': order.ImageURL or '',
'nicheng': order.Nickname or '',
'CreateTime': order.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if order.CreateTime else ''
'creat_time': order.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if order.CreateTime else ''
}
order_list.append(order_data)
@@ -4104,10 +4103,10 @@ class ShangjiaCOSZhengshuView(APIView):
'region': settings.COS_REGION,
# 🔴【修改】商家专用上传目录
'upload_dir': 'a_long/chfajltp/sjzjtp/',
# 🔴【新增】返回商家ID和订单ID便于前端生成文件名
'OrderID': dingdan_id,
'MerchantID': shangjia_id,
# 🔴【新增】可选:返回商家昵称,便于前端显示
# 返回商家ID和订单ID便于前端生成文件名
'dingdan_id': dingdan_id,
'shangjia_id': shangjia_id,
# 返回商家昵称,便于前端显示
'shangjia_nicheng': shangjia_profile.nicheng if hasattr(shangjia_profile, 'nicheng') else ''
}
@@ -4238,7 +4237,7 @@ class DashouTijiaoView(APIView):
'code': 0,
'msg': '订单提交成功',
'data': {
'OrderID': dingdan_id,
'dingdan_id': dingdan_id,
'new_zhuangtai': 8, # 新的订单状态
'dashou_zhuangtai': 1 # 打手新的状态
}
@@ -4302,16 +4301,16 @@ class DashouDingdanXiangqingView(APIView):
# 5. 构建基础订单数据
dingdan_data = {
'OrderID': dingdan.OrderID,
'Status': dingdan.Status,
'dingdan_id': dingdan.OrderID,
'zhuangtai': dingdan.Status,
'jine': float(dingdan.PlayerCommission) if dingdan.PlayerCommission else 0.0,
'Description': dingdan.Description or '',
'ImageURL': dingdan.ImageURL or '',
'jieshao': dingdan.Description or '',
'tupian_url': dingdan.ImageURL or '',
'nicheng': dingdan.Nickname or '',
'Remark': dingdan.Remark or '',
'CreateTime': dingdan.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if dingdan.CreateTime else '',
'beizhu': dingdan.Remark or '',
'creat_time': dingdan.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if dingdan.CreateTime else '',
'tuikuan_liyou':dingdan.RefundReason or '',
'PlayerRemark': dingdan.PlayerRemark or '',
'dashou_liuyan': dingdan.PlayerRemark or '',
'fuwudashou_id': dingdan.PlayerID or '',
'fadanpingtai': dingdan.Platform or ''
}
@@ -4334,7 +4333,7 @@ class DashouDingdanXiangqingView(APIView):
try:
shangjia_kuozhan = dingdan.shangjia_kuozhan
shangjia_info = {
'MerchantID': shangjia_kuozhan.MerchantID or '',
'shangjia_id': shangjia_kuozhan.MerchantID or '',
'shangjia_nicheng': shangjia_kuozhan.MerchantNickname or '',
'shangjia_liuyan': shangjia_kuozhan.MerchantReview or '',
#'tuikuan_liyou': '',
@@ -4346,7 +4345,7 @@ class DashouDingdanXiangqingView(APIView):
except MerchantOrderExt.DoesNotExist:
# 没有商家扩展信息,返回空值
shangjia_info = {
'MerchantID': '',
'shangjia_id': '',
'shangjia_nicheng': '',
'shangjia_liuyan': '',
'tuikuan_liyou': '',
@@ -4465,20 +4464,20 @@ class AdGetDingdanXiangQing(APIView):
# 7. 构建返回数据 - 主表字段
response_data = {
# 基础信息字段
'OrderID': dingdan_obj.OrderID or '',
'Description': dingdan_obj.Description or '',
'Status': dingdan_obj.Status or 0,
'dingdan_id': dingdan_obj.OrderID or '',
'jieshao': dingdan_obj.Description or '',
'zhuangtai': dingdan_obj.Status or 0,
'leixing': dingdan_obj.ProductTypeID or 0, # 前端需要 leixing对应 leixing_id
'fadanpingtai': dingdan_obj.Platform or 0, # 前端需要 fadanpingtai对应 fadan_pingtai
'jiage': float(dingdan_obj.Amount) if dingdan_obj.Amount else 0.00, # 前端需要 jiage对应 jine
'tupian_url': dingdan_obj.ImageURL or '', # 前端需要 tupian_url对应 tupian
'Remark': dingdan_obj.Remark or '',
'beizhu': dingdan_obj.Remark or '',
# 服务信息字段
'jiedan_dashou_id': dingdan_obj.PlayerID or '',
'PlayerCommission': float(dingdan_obj.PlayerCommission) if dingdan_obj.PlayerCommission else 0.00,
'AssignedID': dingdan_obj.AssignedID or '',
'PlayerRemark': dingdan_obj.PlayerRemark or '',
'dashou_fencheng': float(dingdan_obj.PlayerCommission) if dingdan_obj.PlayerCommission else 0.00,
'zhiding_id': dingdan_obj.AssignedID or '',
'dashou_liuyan': dingdan_obj.PlayerRemark or '',
# 时间字段
'chuangjianshijian': dingdan_obj.CreateTime.strftime(
@@ -4516,8 +4515,8 @@ class AdGetDingdanXiangQing(APIView):
shangjia_kuozhan = dingdan_obj.shangjia_kuozhan
response_data.update({
'MerchantID': shangjia_kuozhan.MerchantID or '',
'MerchantNickname': shangjia_kuozhan.MerchantNickname or '',
'shangjia_id': shangjia_kuozhan.MerchantID or '',
'shangjia_nicheng': shangjia_kuozhan.MerchantNickname or '',
'shangjia_pingjia': shangjia_kuozhan.MerchantReview or '',
'cfliyou': shangjia_kuozhan.PenaltyReason or '', # 商家处罚理由
'bhliyou': shangjia_kuozhan.RejectReason or '', # 驳回理由
@@ -4525,8 +4524,8 @@ class AdGetDingdanXiangQing(APIView):
except MerchantOrderExt.DoesNotExist:
# 扩展表不存在,返回空值
response_data.update({
'MerchantID': '',
'MerchantNickname': '',
'shangjia_id': '',
'shangjia_nicheng': '',
'shangjia_pingjia': '',
'cfliyou': '',
'bhliyou': '',