src/main/kotlin/com/flightfeather/uav/socket/processor/UnderwayProcessor.kt
@@ -1,5 +1,6 @@
package com.flightfeather.uav.socket.processor
import com.flightfeather.uav.model.epw.EPWDataPrep
import com.flightfeather.uav.repository.AirDataRepository
import com.flightfeather.uav.socket.bean.AirDataPackage
import com.flightfeather.uav.socket.decoder.AirDataDecoder
@@ -31,8 +32,11 @@
    @Autowired
    lateinit var airDataRepository: AirDataRepository
    val airDataDecoder = AirDataDecoder.instance
    val dataPackageDecoder = DataPackageDecoder()
    private val airDataDecoder = AirDataDecoder.instance
    private val dataPackageDecoder = DataPackageDecoder()
    // 数据预处理函数
    private val dataProcessMap = mutableMapOf<String?, EPWDataPrep>()
    @PostConstruct
    fun init() {
@@ -63,6 +67,14 @@
            AirCommandUnit.AirData.value -> {
                // 以json格式存储原始数据
                instance.airDataRepository.saveAirData(dataPackage)
                // 进行预处理后,存储至对应数据表
                if (!dataProcessMap.containsKey(dataPackage.deviceCode)) {
                    dataProcessMap[dataPackage.deviceCode] = EPWDataPrep()// 每台设备有单独的数据预处理对象
                }
                dataProcessMap[dataPackage.deviceCode]?.run {
                    val list = this.mDataPrep2(dataPackage)// 数据平滑处理
                    instance.airDataRepository.savePrepData2(list)// 按照设备类型存储至对应数据表
                }
            }
        }
    }