From 72880a3df304d21b897aecae5ab25a66069c0187 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 16 六月 2025 17:47:18 +0800 Subject: [PATCH] refactor(generallibrary):优化卡片信息展示和处理逻辑- 修改卡片信息展示布局,调整字段顺序和格式 - 优化卡片读取和处理逻辑,增加日志输出 - 调整金额显示和计算方式,确保精度正确 - 修复部分字段解析和填充逻辑 --- generallibrary/src/main/java/com/dayu/general/bean/card/UserCard.kt | 28 +++++++++++++++------------- 1 files changed, 15 insertions(+), 13 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/bean/card/UserCard.kt b/generallibrary/src/main/java/com/dayu/general/bean/card/UserCard.kt index 8e43c3d..3d7168e 100644 --- a/generallibrary/src/main/java/com/dayu/general/bean/card/UserCard.kt +++ b/generallibrary/src/main/java/com/dayu/general/bean/card/UserCard.kt @@ -17,10 +17,10 @@ var userCodeNumber: Int = 0 // 鐢ㄦ埛鍗$紪鍙�(HEX) var phoneNumber: String = "" // 鎵嬫満鍙�(BCD) var projectCode: Int = 0 // 椤圭洰缂栫爜(HEX 1-255) - var balance: Int = 0 // 鍓╀綑閲戦(2浣嶅皬鏁扮偣锛屽崟浣嶅厓) + var balance: Int = 0 // 鍓╀綑閲戦(2浣嶅皬鏁扮偣锛屽崟浣嶅垎) var surplusWater: Int = 0 // 鍓╀綑姘撮噺(2浣嶅皬鏁扮偣锛屽崟浣嶇珛鏂圭背) - var waterPrice: Float = 0f // 姘撮噺鍗曚环(鏈�澶�655.35锛�2浣嶅皬鏁扮偣銆傚崟浣嶏細m3/鍏�) - var electricPrice: Float = 0f // 鐢甸噺鍗曚环(鏈�澶�655.35锛�2浣嶅皬鏁扮偣銆傚崟浣�: 鍏�/搴�) + var waterPrice: Int = 0 // 姘撮噺鍗曚环(2浣嶅皬鏁扮偣锛屽崟浣嶅垎/m3) + var electricPrice: Int = 0 // 鐢甸噺鍗曚环(2浣嶅皬鏁扮偣锛屽崟浣嶅垎/搴�) var rechargeDate: Calendar? = null // 鍏呭�兼椂闂� /** @@ -74,7 +74,7 @@ projectCode = HexUtil.get16To10LowHightByBytes(byteArrayOf(one[0])) balance = HexUtil.get16To10LowHightByBytes(one.copyOfRange(1, 5)) surplusWater = HexUtil.get16To10LowHightByBytes(one.copyOfRange(5, 9)) - electricPrice = HexUtil.hexToFloatLowHigh(one.copyOfRange(9, 11)) + electricPrice = HexUtil.get16To10LowHightByBytes(one.copyOfRange(9, 11)) // 瑙f瀽鍏呭�兼椂闂� val year = HexUtil.getBcdToInt(one[11]) @@ -90,7 +90,7 @@ // 瑙f瀽绗�2鍧� val two = data[2] userCard.apply { - waterPrice = HexUtil.hexToFloatLowHigh(two.copyOfRange(9, 11)) + waterPrice = HexUtil.get16To10LowHightByBytes(two.copyOfRange(9, 11)) } return userCard @@ -157,10 +157,11 @@ System.arraycopy(waterPadded, 0, data, 5, 4) // 璁剧疆鐢典环 - 淇锛氱‘淇濇暟缁勯暱搴︽纭� - val priceBytes = HexUtil.hexToByteArray(HexUtil.floatToHexLowHigh(electricPrice)) - val pricePadded = ByteArray(2) - System.arraycopy(priceBytes, 0, pricePadded, 0, minOf(priceBytes.size, 2)) - System.arraycopy(pricePadded, 0, data, 9, 2) + val electricPriceHex = HexUtil.get10To16LowHigh(electricPrice) + val electricPriceBytes = HexUtil.hexToByteArray(electricPriceHex) + val electricPricePadded = ByteArray(2) + System.arraycopy(electricPriceBytes, 0, electricPricePadded, 0, minOf(electricPriceBytes.size, 2)) + System.arraycopy(electricPricePadded, 0, data, 9, 2) // 璁剧疆鍏呭�兼椂闂� rechargeDate?.let { @@ -196,10 +197,11 @@ System.arraycopy(waterPadded, 0, data, 5, 4) // 璁剧疆姘翠环 - 淇锛氱‘淇濇暟缁勯暱搴︽纭� - val priceBytes = HexUtil.hexToByteArray(HexUtil.floatToHexLowHigh(waterPrice)) - val pricePadded = ByteArray(2) - System.arraycopy(priceBytes, 0, pricePadded, 0, minOf(priceBytes.size, 2)) - System.arraycopy(pricePadded, 0, data, 9, 2) + val waterPriceHex = HexUtil.get10To16LowHigh(waterPrice) + val waterPriceBytes = HexUtil.hexToByteArray(waterPriceHex) + val waterPricePadded = ByteArray(2) + System.arraycopy(waterPriceBytes, 0, waterPricePadded, 0, minOf(waterPriceBytes.size, 2)) + System.arraycopy(waterPricePadded, 0, data, 9, 2) // 璁剧疆鍏呭�兼椂闂� rechargeDate?.let { -- Gitblit v1.8.0