From 2b02b6e854a56a511588e4865ddf2c6597675329 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期一, 16 六月 2025 16:04:54 +0800 Subject: [PATCH] feat(nfc): 添加读卡功能并优化写卡流程 --- generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt | 37 ++++++++++++++++++++----------------- 1 files changed, 20 insertions(+), 17 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 9b7c268..045f203 100644 --- a/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt +++ b/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt @@ -10,6 +10,7 @@ import android.widget.Toast import androidx.lifecycle.lifecycleScope import com.dayu.baselibrary.net.subscribers.SubscriberListener +import com.dayu.baselibrary.utils.MornyUtil import com.dayu.baselibrary.view.TitleBar.ClickType_LEFT_IMAGE import com.dayu.general.BaseApplication import com.dayu.general.R @@ -24,6 +25,7 @@ import com.dayu.general.net.ApiManager import com.dayu.general.net.BaseResponse import com.dayu.general.tool.CardCommon.Companion.USER_CARD_TYPE_1 +import com.dayu.general.tool.CardOperationType import com.dayu.general.tool.NfcReadHelper import com.dayu.general.tool.NfcWreatHelper import com.dayu.general.utils.DateUtils @@ -67,6 +69,7 @@ companion object { private const val TAG = "NewCard2Activity" + private const val REQUEST_CODE_NFC_WRITE = 1001 } @@ -308,11 +311,7 @@ // 鑾峰彇宸ユ湰璐� val cardFeeStr = binding.newCardCardFee.text.toString() - val cardFee = if (cardFeeStr.isEmpty()) 0.0 else cardFeeStr.toDouble() - - // 鏍煎紡鍖栭噾棰濅负涓や綅灏忔暟 - val formattedRechargeAmount = String.format("%.2f", rechargeAmount) - val formattedCardFee = String.format("%.2f", cardFee) + val cardFee = if (cardFeeStr.isEmpty()) 0 else cardFeeStr.toInt() val remark = binding.newCardRemark.text.toString() @@ -357,30 +356,26 @@ try { BaseDaoSingleton.getInstance(this@NewCard2Activity) .cardRegistrationDao().insert(cardRegistration) - - Toast.makeText( - this@NewCard2Activity, - "寮�鍗℃垚鍔�", - Toast.LENGTH_SHORT - ).show() setResult(RESULT_OK) Intent(this@NewCard2Activity, NfcWreatActivity::class.java).apply { putExtra("cardType", USER_CARD_TYPE_1) - putExtra("orderId", orderId) + putExtra("orderNumber", orderId) putExtra("cardAddr", cardPhysicalId) var userCard = UserCard() - userCard.areaNumber =clientInfo.districtNum + userCard.areaNumber = response.content?.cardNum?.substring(0, 12).toString() userCard.userCode =clientInfo.clientNum userCard.phoneNumber =clientInfo.phone - userCard.userCodeNumber = response.content?.cardNum?.toInt()!! - userCard.projectCode = response.content?.projectNo?.toInt()!! - userCard.balance = response.content?.balance?.toInt()!! + userCard.userCodeNumber = response.content?.cardNum?.substring(12)?.toInt()!! + userCard.projectCode = response.content?.projectNo!! + userCard.balance = MornyUtil.changeY2F(response.content?.balance) // userCard.surplusWater = response.content?.surplusWater?.toInt()!! userCard.waterPrice = response.content?.waterPrice?.toFloat()!! // userCard.electricPrice = response.content?.electricPrice?.toFloat()!! userCard.rechargeDate = DateUtils.parseStringToCalendar(response.content?.time) putExtra("userCard", userCard) - startActivity(this) + putExtra("operationTypeCode", CardOperationType.OpenCard.code) + putExtra("cardFee", cardFee) + startActivityForResult(this, REQUEST_CODE_NFC_WRITE) } } catch (e: Exception) { CrashReport.postCatchedException(e) @@ -498,4 +493,12 @@ } } + override fun onActivityResult(requestCode: Int, resultCode: Int, data: Intent?) { + super.onActivityResult(requestCode, resultCode, data) + if (requestCode == REQUEST_CODE_NFC_WRITE && resultCode == RESULT_OK) { + // 鍐欏崱鎴愬姛锛屽叧闂綋鍓岮ctivity + finish() + } + } + } \ No newline at end of file -- Gitblit v1.8.0