""" 字段映射模块 将数据库英文字段名映射为中文显示名 """ # 字段映射字典(英文 -> 中文) FIELD_MAPPING = { 'id': '订单ID', 'order_no': '订单号', 'company_id': '企业ID', 'user_id': '用户ID', 'user_name': '用户名称', 'order_type': '订单类型', 'state': '订单状态', 'report_time': '上报时间', 'start_time': '开始时间', 'end_time': '结束时间', 'charge_duration': '充电时长(秒)', 'charge_energy': '充电电量(kWh)', 'charge_money': '充电金额(元)', 'service_money': '服务费(元)', 'electricity_money': '电费(元)', 'total_money': '总金额(元)', 'pile_id': '充电桩ID', 'pile_no': '充电桩编号', 'gun_no': '枪号', 'start_soc': '起始SOC(%)', 'end_soc': '结束SOC(%)', 'start_voltage': '起始电压(V)', 'end_voltage': '结束电压(V)', 'start_current': '起始电流(A)', 'end_current': '结束电流(A)', 'temperature': '温度(℃)', 'create_time': '创建时间', 'update_time': '更新时间', 'pay_type': '支付方式', 'pay_time': '支付时间', 'pay_status': '支付状态', 'stop_reason': '停止原因', 'station_id': '充电站ID', 'station_name': '充电站名称', 'address': '地址', 'city': '城市', 'province': '省份', 'area': '区域', 'remark': '备注', 'operator_id': '运营商ID', 'operator_name': '运营商名称', 'equipment_id': '设备ID', 'equipment_type': '设备类型', 'equipment_model': '设备型号', 'manufacturer': '制造商', 'install_location': '安装位置', 'power_rate': '额定功率(kW)', 'voltage_rate': '额定电压(V)', 'current_rate': '额定电流(A)', 'brand': '品牌', 'network_type': '网络类型', 'sim_card': 'SIM卡号', 'iccid': 'ICCID', 'imei': 'IMEI', 'mac': 'MAC地址', 'ip': 'IP地址', 'firmware_version': '固件版本', 'hardware_version': '硬件版本', 'protocol_version': '协议版本', 'online_status': '在线状态', 'last_heartbeat': '最后心跳时间', 'fault_code': '故障代码', 'fault_desc': '故障描述', 'fault_time': '故障时间', 'clear_time': '清除时间', 'operator_fault': '运营商故障', 'maintenance_status': '维护状态', 'maintenance_time': '维护时间', 'maintenance_desc': '维护描述', 'qr_code': '二维码', 'qr_code_url': '二维码URL', 'qr_code_type': '二维码类型', 'qr_code_status': '二维码状态', 'qr_code_create_time': '二维码创建时间', 'qr_code_update_time': '二维码更新时间', 'qr_code_remark': '二维码备注', 'qr_code_operator': '二维码操作员', 'qr_code_company': '二维码企业', 'qr_code_station': '二维码站点', 'qr_code_equipment': '二维码设备', 'qr_code_pile': '二维码桩号', 'qr_code_gun': '二维码枪号', 'qr_code_location': '二维码位置', 'qr_code_address': '二维码地址', 'qr_code_city': '二维码城市', 'qr_code_province': '二维码省份', 'qr_code_area': '二维码区域', 'qr_code_lat': '二维码纬度', 'qr_code_lng': '二维码经度', 'qr_code_alt': '二维码海拔', 'qr_code_accuracy': '二维码精度', 'qr_code_speed': '二维码速度', 'qr_code_direction': '二维码方向', 'qr_code_satellite': '二维码卫星', 'qr_code_signal': '二维码信号', 'qr_code_battery': '二维码电池', 'qr_code_temperature': '二维码温度', 'qr_code_humidity': '二维码湿度', 'qr_code_pressure': '二维码气压', 'qr_code_wind_speed': '二维码风速', 'qr_code_wind_direction': '二维码风向', 'qr_code_rainfall': '二维码降雨量', 'qr_code_snowfall': '二维码降雪量', 'qr_code_visibility': '二维码能见度', 'qr_code_uv_index': '二维码紫外线指数', 'qr_code_aqi': '二维码空气质量指数', 'qr_code_pm25': '二维码PM2.5', 'qr_code_pm10': '二维码PM10', 'qr_code_co': '二维码一氧化碳', 'qr_code_no2': '二维码二氧化氮', 'qr_code_so2': '二维码二氧化硫', 'qr_code_o3': '二维码臭氧', } def get_field_display_name(field_name): """获取字段的中文显示名称""" return FIELD_MAPPING.get(field_name, field_name) def get_all_fields(): """获取所有字段列表""" return list(FIELD_MAPPING.keys()) def get_all_fields_with_display(): """获取所有字段及其显示名称""" return [{'field': k, 'display': v} for k, v in FIELD_MAPPING.items()]