From 465c8abaa982fba6868a900d25316c70afc20fb7 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期三, 18 六月 2025 13:59:46 +0800 Subject: [PATCH] feat(card): 优化销卡功能并添加写卡操作 --- generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt | 115 +++++++++++++++++++++++++++++++++++++++++++++------------ 1 files changed, 90 insertions(+), 25 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..2eb3f4c 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 @@ -58,15 +60,16 @@ // 瀹㈡埛ID private var clientId: String = "" - private lateinit var clientInfo : ClientInfo + private lateinit var clientInfo: ClientInfo // 鏄惁宸茶鍗� private var isReadCard: Boolean = false - private var orderId:String="" + private var orderId: String = "" 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() @@ -336,7 +335,7 @@ object : SubscriberListener<BaseResponse<NewCardDataResult>>() { override fun onNext(response: BaseResponse<NewCardDataResult>) { if (response.success) { - orderId=response.content?.orderNo.toString() + orderId = response.content?.orderNo.toString() // 淇濆瓨寮�鍗′俊鎭埌鏁版嵁搴� val cardRegistration = CardRegistrationBean( cardNumber = cardPhysicalId, @@ -357,30 +356,88 @@ 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.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.areaNumber = + response.content?.cardNum?.substring(0, 12).toString() + userCard.userCode = clientInfo.clientNum + userCard.phoneNumber = clientInfo.phone + 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) + userCard.waterPrice = + MornyUtil.changeY2F(response.content?.waterPrice) + userCard.electricPrice = + MornyUtil.changeY2F(response.content?.waterPrice) + userCard.rechargeDate = + DateUtils.parseStringToCalendar(response.content?.time) + + // 杈撳嚭userCard鐨勬墍鏈変俊鎭埌鏃ュ織 + android.util.Log.d( + "NewCard2Activity", + "=== 寮�鍗serCard淇℃伅 ===" + ) + android.util.Log.d( + "NewCard2Activity", + "鍗$墖绫诲瀷: ${userCard.cardType}" + ) + android.util.Log.d( + "NewCard2Activity", + "鍥藉琛屾斂鍖哄煙鍙�: ${userCard.areaNumber}" + ) + android.util.Log.d( + "NewCard2Activity", + "鐢ㄦ埛缂栧彿: ${userCard.userCode}" + ) + android.util.Log.d( + "NewCard2Activity", + "鐢ㄦ埛鍗$紪鍙�: ${userCard.userCodeNumber}" + ) + android.util.Log.d( + "NewCard2Activity", + "瀹屾暣鐢ㄦ埛缂栧彿: ${userCard.getMyUserCode()}" + ) + android.util.Log.d( + "NewCard2Activity", + "鎵嬫満鍙�: ${userCard.phoneNumber}" + ) + android.util.Log.d( + "NewCard2Activity", + "椤圭洰缂栫爜: ${userCard.projectCode}" + ) + android.util.Log.d( + "NewCard2Activity", + "鍗″唴浣欓: ${userCard.balance}" + ) + android.util.Log.d( + "NewCard2Activity", + "鍓╀綑姘撮噺: ${userCard.surplusWater}" + ) + android.util.Log.d( + "NewCard2Activity", + "姘撮噺鍗曚环: ${userCard.waterPrice}" + ) + android.util.Log.d( + "NewCard2Activity", + "鐢甸噺鍗曚环: ${userCard.electricPrice}" + ) + android.util.Log.d( + "NewCard2Activity", + "鍏呭�兼椂闂�: ${userCard.rechargeDate}" + ) + android.util.Log.d("NewCard2Activity", "==================") + 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 +555,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