From dd2562d8dc2b01bcdfca3152f82f09efbbd09259 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期三, 25 六月 2025 19:49:48 +0800
Subject: [PATCH] fix(generallibrary): 优化卡片处理和支付方式获取逻辑- 修复地区卡处理逻辑,增加对"00"类型卡的特殊处理 - 优化用户卡数据解析和显示逻辑,提高容错性 - 改进支付方式获取方法,增加错误处理和日志记录 -调整充值接口调用参数,确保正确传递当前余额等信息- 修复 AreaCard 中 areaNumber 类型,改为字符串处理

---
 generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt |   77 ++++++++++++++++++++++++++++++--------
 1 files changed, 61 insertions(+), 16 deletions(-)

diff --git a/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
index 7023d35..9e08bf7 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
@@ -1,6 +1,8 @@
 package com.dayu.general.activity
 
 import android.os.Bundle
+import com.dayu.baselibrary.utils.MornyUtil
+import com.dayu.general.bean.card.UserCard
 import com.dayu.general.databinding.ActivityCardWriteSuccessBinding
 import com.dayu.general.tool.CardOperationType
 
@@ -10,35 +12,39 @@
  * @description: 鍐欏崱鎴愬姛椤甸潰
  */
 class CardWriteSuccessActivity : BaseActivity() {
-    
+
     private lateinit var binding: ActivityCardWriteSuccessBinding
     private var cardNumber: String? = null
     private var operationTypeCode: Int = -1
-    
+    private var userCard: UserCard? = null
+
     override fun onCreate(savedInstanceState: Bundle?) {
         super.onCreate(savedInstanceState)
         binding = ActivityCardWriteSuccessBinding.inflate(layoutInflater)
         setContentView(binding.root)
-        
+
         // 鑾峰彇浼犲叆鐨勫崱鍙峰拰鎿嶄綔绫诲瀷
         cardNumber = intent.getStringExtra("cardNumber")
         operationTypeCode = intent.getIntExtra("operationTypeCode", -1)
-        
+        if (intent.hasExtra("userCard")) {
+            userCard = intent.getSerializableExtra("userCard") as UserCard
+        }
+
         initView()
     }
-    
+
     private fun initView() {
         val operationType = CardOperationType.fromCode(operationTypeCode)
-        
+
         // 鏍规嵁鎿嶄綔绫诲瀷璁剧疆涓嶅悓鐨勬爣棰樺拰淇℃伅
         when (operationType) {
             CardOperationType.CancelCard -> {
                 // 璁剧疆鏍囬
                 binding.titleBar.setCenterText("閿�鍗℃垚鍔�")
-                
+
                 // 璁剧疆鎴愬姛淇℃伅
                 binding.successTitle.text = "閿�鍗℃垚鍔�"
-                
+
                 // 璁剧疆璇︾粏淇℃伅
                 val message = if (cardNumber.isNullOrBlank()) {
                     "鍗$墖宸叉垚鍔熼攢鍗″苟娓呴櫎鍐呭\n璇ュ崱鐗囧皢鏃犳硶鍐嶆浣跨敤"
@@ -47,14 +53,14 @@
                 }
                 binding.successMessage.text = message
             }
-            
-            CardOperationType.ReturnCard -> {
+
+            CardOperationType.SUPPLEMENT -> {
                 // 璁剧疆鏍囬
                 binding.titleBar.setCenterText("杩旇繕鎴愬姛")
-                
+
                 // 璁剧疆鎴愬姛淇℃伅
                 binding.successTitle.text = "杩旇繕鎴愬姛"
-                
+
                 // 璁剧疆璇︾粏淇℃伅
                 val message = if (cardNumber.isNullOrBlank()) {
                     "鍗$墖杩旇繕鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″唴浣欓宸叉洿鏂�"
@@ -63,12 +69,51 @@
                 }
                 binding.successMessage.text = message
             }
-            
+
+            CardOperationType.DeductCard -> {
+                // 璁剧疆鏍囬
+                binding.titleBar.setCenterText("琛ユ墸鎴愬姛")
+
+                // 璁剧疆鎴愬姛淇℃伅
+                binding.successTitle.text = "琛ユ墸鎴愬姛"
+
+                // 璁剧疆璇︾粏淇℃伅
+                val message = if (cardNumber.isNullOrBlank()) {
+                    "鍗$墖琛ユ墸鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″唴浣欓宸叉洿鏂�"
+                } else {
+                    "鍗$墖琛ユ墸鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鍗″唴浣欓宸叉洿鏂�"
+                }
+                binding.successMessage.text = message
+            }
+
+            CardOperationType.ReplaceCard -> {
+                // 璁剧疆鏍囬
+                binding.titleBar.setCenterText("琛ュ崱鎴愬姛")
+
+                // 璁剧疆鎴愬姛淇℃伅
+                binding.successTitle.text = "琛ュ崱鎴愬姛"
+
+                // 璁剧疆璇︾粏淇℃伅
+                val message = if (cardNumber.isNullOrBlank()) {
+                    "琛ュ崱鎿嶄綔宸叉垚鍔熷畬鎴怽n鏂板崱宸插啓鍏ユ暟鎹紝鍙甯镐娇鐢�"
+                } else {
+                    "琛ュ崱鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鏂板崱宸插啓鍏ユ暟鎹紝鍙甯镐娇鐢�"
+                }
+                binding.successMessage.text = message
+            }
+
+            CardOperationType.Recharge -> {
+                binding.titleBar.setCenterText("鍐欏崱鎴愬姛")
+                binding.successTitle.text = "鍐欏崱鎴愬姛"
+                binding.successMessage.text =
+                    "鍗″唴浣欓宸叉洿鏂颁负"+MornyUtil.changeF2Y(userCard?.balance?:0.toInt()) +"鍏�"
+            }
+
             else -> {
                 // 榛樿鏄剧ず鍐欏崱鎴愬姛
                 binding.titleBar.setCenterText("鍐欏崱鎴愬姛")
                 binding.successTitle.text = "鍐欏崱鎴愬姛"
-                
+
                 val message = if (cardNumber.isNullOrBlank()) {
                     "鍗$墖鎿嶄綔宸叉垚鍔熷畬鎴�"
                 } else {
@@ -77,12 +122,12 @@
                 binding.successMessage.text = message
             }
         }
-        
+
         // 璁剧疆鐐瑰嚮纭畾鎸夐挳鍚庡叧闂〉闈�
         binding.btnConfirm.setOnClickListener {
             finish()
         }
-        
+
         // 璁剧疆鏍囬鏍忚繑鍥炴寜閽�
         binding.titleBar.setOnItemclickListner(com.dayu.baselibrary.view.TitleBar.ClickType_LEFT_IMAGE) {
             finish()

--
Gitblit v1.8.0