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/NewCard2Activity.kt | 50 +++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 41 insertions(+), 9 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt b/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt index c2dca73..3f6fcb8 100644 --- a/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt +++ b/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt @@ -172,17 +172,48 @@ ApiManager.getInstance().requestGetLoading( this, "terminal/paymentmethod/get", - Array<PaymentMethod>::class.java, + Any::class.java, null, - object : SubscriberListener<BaseResponse<Array<PaymentMethod>>>() { - override fun onNext(response: BaseResponse<Array<PaymentMethod>>) { + object : SubscriberListener<BaseResponse<Any>>() { + override fun onNext(response: BaseResponse<Any>) { if (response.success) { - // 鑾峰彇鏀粯鏂瑰紡鍒楄〃锛岀幇鍦╟ontent鐩存帴鏄疨aymentMethod鏁扮粍 - val paymentMethods = response.content?.toList() ?: listOf() - if (paymentMethods.isNotEmpty()) { - paymentMethodList = paymentMethods - // 鏇存柊鏀粯鏂瑰紡鏄剧ず - updatePaymentMethodRadioGroup() + try { + // 瀹夊叏鍦板鐞嗚繑鍥炵殑content锛屾湇鍔″櫒杩斿洖鐨勬槸ArrayList<LinkedHashMap> + val paymentMethods = mutableListOf<PaymentMethod>() + val content = response.content + + if (content is List<*>) { + content.forEach { item -> + if (item is Map<*, *>) { + val id = item["id"]?.toString() ?: "" + val name = item["name"]?.toString() ?: "" + if (id.isNotEmpty() && name.isNotEmpty()) { + paymentMethods.add(PaymentMethod(id, name)) + } + } + } + } + + if (paymentMethods.isNotEmpty()) { + paymentMethodList = paymentMethods + // 鏇存柊鏀粯鏂瑰紡鏄剧ず + updatePaymentMethodRadioGroup() + } else { + Toast.makeText( + this@NewCard2Activity, + "鑾峰彇鏀粯鏂瑰紡澶辫触锛氳繑鍥炴暟鎹负绌�", + Toast.LENGTH_SHORT + ).show() + } + } catch (e: Exception) { + android.util.Log.e("NewCard2Activity", "瑙f瀽鏀粯鏂瑰紡鏁版嵁澶辫触", e) + android.util.Log.e("NewCard2Activity", "鍘熷鏁版嵁绫诲瀷: ${response.content?.javaClass?.name}") + android.util.Log.e("NewCard2Activity", "鍘熷鏁版嵁鍐呭: ${response.content}") + Toast.makeText( + this@NewCard2Activity, + "瑙f瀽鏀粯鏂瑰紡鏁版嵁澶辫触: ${e.message}", + Toast.LENGTH_SHORT + ).show() } } else { Toast.makeText( @@ -195,6 +226,7 @@ override fun onError(e: Throwable?) { super.onError(e) + android.util.Log.e("NewCard2Activity", "缃戠粶璇锋眰澶辫触", e) Toast.makeText( this@NewCard2Activity, "鑾峰彇鏀粯鏂瑰紡澶辫触: ${e?.message ?: "缃戠粶寮傚父"}", -- Gitblit v1.8.0