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/activity/CardReadActivity.kt |   67 ++++++++++++++++++++++-----------
 1 files changed, 44 insertions(+), 23 deletions(-)

diff --git a/generallibrary/src/main/java/com/dayu/general/activity/CardReadActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/CardReadActivity.kt
index 271b476..069d464 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/CardReadActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/CardReadActivity.kt
@@ -38,18 +38,16 @@
         super.onCreate(savedInstanceState)
         binding = ActivityCardReadBinding.inflate(layoutInflater)
         setContentView(binding.root)
-        
+
         initView()
     }
 
     private fun initView() {
-        // 璁剧疆鏍囬
-        binding.titleBar.setCenterText("璇诲崱")
         // 璁剧疆TitleBar鐨勮繑鍥炴寜閽偣鍑讳簨浠�
         binding.titleBar.setOnItemclickListner(TitleBar.ClickType_LEFT_IMAGE) {
             finish()
         }
-        
+
 
     }
 
@@ -73,8 +71,8 @@
     }
 
     override fun onNfcBack(intent: Intent?) {
-        intent?.let { 
-            handleNfcIntent(it) 
+        intent?.let {
+            handleNfcIntent(it)
         } ?: run {
             showConfirmDialog("NFC鏁版嵁寮傚父锛岃閲嶆柊鍒峰崱") {
             }
@@ -117,12 +115,13 @@
 
             // 鏍规嵁鍗$墖绫诲瀷杩涜涓嶅悓澶勭悊
             when (cardType) {
-                CardCommon.USER_CARD_TYPE_1, 
-                CardCommon.USER_CARD_TYPE_2, 
+                CardCommon.USER_CARD_TYPE_1,
+                CardCommon.USER_CARD_TYPE_2,
                 CardCommon.USER_CARD_TYPE_3 -> {
                     // 鐢ㄦ埛鍗★細瑙f瀽鍗″唴鏁版嵁骞惰皟鐢ㄦ帴鍙�
                     handleUserCard(cardNumber, cardType, nfcAdapter)
                 }
+
                 else -> {
                     // 绠$悊绫诲崱锛氭樉绀哄崱鐗囩被鍨嬩俊鎭�
                     handleManagementCard(cardNumber, cardType)
@@ -146,6 +145,23 @@
             }
             return
         }
+        binding.tvCardNumber.text = cardNumber
+        // 杈撳嚭鐢ㄦ埛鍗″唴鎵�鏈変俊鎭埌鏃ュ織
+        android.util.Log.d("CardReadActivity", "=== 鐢ㄦ埛鍗′俊鎭� ===")
+        android.util.Log.d("CardReadActivity", "鍗″彿: $cardNumber")
+        android.util.Log.d("CardReadActivity", "鍗$墖绫诲瀷: $cardType")
+        android.util.Log.d("CardReadActivity", "鍥藉琛屾斂鍖哄煙鍙�: ${userCard.areaNumber}")
+        android.util.Log.d("CardReadActivity", "鐢ㄦ埛缂栧彿: ${userCard.userCode}")
+        android.util.Log.d("CardReadActivity", "鐢ㄦ埛鍗$紪鍙�: ${userCard.userCodeNumber}")
+        android.util.Log.d("CardReadActivity", "瀹屾暣鐢ㄦ埛缂栧彿: ${userCard.getMyUserCode()}")
+        android.util.Log.d("CardReadActivity", "鎵嬫満鍙�: ${userCard.phoneNumber}")
+        android.util.Log.d("CardReadActivity", "椤圭洰缂栫爜: ${userCard.projectCode}")
+        android.util.Log.d("CardReadActivity", "鍗″唴浣欓: ${userCard.balance}")
+        android.util.Log.d("CardReadActivity", "鍓╀綑姘撮噺: ${userCard.surplusWater}")
+        android.util.Log.d("CardReadActivity", "姘撮噺鍗曚环: ${userCard.waterPrice}")
+        android.util.Log.d("CardReadActivity", "鐢甸噺鍗曚环: ${userCard.electricPrice}")
+        android.util.Log.d("CardReadActivity", "鍏呭�兼椂闂�: ${userCard.rechargeDate}")
+        android.util.Log.d("CardReadActivity", "==================")
 
         // 鏍规嵁鍗″彿鑾峰彇鍗$墖璇︾粏淇℃伅
         getCardInfo(cardNumber, cardType, userCard)
@@ -156,7 +172,7 @@
      */
     private fun handleManagementCard(cardNumber: String, cardType: String) {
         val cardTypeName = getCardTypeName(cardType)
-        
+
         // 鏄剧ず绠$悊鍗′俊鎭�
         showManagementCardInfo(cardNumber, cardTypeName)
     }
@@ -168,13 +184,12 @@
         // 闅愯棌璇诲崱鎻愮ず锛屾樉绀轰俊鎭尯鍩�
         binding.cardReadLL.visibility = android.view.View.GONE
         binding.cardInfoContainer.visibility = android.view.View.VISIBLE
-        
 
-        
+
         // 鏄剧ず鍩烘湰淇℃伅
-        binding.tvCardNumber.text = cardNumber
+
         binding.tvCardType.text = cardTypeName
-        
+
         // 闅愯棌鐢ㄦ埛鍗$壒鏈夌殑瀛楁
         binding.llCardBalance.visibility = android.view.View.GONE
         binding.llUserNumber.visibility = android.view.View.GONE
@@ -238,22 +253,26 @@
     /**
      * 鏄剧ず鐢ㄦ埛鍗$墖淇℃伅锛堝寘鍚崱鍐呮暟鎹拰鎺ュ彛杩斿洖鏁版嵁锛�
      */
-    private fun showUserCardInfo(cardInfo: CardInfoResult?, cardNumber: String, cardType: String, userCard: UserCard) {
+    private fun showUserCardInfo(
+        cardInfo: CardInfoResult?,
+        cardNumber: String,
+        cardType: String,
+        userCard: UserCard
+    ) {
         // 闅愯棌璇诲崱鎻愮ず锛屾樉绀轰俊鎭尯鍩�
         binding.cardReadLL.visibility = android.view.View.GONE
         binding.cardInfoContainer.visibility = android.view.View.VISIBLE
 
         val cardTypeName = getCardTypeName(cardType)
-        
+
         // 鏄剧ず鍗″唴鏁版嵁
-        binding.tvCardNumber.text = cardNumber
+
         binding.tvCardType.text = cardTypeName
-        
         // 鏄剧ず鐢ㄦ埛鍗$壒鏈夊瓧娈�
         binding.llCardBalance.visibility = android.view.View.VISIBLE
         binding.llUserNumber.visibility = android.view.View.VISIBLE
         binding.llCardStatus.visibility = android.view.View.VISIBLE
-        
+
         userCard.let { card ->
             // 浣欓杞崲涓哄厓锛堝師濮嬫暟鎹彲鑳芥槸鍒嗭級
             val balanceInYuan = if (card.balance > 1000) {
@@ -262,18 +281,19 @@
                 card.balance.toString()
             }
             binding.tvCardBalance.text = "${balanceInYuan}鍏�"
-            
+
             // 浣跨敤瀹屾暣鐨勭敤鎴风紪鍙�
-            binding.tvUserNumber.text = card.getMyUserCode()
-            
+            binding.tvUserNumber.text = cardInfo?.cardNum
+
             // 鍗$墖鐘舵�侊紙鍋囪姝e父鐘舵�侊紝鍥犱负UserCard涓病鏈夌姸鎬佸瓧娈碉級
             binding.tvCardStatus.text = "姝e父"
             binding.tvCardStatus.setTextColor(android.graphics.Color.parseColor("#4CAF50"))
-            
+
             // 鍏呭�兼椂闂翠綔涓烘渶鍚庝娇鐢ㄦ椂闂�
             if (card.rechargeDate != null) {
                 binding.llLastUseTime.visibility = android.view.View.VISIBLE
-                val dateFormat = java.text.SimpleDateFormat("yyyy-MM-dd HH:mm", java.util.Locale.getDefault())
+                val dateFormat =
+                    java.text.SimpleDateFormat("yyyy-MM-dd HH:mm", java.util.Locale.getDefault())
                 binding.tvLastUseTime.text = dateFormat.format(card.rechargeDate!!.time)
             } else {
                 binding.llLastUseTime.visibility = android.view.View.GONE
@@ -305,6 +325,7 @@
             "1001" -> {
                 "璇ュ崱鐗囨湭鍦ㄧ郴缁熶腑娉ㄥ唽锛岃鍏堣繘琛屽紑鍗℃搷浣溿��"
             }
+
             else -> {
                 when {
                     msg.isNullOrBlank() -> "鑾峰彇鍗′俊鎭け璐ワ紝璇烽噸鏂板埛鍗¢噸璇曘��"

--
Gitblit v1.8.0