package com.usky.cdi.service.config;

import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import java.util.HashMap;
import java.util.Map;

/**
 * 设备字段映射配置类
 * 替代配置文件中的device.field-mapping配置
 * @author fyc
 * @date 2025/12/20
 */
@Configuration
public class DeviceFieldConfig {

    /**
     * 设备类型与字段映射配置
     * @return 设备字段映射Map
     */
    @Bean
    public Map<String, String> deviceFieldMapping() {
        Map<String, String> fieldMapping = new HashMap<>();

        // 水浸传感器（702）
        fieldMapping.put("702", "leach_status");

        // 人员统计（703）
        fieldMapping.put("703", "amount_into,amount_out,day_into,day_out");

        // 电气火灾（704）
        fieldMapping.put("704", "voltage_a,voltage_b,voltage_c,current_a,current_b,current_c,temperature_a,temperature_b,temperature_c,current_residual,active_power");

        // 电能采集（705）
        fieldMapping.put("705", "electrical_energy");

        // 温度传感器（707）
        fieldMapping.put("707", "wd");

        // 湿度传感器（708）
        fieldMapping.put("708", "sd");

        // 氧气传感器（709）
        fieldMapping.put("709", "o2");

        // 二氧化碳传感器（710）
        fieldMapping.put("710", "co2");

        // 一氧化碳传感器（711）
        fieldMapping.put("711", "co");

        // // 倾斜传感器
        // fieldMapping.put("712", "qx");
        //
        // // 裂缝传感器
        // fieldMapping.put("713", "cd");

        // 位移传感器
        fieldMapping.put("714", "wy");

        // 液位
        fieldMapping.put("716", "sensorValue");

        return fieldMapping;
    }
}
