From 332fde50a3d5d75c6feaf49b1d322ff0b00d3867 Mon Sep 17 00:00:00 2001 From: XingQue Date: Mon, 27 Jul 2026 01:05:41 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20=E5=85=85=E5=80=BC=E8=AE=B0=E5=BD=95?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E8=A1=A5=E5=85=A8=E7=8A=B6=E6=80=81/?= =?UTF-8?q?=E7=B1=BB=E5=9E=8B=E5=B1=95=E7=A4=BA=E5=AD=97=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 投诉选单接口返回可读时间与更完整状态文案,不筛选状态。 Co-authored-by: Cursor --- gongdan/views.py | 32 +++++++++++++++++++++++++++----- 1 file changed, 27 insertions(+), 5 deletions(-) diff --git a/gongdan/views.py b/gongdan/views.py index 9073c9a..a2b1c9d 100644 --- a/gongdan/views.py +++ b/gongdan/views.py @@ -339,19 +339,41 @@ class ChongzhiRecordListView(APIView): CZJILU_LEIXING_SHANGJIA: '商家充值', 5: '考核', 6: '罚款', + 7: '转盘', + } + # 与 czjilu 实际状态一致:待支付/已取消/已支付等全量展示,不筛选 + status_map = { + 9: '待支付', + 3: '已支付', + 2: '已取消', + 1: '处理中', + 8: '履约失败', + 10: '业务失败', + 0: '未知', } - status_map = {9: '待支付', 3: '已支付', 2: '已取消', 8: '履约失败', 10: '业务失败'} rows = [] for o in qs[start:start + page_size]: + z = o.zhuangtai + try: + z_int = int(z) if z is not None else None + except (TypeError, ValueError): + z_int = None + ct = '' + if getattr(o, 'CreateTime', None): + try: + ct = o.CreateTime.strftime('%Y-%m-%d %H:%M:%S') + except Exception: + ct = o.CreateTime.isoformat() rows.append({ 'dingdan_id': o.dingdan_id, 'leixing': o.leixing, - 'leixing_label': type_map.get(o.leixing, str(o.leixing)), + 'leixing_label': type_map.get(o.leixing, f'类型{o.leixing}'), 'jine': str(o.jine), - 'zhuangtai': o.zhuangtai, - 'zhuangtai_label': status_map.get(o.zhuangtai, str(o.zhuangtai)), + 'zhuangtai': z_int if z_int is not None else z, + 'zhuangtai_label': status_map.get(z_int, f'状态{z}' if z is not None else '未知'), 'shuoming': o.shuoming or '', - 'CreateTime': o.CreateTime.isoformat() if getattr(o, 'CreateTime', None) else '', + 'club_id': getattr(o, 'club_id', '') or '', + 'CreateTime': ct, }) return _ok({'list': rows, 'total': total, 'page': page, 'page_size': page_size})