From 20952db304d0f71e1ce25f3b82114bbadff1ad4a Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 20 六月 2025 16:51:54 +0800 Subject: [PATCH] feat(generallibrary): 补充补卡功能 --- generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt | 75 +++++++++++++++++++++++++++++++++---- 1 files changed, 67 insertions(+), 8 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt index af6c1dc..1ccb366 100644 --- a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt +++ b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt @@ -41,6 +41,13 @@ // 杩旇繕鐩稿叧淇℃伅 private var returnAmount = 0.0 + // 琛ユ墸鐩稿叧淇℃伅 + private var deductAmount = 0.0 + + // 琛ュ崱鐩稿叧淇℃伅 + private var cardCost = 0.0 + private var reissueAmount = 0.0 + //璁㈠崟缂栧彿 var orderNumber = "" private lateinit var userCard: UserCard @@ -74,6 +81,13 @@ // 鑾峰彇杩旇繕鐩稿叧淇℃伅 returnAmount = intent?.getDoubleExtra("returnAmount", 0.0) ?: 0.0 + + // 鑾峰彇琛ユ墸鐩稿叧淇℃伅 + deductAmount = intent?.getDoubleExtra("deductAmount", 0.0) ?: 0.0 + + // 鑾峰彇琛ュ崱鐩稿叧淇℃伅 + cardCost = intent?.getDoubleExtra("cardCost", 0.0) ?: 0.0 + reissueAmount = intent?.getDoubleExtra("reissueAmount", 0.0) ?: 0.0 if (intent?.hasExtra("cardFee") == true) { cardFee = intent?.getIntExtra("cardFee", 0) ?: 0 @@ -148,10 +162,7 @@ if (userCard.balance != 0) { val totalBalanceInYuan = userCard.balance / 100.0 // 杞崲涓哄厓 textData.append( - "鍗″唴鎬讳綑棰濓細" + String.format( - "%.2f", - totalBalanceInYuan - ) + "鍏�" + "鍏呭�煎悗浣欓锛�" + MornyUtil.changeF2Y(userCard.balance)+ "鍏�" ) } @@ -174,9 +185,28 @@ binding?.cardData?.text = textData.toString() } + CardOperationType.DeductCard -> { + var textData = StringBuilder() + textData.append("琛ユ墸\n") + textData.append("鍗″唴浣欓锛�" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n") + textData.append("琛ユ墸閲戦锛�" + deductAmount + "鍏�") + binding?.cardData?.text = textData.toString() + } + + CardOperationType.ReplaceCard -> { + var textData = StringBuilder() + textData.append("琛ュ崱\n") + textData.append("鍗″唴浣欓锛�" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n") + if (cardCost > 0) { + textData.append("宸ユ湰璐癸細" + String.format("%.2f", cardCost) + "鍏僜n") + } + if (reissueAmount > 0) { + textData.append("琛ュ崱閲戦锛�" + String.format("%.2f", reissueAmount) + "鍏�") + } + binding?.cardData?.text = textData.toString() + } + CardOperationType.CheckCard -> TODO() - CardOperationType.DeductCard -> TODO() - CardOperationType.ReplaceCard -> TODO() null -> TODO() } } @@ -272,9 +302,37 @@ }) } + CardOperationType.DeductCard -> { + nfcWreatHelper.writeUserDataAsync(userCard, object : NFCCallBack { + override fun isSusses(flag: Boolean, msg: String?) { + // 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢� + runOnUiThread { + if (flag) { + postCardData(cardAddr) + } else { + ToastUtil.show("琛ユ墸鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}") + } + } + } + }) + } + + CardOperationType.ReplaceCard -> { + nfcWreatHelper.writeUserDataAsync(userCard, object : NFCCallBack { + override fun isSusses(flag: Boolean, msg: String?) { + // 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢� + runOnUiThread { + if (flag) { + postCardData(cardAddr) + } else { + ToastUtil.show("琛ュ崱鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}") + } + } + } + }) + } + CardOperationType.CheckCard -> TODO() - CardOperationType.DeductCard -> TODO() - CardOperationType.ReplaceCard -> TODO() null -> TODO() } } else { @@ -305,6 +363,7 @@ finish() Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply { putExtra("cardNumber", cardNumber) + putExtra("userCard", userCard) putExtra("operationTypeCode", operationTypeCode) startActivity(this) } -- Gitblit v1.8.0