From 2bf337ab074f1c047c4f4e4df29ed994d3decaf1 Mon Sep 17 00:00:00 2001
From: riku <risaku@163.com>
Date: 星期二, 17 九月 2019 13:57:32 +0800
Subject: [PATCH] 修改一些属性及类的命名

---
 src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt |   15 ++--
 src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt     |    7 -
 src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt       |  117 +++++++++++++++++++++++++++++++++++++++
 src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt                     |    4 
 src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt                |    2 
 src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt            |    2 
 src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt          |    4 
 src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt                         |    2 
 src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt              |    6 +-
 9 files changed, 136 insertions(+), 23 deletions(-)

diff --git a/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt b/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
index 0ecfaae..b3ba4d2 100644
--- a/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
+++ b/src/main/kotlin/com/flightfeather/obd/repository/impl/ObdDataDaoImpl.kt
@@ -71,13 +71,13 @@
                                 obdTime = it.time
                                 obdProtocol = it.obdProtocol
                                 obdMil = it.obdMil
-                                obdIdCode = it.obdSoftwareCode
+                                obdIdCode = it.obdCrn
                                 obdVerificationCode = it.obdCvn
                                 obdFaultCodeNum = it.obdFaultCodeNum
                                 obdFaultCode = it.obdFaultCode
                             }
                         }
-                        is EngineDataFlow -> {
+                        is EngineDataStream -> {
                             obdData.apply {
                                 obdTime = it.time
                                 obdLng = it.obdLong
@@ -101,7 +101,7 @@
                                 obdTotalMileage = it.obdTotalMileage
                             }
                         }
-                        is SupplementDataFlow -> {
+                        is SupplementDataStream -> {
                             obdData.apply {
                                 obdTime = it.time
                                 obdEngineTorqueMode = it.obdEngineTorqueMode?.toString()
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataFlow.kt b/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt
similarity index 97%
rename from src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataFlow.kt
rename to src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt
index fe81661..2a6dce2 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataFlow.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/bean/EngineDataStream.kt
@@ -9,7 +9,7 @@
  * 瀹炴椂淇℃伅[RealTimeData] 涓殑鍙戝姩鏈烘暟鎹祦
  * 鏁版嵁绫诲瀷 @see [ObdDataType.EngineDataFlow]
  */
-class EngineDataFlow(
+class EngineDataStream(
         time: Date?,
         serialNum: Int?
 ) : RealTimeData(time, serialNum) {
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt b/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt
index c986cc6..a53bcd7 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/bean/ObdData.kt
@@ -19,7 +19,7 @@
     var diagnosisSupportStatus: String? = null//璇婃柇鏀寔鐘舵��
     var diagnosisReadyStatus: String? = null//璇婃柇灏辩华鐘舵��
     var obdVin: String? = null
-    var obdSoftwareCode: String? = null//杞欢鏍囧畾璇嗗埆鍙�
+    var obdCrn: String? = null//杞欢鏍囧畾璇嗗埆鍙�
     var obdCvn: String? = null//鏍囧畾楠岃瘉鐮�
     var IUPR:String?=null//瀹氫箟鍙傝�� SAE J 1979-DA 琛� G11
     var obdFaultCodeNum: Int? = null//鏁呴殰鐮佹�绘暟: 鏈夋晥鍊艰寖鍥达細0~253锛屸��0xFE鈥濊〃绀烘棤鏁堛��
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataFlow.kt b/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt
similarity index 98%
rename from src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataFlow.kt
rename to src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt
index 4460b73..8e1157b 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataFlow.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/bean/SupplementDataStream.kt
@@ -45,7 +45,7 @@
  *                                                                                                   鏁版嵁鑼冨洿锛�-273~1734.96875鈩�
  *                                                                                                   鈥�0xFF,0xFF鈥濊〃绀烘棤鏁�
  */
-class SupplementDataFlow(
+class SupplementDataStream(
         time: Date?,
         serialNum: Int?
 ) : RealTimeData(time, serialNum) {
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt b/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt
index 24e41e0..a724c1e 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/decoder/RealTimeDataDecoder.kt
@@ -14,9 +14,9 @@
 
     fun getObdData(time: Date?, serialNum: Int, b: List<String>): ObdData?
 
-    fun getEngineDataFlow(time: Date?, serialNum: Int, b: List<String>): EngineDataFlow?
+    fun getEngineDataStream(time: Date?, serialNum: Int, b: List<String>): EngineDataStream?
 
-    fun getSupplementDataFlow(time: Date?, serialNum: Int, b: List<String>): SupplementDataFlow?
+    fun getSupplementDataStream(time: Date?, serialNum: Int, b: List<String>): SupplementDataStream?
 
     /**
      * 鏍规嵁浼犲叆鐨勫垪琛紝榛樿绗竴浣嶄负 [ObdDataType]锛岃繑鍥炲搴旂殑鏁版嵁鍒楄〃
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt
index ff459d2..02ad0de 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/DataUnitDecoderImpl.kt
@@ -4,11 +4,8 @@
 import com.flightfeather.obd.socket.decoder.DataUnitDecoder
 import com.flightfeather.obd.socket.decoder.RealTimeDataDecoder
 import com.flightfeather.obd.socket.eunm.ObdDataType
-import org.springframework.beans.factory.annotation.Autowired
-import org.springframework.stereotype.Component
 import java.lang.StringBuilder
 import java.util.*
-import javax.annotation.PostConstruct
 
 /**
  * @author riku
@@ -72,8 +69,8 @@
             if (data.isNotEmpty()) {
                 val r = when (data[0].toInt(16)) {
                     ObdDataType.ObdData.value -> realTimeDataDecoder.getObdData(time, serialNum, data)
-                    ObdDataType.EngineDataFlow.value -> realTimeDataDecoder.getEngineDataFlow(time, serialNum, data)
-                    ObdDataType.SupplementDataFlow.value -> realTimeDataDecoder.getSupplementDataFlow(time, serialNum, data)
+                    ObdDataType.EngineDataFlow.value -> realTimeDataDecoder.getEngineDataStream(time, serialNum, data)
+                    ObdDataType.SupplementDataFlow.value -> realTimeDataDecoder.getSupplementDataStream(time, serialNum, data)
                     else -> null
                 }
 
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt
index e1067f6..a1a4e22 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/decoder/impl/RealTimeDataDecoderImpl.kt
@@ -1,11 +1,10 @@
 package com.flightfeather.obd.socket.decoder.impl
 
-import com.flightfeather.obd.socket.bean.EngineDataFlow
+import com.flightfeather.obd.socket.bean.EngineDataStream
 import com.flightfeather.obd.socket.bean.ObdData
-import com.flightfeather.obd.socket.bean.SupplementDataFlow
+import com.flightfeather.obd.socket.bean.SupplementDataStream
 import com.flightfeather.obd.socket.decoder.RealTimeDataDecoder
 import com.flightfeather.obd.socket.eunm.ObdDataType
-import org.springframework.stereotype.Component
 import java.util.*
 
 /**
@@ -53,7 +52,7 @@
                 diagnosisSupportStatus = "${dataList[2]}${dataList[3]}".toIntOrNull(16)?.toString(2)
                 diagnosisReadyStatus = "${dataList[4]}${dataList[5]}".toIntOrNull(16)?.toString(2)
                 obdVin = vin.toString()
-                obdSoftwareCode = softwareCode.toString()
+                obdCrn = softwareCode.toString()
                 obdCvn = cvn.toString()
                 this.IUPR = IUPR.toString()
                 obdFaultCodeNum = faultCodeNum
@@ -64,7 +63,7 @@
         }
     }
 
-    override fun getEngineDataFlow(time: Date?, serialNum: Int, b: List<String>): EngineDataFlow? {
+    override fun getEngineDataStream(time: Date?, serialNum: Int, b: List<String>): EngineDataStream? {
         val dataList = mutableListOf<String>().apply { addAll(b) }
         if (b.isNotEmpty()) {
             //鍘婚櫎 淇℃伅绫诲瀷鏍囧織
@@ -72,7 +71,7 @@
         }
 
         return if (dataList.size >= 37) {
-             EngineDataFlow(time, serialNum).apply {
+             EngineDataStream(time, serialNum).apply {
                 obdSpeed = "${dataList[0]}${dataList[1]}".toIntOrNull(16)?.toDouble()?.times((1 / 256).toDouble())
                 obdAirPressure = dataList[2].toIntOrNull(16)?.toDouble()?.times(0.5)
                 obdEngineTorque = dataList[3].toIntOrNull(16)?.minus(125)?.toDouble()?.div(100)
@@ -98,7 +97,7 @@
         }
     }
 
-    override fun getSupplementDataFlow(time: Date?, serialNum: Int, b: List<String>): SupplementDataFlow? {
+    override fun getSupplementDataStream(time: Date?, serialNum: Int, b: List<String>): SupplementDataStream? {
         val dataList = mutableListOf<String>().apply { addAll(b) }
         if (b.isNotEmpty()) {
             //鍘婚櫎 淇℃伅绫诲瀷鏍囧織
@@ -106,7 +105,7 @@
         }
 
         return if (dataList.size >= 17) {
-            SupplementDataFlow(time, serialNum).apply {
+            SupplementDataStream(time, serialNum).apply {
                 obdEngineTorqueMode = dataList[0].toIntOrNull(16)
                 obdAcceleratorPedal = dataList[1].toIntOrNull(16)?.toDouble()?.times(0.4)?.div(100)
                 obdTotalOilConsumption = "${dataList[2]}${dataList[3]}${dataList[4]}${dataList[5]}".toIntOrNull(16)?.toDouble()?.times(0.5)
diff --git a/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt b/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt
index 1a9b434..9b9c944 100644
--- a/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt
+++ b/src/main/kotlin/com/flightfeather/obd/socket/eunm/ObdDataType.kt
@@ -8,9 +8,9 @@
  * 瀹炴椂淇℃伅[RealTimeData]鍜岃ˉ鍙戜俊鎭痆ReplacementData] 涓殑鏁版嵁绫诲瀷
  * 绫诲瀷缂栫爜                     璇存槑
  * 0x01                           OBD 淇℃伅    @see [com.flightfeather.obd.socket.bean.ObdData]
- * 0x02                          鏁版嵁娴佷俊鎭�  @see[com.flightfeather.obd.socket.bean.EngineDataFlow]
+ * 0x02                          鏁版嵁娴佷俊鎭�  @see[com.flightfeather.obd.socket.bean.EngineDataStream]
  * 0x03-0x7F                棰勭暀
- * 0x80                          琛ュ厖鏁版嵁娴�   @see[com.flightfeather.obd.socket.bean.SupplementDataFlow]
+ * 0x80                          琛ュ厖鏁版嵁娴�   @see[com.flightfeather.obd.socket.bean.SupplementDataStream]
  * 0x81~0xFE                鐢ㄦ埛鑷畾涔�
  */
 enum class ObdDataType constructor(val value: Int){
diff --git a/src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt b/src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt
new file mode 100644
index 0000000..8eac338
--- /dev/null
+++ b/src/test/kotlin/com/flightfeather/obd/socket/decoder/VehicleDataDecoderTest.kt
@@ -0,0 +1,117 @@
+package com.flightfeather.obd.socket.decoder
+
+import com.flightfeather.obd.domain.entity.ObdData
+import com.flightfeather.obd.socket.bean.*
+import com.flightfeather.obd.socket.eunm.ObdCommandUnit
+import org.junit.Test
+
+/**
+ * @author riku
+ * Date: 2019/9/17
+ */
+class VehicleDataDecoderTest {
+
+    private val vehicleDataDecoder = VehicleDataDecoder()
+
+    @Test
+    fun decode() {
+        val msg = "23 23 02 31 37 36 39 31 35 33 31 39 30 39 31 32 30 30 30 36 01 01 00 42 13 09 11 08 3b 36 02 00 3a 00 00 d4 00 00 12 c0 09 5e 00 c8 00 c8 00 15 a9 00 00 00 00 00 00 73 00 00 00 b9 1b c7 00 2e e1 24 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dc"
+        val msg2 = "23 23 02 31 37 36 39 31 35 33 31 39 30 39 31 32 30 30 30 36 01 01 00 42 13 09 11 08 3b 36 02 00 3b 00 00 d4 00 00 12 c0 09 5e 00 c8 00 c8 00 15 a9 00 00 00 00 00 00 73 00 00 00 b9 1b c7 00 2e e1 25 00 00 00 00 80 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 dc"
+        val packageData = vehicleDataDecoder.decode(msg2)
+
+        val obdData = ObdData().apply {
+            obdVin = packageData.deviceCode
+        }
+        when (packageData.commandUnit) {
+            ObdCommandUnit.CarRegister.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is CarRegisterData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                            }
+                        }
+                    }
+                }
+            }
+            ObdCommandUnit.RealTimeData.value,
+            ObdCommandUnit.ReplacementData.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is com.flightfeather.obd.socket.bean.ObdData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                                obdProtocol = it.obdProtocol
+                                obdMil = it.obdMil
+                                obdIdCode = it.obdCrn
+                                obdVerificationCode = it.obdCvn
+                                obdFaultCodeNum = it.obdFaultCodeNum
+                                obdFaultCode = it.obdFaultCode
+                            }
+                        }
+                        is EngineDataStream -> {
+                            obdData.apply {
+                                obdTime = it.time
+                                obdLng = it.obdLong
+                                obdLat = it.obdLat
+                                obdSpeed = it.obdSpeed?.toInt()
+                                obdAirPressure = it.obdAirPressure
+                                obdEngineTorque = it.obdEngineTorque
+                                obdFrictionTorque = it.obdFrictionTorque
+                                obdEngineRpm = it.obdEngineRpm?.toInt()
+                                obdStartFuelFlow = it.obdEngineFuelFlow
+                                obdScrUpstreamNo = it.obdScrUpstreamNo
+                                obdScrDownstreamNo = it.obdScrDownstreamNo
+                                obdRemainReactant = it.obdRemainReactant
+                                obdAirInput = it.obdAirInput
+                                obdScrInputTemp = it.obdScrInputTemp
+                                obdScrOutputTemp = it.obdScrOutputTemp
+                                obdDpf = it.obdDpf
+                                obdEngineCoolantTemp = it.obdEngineCoolantTemp
+                                obdFuelLevel = it.obdFuelLevel
+                                obdLocationStatus = it.obdLocationStatus
+                                obdTotalMileage = it.obdTotalMileage
+                            }
+                        }
+                        is SupplementDataStream -> {
+                            obdData.apply {
+                                obdTime = it.time
+                                obdEngineTorqueMode = it.obdEngineTorqueMode?.toString()
+                                obdAcceleratorPedal = it.obdAcceleratorPedal
+                                obdTotalOilConsumption = it.obdTotalOilConsumption
+                                obdUreaBoxTemp = it.obdUreaBoxTemp
+                                obdUreaVolume = it.obdUreaVolume?.toInt()
+                                obdTotalUreaConsume = it.obdTotalUreaConsume
+                                obdDpfTemp = it.obdDpfTemp
+//                                obdFirmwareVersion =
+                            }
+                        }
+                    }
+                }
+
+            }
+            ObdCommandUnit.CarLogOut.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is CarLogOutData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                            }
+                        }
+                    }
+                }
+            }
+            ObdCommandUnit.TimeCalibration.value -> {
+                packageData.dataUnit.forEach {
+                    when (it) {
+                        is TimeCalibrationData -> {
+                            obdData.apply {
+                                obdTime = it.time
+                            }
+                        }
+                    }
+                }
+            }
+        }
+    }
+}
\ No newline at end of file

--
Gitblit v1.9.3