From 87e5604ad04c0b7aaacf3d52bae85e62d308cb6d Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期四, 26 六月 2025 16:41:02 +0800
Subject: [PATCH] refactor(generallibrary):重构开卡成功界面并移除未使用的开卡界面
---
generallibrary/src/main/java/com/dayu/general/activity/RechargeFragment.kt | 108 +++++++++++++++++++++++++++++++++++-------------------
1 files changed, 70 insertions(+), 38 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/activity/RechargeFragment.kt b/generallibrary/src/main/java/com/dayu/general/activity/RechargeFragment.kt
index 79c9fbd..3dc8847 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/RechargeFragment.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/RechargeFragment.kt
@@ -10,11 +10,14 @@
import com.dayu.baselibrary.tools.nfc.NfcReadAdapter
import com.dayu.baselibrary.utils.ToastUtil
import com.dayu.baselibrary.view.ConfirmDialog
+import com.dayu.baselibrary.view.TipDialog
import com.dayu.general.bean.net.CardInfoResult
import com.dayu.general.databinding.FragmentRechargeBinding
import com.dayu.general.net.ApiManager
import com.dayu.general.net.BaseResponse
import com.dayu.general.tool.NfcReadHelper
+import com.dayu.general.bean.card.UserCard
+import com.dayu.general.tool.CardCommon
class RechargeFragment : Fragment() {
var binding: FragmentRechargeBinding? = null
@@ -28,25 +31,25 @@
binding = FragmentRechargeBinding.inflate(inflater, container, false)
return binding?.root
}
-
+
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
- initView()
}
-
- private fun initView() {
- // 鍒濆鍖栫晫闈㈡樉绀鸿鍗$姸鎬�
- binding?.rechargeReadLL?.visibility = View.VISIBLE
- }
-
-
- private fun resetView() {
- // 閲嶇疆鐣岄潰鏄剧ず璇诲崱鐘舵��
- binding?.rechargeReadLL?.visibility = View.VISIBLE
+
+ /**
+ * 鏄剧ず纭瀵硅瘽妗�
+ */
+ private fun showConfirmDialog(message: String, onConfirm: () -> Unit) {
+ activity?.let { activity ->
+ val confirmDialog = TipDialog(activity, message) {
+ onConfirm()
+ }
+ confirmDialog.show()
+ }
}
-
+
/**
* 澶勭悊NFC鍒峰崱淇℃伅
* 璇ユ柟娉曠敱MainActivity璋冪敤
@@ -56,32 +59,66 @@
try {
// 妫�鏌ntent涓槸鍚﹀寘鍚玁FC Tag
if (intent.getParcelableExtra<android.nfc.Tag>(android.nfc.NfcAdapter.EXTRA_TAG) == null) {
- ToastUtil.show("鏈娴嬪埌NFC鍗$墖锛岃纭繚鍗$墖宸叉纭斁缃�")
+ showConfirmDialog("鏈娴嬪埌NFC鍗$墖锛岃纭繚鍗$墖宸叉纭斁缃�") {
+ }
return
}
-
- // 浣跨敤NfcReadAdapter璇诲彇鍗″彿
+
val nfcAdapter = NfcReadHelper.getInstance(intent, activity)
- cardNumber = nfcAdapter.getCardNumber()
-
- if (cardNumber.isNullOrEmpty()) {
- ToastUtil.show("璇诲崱澶辫触锛岃閲嶆柊鍒峰崱")
+ val cardTypeAndCardNumber = nfcAdapter.getCardTypeAndCardNumber()
+ if (cardTypeAndCardNumber.isNullOrBlank() || !cardTypeAndCardNumber.contains(",")) {
+ showConfirmDialog("鍗$墖淇℃伅璇诲彇澶辫触锛岃閲嶆柊鍒峰崱") {
+ }
+ return
+ }
+ val parts = cardTypeAndCardNumber.split(",")
+ if (parts.size < 2) {
+ showConfirmDialog("鍗$墖淇℃伅鏍煎紡寮傚父锛岃閲嶆柊鍒峰崱") {
+ }
+ return
+ }
+ val cardNumber = parts[0]
+ val cardType = parts[1]
+ this.cardNumber = cardNumber
+ if (cardNumber.isBlank()) {
+ showConfirmDialog("鍗″彿涓虹┖锛屾棤娉曡繘琛屽厖鍊硷紝璇烽噸鏂板埛鍗�") {
+ }
+ return
+ }
+ if (cardType != CardCommon.USER_CARD_TYPE_1) {
+ if(cardType == CardCommon.USER_CARD_TYPE_2){
+ showConfirmDialog("璇ュ崱鐗囧凡寮�娉碉紝璇峰叧娉靛悗鍏呭�笺��") {
+ }
+ }else{
+ showConfirmDialog("璇ュ崱鐗囦笉鏄敤鎴峰崱锛岃浣跨敤姝g‘鐨勭敤鎴峰崱杩涜鍏呭�兼搷浣溿��") {
+ }
+ }
+
+ return
+ }
+
+ // 瑙f瀽鐢ㄦ埛鍗℃暟鎹�
+ val userCard = nfcAdapter.getUserCardData()
+ if (userCard == null) {
+ showConfirmDialog("瑙f瀽鍗$墖鏁版嵁澶辫触锛岃閲嶆柊鍒峰崱") {
+ }
return
}
// 鏍规嵁鍗″彿鑾峰彇鍗$墖璇︾粏淇℃伅
- getCardInfo(cardNumber!!)
+ getCardInfo(cardNumber, userCard)
} catch (e: Exception) {
- ToastUtil.show("璇诲崱寮傚父锛�${e.message}")
+ showConfirmDialog("璇诲崱寮傚父锛�${e.message}") {
+ }
e.printStackTrace()
}
}
}
-
+
/**
* 鑾峰彇鍗$墖璇︾粏淇℃伅
*/
- private fun getCardInfo(cardNumber: String) {
+ private fun getCardInfo(cardNumber: String, userCard: UserCard) {
activity?.let { activity ->
val map = mutableMapOf<String, Any>()
map["cardAddr"] = cardNumber
@@ -93,8 +130,8 @@
object : SubscriberListener<BaseResponse<CardInfoResult>>() {
override fun onNext(t: BaseResponse<CardInfoResult>) {
if (t.success) {
- // 璺宠浆鍒板厖鍊艰鎯呴〉闈�
- RechargeDetailActivity.start(activity, t.content, cardNumber)
+ // 璺宠浆鍒板厖鍊艰鎯呴〉闈紝浼犻�掔敤鎴峰崱淇℃伅
+ RechargeDetailActivity.start(activity, t.content, cardNumber, userCard)
} else {
// 澶勭悊鑾峰彇澶辫触鐨勬儏鍐�
handleCardInfoError(t.code, t.msg)
@@ -103,28 +140,28 @@
override fun onError(e: Throwable?) {
super.onError(e)
- ToastUtil.show("鑾峰彇鍗′俊鎭け璐�: ${e?.message ?: "缃戠粶寮傚父锛岃妫�鏌ョ綉缁滆繛鎺�"}")
- // 閲嶇疆鐣岄潰鐘舵��
- resetView()
+ showConfirmDialog("鑾峰彇鍗′俊鎭け璐�: ${e?.message ?: "缃戠粶寮傚父锛岃妫�鏌ョ綉缁滆繛鎺�"}") {
+ }
}
}
)
}
}
-
+
/**
* 澶勭悊鍗′俊鎭幏鍙栭敊璇�
*/
private fun handleCardInfoError(code: String?, msg: String?) {
val errorTitle: String
val errorMessage: String
-
+
when (code) {
"1001" -> {
// 鏁版嵁涓嶅瓨鍦ㄧ殑鐗规畩澶勭悊
errorTitle = "鍗$墖鏈敞鍐�"
errorMessage = "璇ュ崱鐗囨湭鍦ㄧ郴缁熶腑娉ㄥ唽锛岃鍏堣繘琛屽紑鍗℃搷浣滃悗鍐嶅厖鍊笺��"
}
+
else -> {
// 鍏朵粬閿欒鐨勯�氱敤澶勭悊
errorTitle = "鑾峰彇鍗′俊鎭け璐�"
@@ -137,14 +174,9 @@
}
}
}
-
+
// 鏄剧ず纭瀵硅瘽妗�
- activity?.let { activity ->
- val confirmDialog = ConfirmDialog(activity, errorTitle, errorMessage) {
- // 鐐瑰嚮纭鎸夐挳鍚庡叧闂璇濇骞堕噸缃晫闈�
- resetView()
- }
- confirmDialog.show()
+ showConfirmDialog(errorMessage) {
}
}
}
\ No newline at end of file
--
Gitblit v1.8.0