#!/usr/bin/env python3 # -*- coding: utf-8 -*- """ 字段映射配置 将数据库字段名映射为中文显示名 """ # 字段映射(根据实际数据库表结构) FIELD_MAPPING = { # 基础信息 'id': '订单ID', 'order_no': '订单号', 'platform_order_no': '平台订单号', 'order_type': '订单类型', 'order_time': '订单时间', 'state': '订单状态', 'operate_state': '操作状态', # 用户信息 'user_id': '用户ID', 'user_card_no': '用户卡号', 'company_id': '企业ID', 'charge_plate_no': '车牌号', 'charge_vin': 'VIN码', # 充电站信息 'station_id': '充电站ID', 'equipment_id': '设备ID', 'connector_id': '连接器ID', # 充电时间 'charge_begin_time': '充电开始时间', 'charge_end_time': '充电结束时间', 'charge_duration': '充电时长(秒)', # 充电电量 'charge_begin_degree': '开始电量', 'charge_end_degree': '结束电量', 'charge_degree': '充电电量(kWh)', 'charge_ah': '充电安时', # 充电SOC 'charge_begin_soc': '开始SOC', 'charge_end_soc': '结束SOC', 'charge_cur_soc': '当前SOC', # 充电费用(应收) 'receivable_electric_fee': '应收电费(元)', 'receivable_service_fee': '应收服务费(元)', 'receivable_total_fee': '应收总费用(元)', # 充电费用(实际) 'charge_elecfee_amount': '电费金额(元)', 'charge_elecfee_cost_amount': '电费成本(元)', 'charge_service_amount': '服务费金额(元)', 'charging_amt': '充电金额(元)', # 支付信息 'actual_pay_amount': '实际支付金额(元)', 'pay_amount': '支付金额(元)', 'pay_order_no': '支付订单号', 'pay_method': '支付方式', 'pay_status': '支付状态', 'pay_time': '支付时间', # 单价信息 'charge_unit_price': '单价(元/度)', 'charge_unit_cost': '单位成本', 'charge_unit_service_fee': '单位服务费', # 结算信息 'charge_settle_type': '结算类型', 'settle_electric_fee': '结算电费(元)', 'settle_service_fee': '结算服务费(元)', 'settle_fee': '结算费用(元)', 'settle_method': '结算方式', 'settle_status': '结算状态', 'settle_coupon_amount': '结算优惠券金额', # 优惠券信息 'user_coupon_id': '优惠券ID', 'coupon_name': '优惠券名称', 'coupon_type': '优惠券类型', 'coupon_amount': '优惠券金额', 'coupon_total_amount': '优惠券总金额', 'elecfee_coupon_amount': '电费优惠券金额', 'servicefee_coupon_amount': '服务费优惠券金额', # 发票信息 'invoice_id': '发票ID', 'invoice_fee': '发票金额', 'ticket_status': '开票状态', # 活动信息 'activity_electric_fee': '活动电费', 'activity_service_fee': '活动服务费', 'activity_name': '活动名称', 'activity_total_fee': '活动总费用', # 企业活动信息 'company_activity_id': '企业活动ID', 'company_activity_name': '企业活动名称', 'company_activity_total_fee': '企业活动总费用', 'company_activity_service_fee': '企业活动服务费', 'company_activity_electric_fee': '企业活动电费', # 补贴信息 'subsidy_degree': '补贴电量', 'subsidy_fee': '补贴费用', # 运营商信息 'operator_id': '运营商ID', 'operator_income': '运营商收入', 'plat_service_fee': '平台服务费', # 佣金信息 'com_service_fee': '佣金服务费', 'com_electric_fee': '佣金电费', 'com_total_fee': '佣金总费用', 'com_charge_discount_type': '佣金折扣类型', 'com_charge_discount': '佣金折扣', # 报告信息 'report_time': '上报时间', 'has_shallow_report': '是否有浅层报告', 'has_deep_report': '是否有深层报告', 'shallow_report_is_received': '浅层报告是否接收', # 订单完成信息 'finish_type': '完成类型', 'finish_code': '完成代码', 'finish_msg': '结束原因', 'finish_time': '完成时间', # 取消信息 'cancel_type': '取消类型', 'cancel_code': '取消代码', 'cancel_msg': '取消消息', 'cancel_time': '取消时间', # 异常信息 'exception_flag': '异常标志', 'exception_msg': '异常消息', 'is_exception': '是否异常', # 其他信息 'platform_sale_type': '平台销售类型', 'platform_driver_id': '平台司机ID', 'platform_phone': '平台电话', 'charge_strategy': '充电策略', 'charge_strategy_param': '充电策略参数', 'boot_mode': '启动模式', 'settlement_type': '结算类型', 'is_parking_coupon': '是否停车优惠券', 'control_source': '控制来源', 'charge_market_id': '充电市场ID', 'charge_times_degree': '充电次数电量', 'special_channel_order_source': '特殊渠道订单来源', # 时间戳 'create_time': '创建时间', 'update_time': '更新时间', # 分时段电量(从detail表计算) 'sharp_electricity': '尖时电量(kWh)', 'peak_electricity': '峰时电量(kWh)', 'flat_electricity': '平时电量(kWh)', 'valley_electricity': '谷时电量(kWh)', # 数据来源 'data_source': '数据来源', # 自定义计算字段(虚拟字段) 'custom_service_fee': '自定义服务费(元)', 'total_amount': '实收金额(元)', } # 获取字段中文名称 def get_field_name(field_key): """获取字段的中文名称""" return FIELD_MAPPING.get(field_key, field_key) # 获取字段显示名称(别名) def get_field_display_name(field_key): """获取字段的中文显示名称""" return FIELD_MAPPING.get(field_key, field_key) # 获取所有字段选项 def get_all_fields(): """获取所有字段选项""" return [{'key': k, 'name': v} for k, v in FIELD_MAPPING.items()] # 获取所有字段(带显示名称) def get_all_fields_with_display(): """获取所有字段,包含key和显示名称""" return [{'key': k, 'display': v} for k, v in FIELD_MAPPING.items()] # 默认字段列表(常用字段) DEFAULT_FIELDS = [ 'order_no', 'company_id', 'user_id', 'charge_begin_time', 'charge_end_time', 'charge_degree', 'receivable_total_fee', 'actual_pay_amount', 'state', 'report_time' ]