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})