From 4ceacd9e21e09989287e8dc4e526d182091af282 Mon Sep 17 00:00:00 2001 From: zuoxiao <lf_zuo@163.com> Date: 星期四, 26 六月 2025 13:39:52 +0800 Subject: [PATCH] feat(nfc): 优化 NFC卡片处理流程 --- 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