src/main/kotlin/com/flightfeather/obd/socket/MessageManager.kt
@@ -1,10 +1,11 @@
package com.flightfeather.obd.socket
import com.flightfeather.obd.common.utils.FileUtil
import com.flightfeather.obd.repository.ObdDataRepository
import com.flightfeather.obd.repository.*
import com.flightfeather.obd.socket.bean.ObdPackageData
import com.flightfeather.obd.socket.decoder.VehicleDataDecoder
import com.flightfeather.obd.socket.decoder.impl.DataPackageDecoderImpl
import com.flightfeather.obd.socket.eunm.ObdCommandUnit
import io.netty.channel.ChannelHandlerContext
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.stereotype.Component
@@ -27,6 +28,16 @@
    @Autowired
    lateinit var obdDataRepository: ObdDataRepository
    @Autowired
    lateinit var originDataRepository: OriginDataRepository
    @Autowired
    lateinit var obdInfoRepository: ObdInfoRepository
    @Autowired
    lateinit var dataStreamRepository: DataStreamRepository
    @Autowired
    lateinit var carLogoutRepository: CarLogoutRepository
    @Autowired
    lateinit var carLoginRepository: CarLoginRepository
    val vehicleDataDecoder = VehicleDataDecoder()
    val dataPackageDecoder = DataPackageDecoderImpl()
@@ -35,6 +46,11 @@
    fun init() {
        instance = this
        instance.obdDataRepository = this.obdDataRepository
        instance.originDataRepository = this.originDataRepository
        instance.obdInfoRepository = this.obdInfoRepository
        instance.dataStreamRepository = this.dataStreamRepository
        instance.carLogoutRepository = this.carLogoutRepository
        instance.carLoginRepository = this.carLoginRepository
    }
    fun dealStringMsg(msg: String, ctx: ChannelHandlerContext?) {
@@ -45,7 +61,7 @@
            val packageData = vehicleDataDecoder.decode(msg)
            //保存
            DeviceSession.saveDevice(packageData.deviceCode, ctx)
            saveToDataBase(packageData)
            saveToDataBase(packageData, msg)
        } else {
            println("------数据BCC校验失败,舍弃 [${SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(Date())}]")
        }
@@ -62,8 +78,15 @@
    /**
     * 保存至数据库
     */
    fun saveToDataBase(packageData: ObdPackageData) {
    fun saveToDataBase(packageData: ObdPackageData, msg: String) {
        instance.obdDataRepository.saveObdData(packageData)
        instance.originDataRepository.saveOriginData(packageData, msg)
        when (packageData.commandUnit) {
            ObdCommandUnit.CarRegister.value -> instance.carLoginRepository.saveCarLogin(packageData)
            ObdCommandUnit.RealTimeData.value,
            ObdCommandUnit.ReplacementData.value -> instance.dataStreamRepository.saveDataStream(packageData)
            ObdCommandUnit.CarLogOut.value-> instance.carLogoutRepository.saveCarLogout(packageData)
        }
    }
    /**