From 8aa36e37641d4adfde5ff369b84da39191a660fb Mon Sep 17 00:00:00 2001 From: TermiNexus Date: Fri, 19 Jun 2026 17:33:31 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=AD=A3=E8=BF=87=E6=97=A9=E7=9A=84?= =?UTF-8?q?=E9=94=AE=E6=9B=B4=E6=96=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/view.py | 34 ++++----- orders/views.py | 165 ++++++++++++++++++++--------------------- users/paihang_views.py | 26 ++++++- 3 files changed, 124 insertions(+), 101 deletions(-) diff --git a/backend/view.py b/backend/view.py index 6e337b8..1086eb3 100644 --- a/backend/view.py +++ b/backend/view.py @@ -5856,24 +5856,24 @@ class FaKuanLieBiaoView(APIView): for r in records: results.append({ 'id': r.id, - 'PenalizedUserID': r.PenalizedUserID, - 'Identity': r.Identity, - 'Identity_text': dict(Penalty._meta.get_field('Identity').choices).get(r.Identity, ''), - 'ApplicantID': r.ApplicantID or '', - 'ApplicantIdentity': r.ApplicantIdentity, - 'Reason': r.Reason or '', - 'FineAmount': str(r.FineAmount), - 'RelatedOrderID': r.RelatedOrderID or '', - 'Status': r.Status, - 'AffectsGrabbing': r.AffectsGrabbing, - 'AppealReason': r.AppealReason or '', - 'RejectReason': r.RejectReason or '', - 'ProcessorID': r.ProcessorID or '', - 'ProcessorIdentity': r.ProcessorIdentity, + 'beichufa_id': r.PenalizedUserID, + 'shenfen': r.Identity, + 'shenfen_text': dict(Penalty._meta.get_field('Identity').choices).get(r.Identity, ''), + 'shenqing_chufa': r.ApplicantID or '', + 'shenqingren_shenfen': r.ApplicantIdentity, + 'chufaliyou': r.Reason or '', + 'fakuanjine': str(r.FineAmount), + 'guanliandingdan_id': r.RelatedOrderID or '', + 'zhuangtai': r.Status, + 'yingxiang_qiangdan': r.AffectsGrabbing, + 'shensuliyou': r.AppealReason or '', + 'bohuiliyou': r.RejectReason or '', + 'chulizhe': r.ProcessorID or '', + 'chulizhe_shenfen': r.ProcessorIdentity, 'zhengju_tupian': zhengju_map.get(r.id, []), 'shensu_tupian': shensu_map.get(r.id, []), - 'CreateTime': r.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if r.CreateTime else '', - 'UpdateTime': r.UpdateTime.strftime('%Y-%m-%d %H:%M:%S') if r.UpdateTime else '', + 'creat_time': r.CreateTime.strftime('%Y-%m-%d %H:%M:%S') if r.CreateTime else '', + 'update_time': r.UpdateTime.strftime('%Y-%m-%d %H:%M:%S') if r.UpdateTime else '', }) return Response({ @@ -7161,7 +7161,7 @@ class CwhqjtddsjView(APIView): 'success_count': item['success_count'], 'success_amount': float(item['success_amount'] or 0), 'refund_count': item['refund_count'], - 'PlayerCommission': float(item['PlayerCommission_sum'] or 0), + 'dashou_fencheng': float(item['PlayerCommission_sum'] or 0), 'dianpu_fenhong': float(item['dianpu_fenhong_sum'] or 0), 'profit': round(total_profit, 2) }) diff --git a/orders/views.py b/orders/views.py index 435a872..1829be8 100644 --- a/orders/views.py +++ b/orders/views.py @@ -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': '', diff --git a/users/paihang_views.py b/users/paihang_views.py index b850852..57dfb26 100644 --- a/users/paihang_views.py +++ b/users/paihang_views.py @@ -34,6 +34,12 @@ ROLE_CONFIG = { 'sort_field': 'CompletedAmount', 'fields': ('AcceptedOrderTotal', 'CompletedOrderTotal', 'AcceptedAmount', 'CompletedAmount'), 'int_fields': frozenset({'AcceptedOrderTotal', 'CompletedOrderTotal'}), + 'response_field_map': { + 'AcceptedOrderTotal': 'jiedan_zongliang', + 'CompletedOrderTotal': 'chengjiao_zongliang', + 'AcceptedAmount': 'jiedan_zonge', + 'CompletedAmount': 'chengjiao_zonge', + }, }, 'guanshi': { 'model': ManagerDailyStats, @@ -41,6 +47,11 @@ ROLE_CONFIG = { 'sort_field': 'TotalIncome', 'fields': ('InvitedPlayerCount', 'RechargedPlayerCount', 'TotalIncome'), 'int_fields': frozenset({'InvitedPlayerCount', 'RechargedPlayerCount'}), + 'response_field_map': { + 'InvitedPlayerCount': 'yaoqing_dashou_shu', + 'RechargedPlayerCount': 'chongzhi_dashou_shu', + 'TotalIncome': 'shouru_zonge', + }, }, 'zuzhang': { 'model': LeaderDailyStats, @@ -48,6 +59,11 @@ ROLE_CONFIG = { 'sort_field': 'TotalIncome', 'fields': ('InvitedManagerCount', 'CommissionAmount', 'TotalIncome'), 'int_fields': frozenset({'InvitedManagerCount'}), + 'response_field_map': { + 'InvitedManagerCount': 'yaoqing_guanshi_shu', + 'CommissionAmount': 'fenyong_jine', + 'TotalIncome': 'shouru_zonge', + }, }, 'shangjia': { 'model': MerchantDailyStats, @@ -55,6 +71,12 @@ ROLE_CONFIG = { 'sort_field': 'SettledAmount', 'fields': ('AssignedOrderCount', 'AssignedAmount', 'SettledOrderCount', 'SettledAmount'), 'int_fields': frozenset({'AssignedOrderCount', 'SettledOrderCount'}), + 'response_field_map': { + 'AssignedOrderCount': 'paifa_dingdan_shu', + 'AssignedAmount': 'paifa_jine', + 'SettledOrderCount': 'jiesuan_dingdan_shu', + 'SettledAmount': 'jiesuan_jine', + }, }, } @@ -186,6 +208,7 @@ class PhbHqsjView(APIView): id_field = cfg['id_field'] result_list = [] + response_field_map = cfg.get('response_field_map', {}) for idx, row in enumerate(rows): yonghuid = row[id_field] item = { @@ -195,7 +218,8 @@ class PhbHqsjView(APIView): 'touxiang': avatar_map.get(yonghuid, '') or '', } for field in cfg['fields']: - item[field] = _fmt_value(row.get(field), field in int_fields) + response_key = response_field_map.get(field, field) + item[response_key] = _fmt_value(row.get(field), field in int_fields) result_list.append(item) return Response({