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 | 111 +++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 99 insertions(+), 12 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 3bf4fce..1ccb366 100644 --- a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt +++ b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt @@ -9,17 +9,15 @@ import com.dayu.baselibrary.utils.ToastUtil import com.dayu.general.bean.card.ClearCard import com.dayu.general.bean.card.UserCard -import com.dayu.general.tool.CardCommon -import com.dayu.general.tool.CardOperationType +import com.dayu.general.dao.BaseDaoSingleton import com.dayu.general.databinding.ActivityNfcWriteGeBinding import com.dayu.general.net.ApiManager import com.dayu.general.net.BaseResponse +import com.dayu.general.tool.CardOperationType import com.dayu.general.tool.NfcReadHelper import com.dayu.general.tool.NfcWreatHelper -import com.dayu.general.dao.BaseDaoSingleton import com.tencent.bugly.crashreport.CrashReport import kotlinx.coroutines.launch -import java.lang.StringBuilder /** * @author: zuo @@ -39,6 +37,16 @@ // 閿�鍗$浉鍏充俊鎭� private var refundAmount = 0.0 private var cardBalance = 0.0 + + // 杩旇繕鐩稿叧淇℃伅 + private var returnAmount = 0.0 + + // 琛ユ墸鐩稿叧淇℃伅 + private var deductAmount = 0.0 + + // 琛ュ崱鐩稿叧淇℃伅 + private var cardCost = 0.0 + private var reissueAmount = 0.0 //璁㈠崟缂栧彿 var orderNumber = "" @@ -70,6 +78,16 @@ // 鑾峰彇閿�鍗$浉鍏充俊鎭� refundAmount = intent?.getDoubleExtra("refundAmount", 0.0) ?: 0.0 cardBalance = intent?.getDoubleExtra("cardBalance", 0.0) ?: 0.0 + + // 鑾峰彇杩旇繕鐩稿叧淇℃伅 + 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 @@ -144,10 +162,7 @@ if (userCard.balance != 0) { val totalBalanceInYuan = userCard.balance / 100.0 // 杞崲涓哄厓 textData.append( - "鍗″唴鎬讳綑棰濓細" + String.format( - "%.2f", - totalBalanceInYuan - ) + "鍏�" + "鍏呭�煎悗浣欓锛�" + MornyUtil.changeF2Y(userCard.balance)+ "鍏�" ) } @@ -162,9 +177,36 @@ binding?.cardData?.text = textData.toString() } + CardOperationType.ReturnCard -> { + var textData = StringBuilder() + textData.append("杩旇繕\n") + textData.append("鍗″唴浣欓锛�" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n") + textData.append("杩旇繕閲戦锛�" + returnAmount + "鍏�") + 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() } } @@ -245,9 +287,52 @@ }) } + CardOperationType.ReturnCard -> { + nfcWreatHelper.writeUserDataAsync(userCard, object : NFCCallBack { + override fun isSusses(flag: Boolean, msg: String?) { + // 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢� + runOnUiThread { + if (flag) { + postCardData(cardAddr) + } else { + ToastUtil.show("杩旇繕鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}") + } + } + } + }) + } + + 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 { @@ -278,6 +363,8 @@ finish() Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply { putExtra("cardNumber", cardNumber) + putExtra("userCard", userCard) + putExtra("operationTypeCode", operationTypeCode) startActivity(this) } } -- Gitblit v1.8.0