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 |  104 ++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 84 insertions(+), 20 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 947b440..2eb3f4c 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/NewCard2Activity.kt
@@ -60,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
     }
 
 
@@ -334,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,
@@ -355,33 +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 = response.content?.cardNum?.substring(0, 12).toString()
-                                    userCard.userCode =clientInfo.clientNum
-                                    userCard.phoneNumber =clientInfo.phone
-                                    userCard.userCodeNumber = response.content?.cardNum?.substring(12)?.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.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)
                                     putExtra("operationTypeCode", CardOperationType.OpenCard.code)
-                                    putExtra("orderNumber", response.content?.orderNo)
                                     putExtra("cardFee", cardFee)
-                                    startActivity(this)
+                                    startActivityForResult(this, REQUEST_CODE_NFC_WRITE)
                                 }
                             } catch (e: Exception) {
                                 CrashReport.postCatchedException(e)
@@ -499,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