From 14b15539a8fbbce1145197993e0c062400174ef1 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期四, 26 六月 2025 16:51:12 +0800
Subject: [PATCH] docs(baselibrary): 更新 NativeNfcReadHelper 类文档
---
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt | 170 +++++++++++++++++++++++++++++++++++++++-----------------
1 files changed, 117 insertions(+), 53 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 8539f83..ab3ae13 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
@@ -13,6 +13,8 @@
import com.dayu.general.bean.card.ClearCard
import com.dayu.general.bean.card.DebugCard
import com.dayu.general.bean.card.UserCard
+import com.dayu.general.bean.net.CardInfoResult
+import com.dayu.general.bean.net.ClientInfo
import com.dayu.general.dao.BaseDaoSingleton
import com.dayu.general.databinding.ActivityNfcWriteGeBinding
import com.dayu.general.net.ApiManager
@@ -98,6 +100,10 @@
/** 椤圭洰鍙凤紙1-255锛� */
private var projectNumber: String = ""
+ private var cardInfo: CardInfoResult? = null
+
+ private var clientInfo: ClientInfo? = null
+
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
binding = ActivityNfcWriteGeBinding.inflate(layoutInflater)
@@ -116,6 +122,8 @@
operationTypeCode = intent?.getIntExtra("operationTypeCode", -1) ?: -1
orderNumber = intent?.getStringExtra("orderNumber") ?: ""
operationType = CardOperationType.fromCode(operationTypeCode)
+ cardInfo = intent?.getSerializableExtra("cardInfo") as? CardInfoResult
+ clientInfo = intent?.getSerializableExtra("clientInfo") as? ClientInfo
// 鑾峰彇鍏呭�肩浉鍏抽噾棰�
rechargeAmount = intent?.getDoubleExtra("rechargeAmount", 0.0) ?: 0.0
@@ -254,8 +262,9 @@
// 杩旇繕鎿嶄綔鏄剧ず淇℃伅
var textData = StringBuilder()
textData.append("杩旇繕\n")
- textData.append("鍗″唴浣欓锛�" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n")
- textData.append("杩旇繕閲戦锛�" + returnAmount + "鍏�")
+ textData.append("杩旇繕閲戦锛�" + returnAmount + "鍏僜n")
+ textData.append("杩旇繕鍚庡崱鍐呬綑棰濓細" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n")
+
binding?.cardData?.text = textData.toString()
}
@@ -263,8 +272,9 @@
// 琛ユ墸鎿嶄綔鏄剧ず淇℃伅
var textData = StringBuilder()
textData.append("琛ユ墸\n")
- textData.append("鍗″唴浣欓锛�" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n")
- textData.append("琛ユ墸閲戦锛�" + deductAmount + "鍏�")
+ textData.append("琛ユ墸閲戦锛�" + deductAmount + "鍏僜n")
+ textData.append("琛ユ墸鍚庡崱鍐呬綑棰濓細" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n")
+
binding?.cardData?.text = textData.toString()
}
@@ -499,14 +509,14 @@
object : NFCCallBack {
override fun isSusses(flag: Boolean, msg: String?) {
// 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢�
- runOnUiThread {
- if (flag) {
- // 妫�鏌ュ崱鍐欏崱鎴愬姛锛屾洿鏂板啓鍗$姸鎬�
- updateCardWrittenStatus(cardAddr)
- } else {
- ToastUtil.show("妫�鏌ュ崱鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}")
+ runOnUiThread {
+ if (flag) {
+ // 妫�鏌ュ崱鍐欏崱鎴愬姛锛屾洿鏂板啓鍗$姸鎬�
+ updateCardWrittenStatus(cardAddr)
+ } else {
+ ToastUtil.show("妫�鏌ュ崱鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}")
+ }
}
- }
}
})
}
@@ -514,7 +524,7 @@
CardOperationType.RegionCardMake -> {
// 鍖哄煙琛ㄥ彿鍗″啓鍗¢�昏緫锛堝姛鑳藉崱锛屾棤闇�鍐欏叆鐢ㄦ埛鏁版嵁锛�
var areaCard = AreaCard()
- areaCard.areaNumber = regionNumber.toInt()
+ areaCard.areaNumber = regionNumber
areaCard.projectCode = projectNumber.toInt()
nfcWreatHelper.writeDataAsync(
areaCard.getZeroBytes(),
@@ -523,14 +533,14 @@
object : NFCCallBack {
override fun isSusses(flag: Boolean, msg: String?) {
// 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢�
- runOnUiThread {
- if (flag) {
- // 鍖哄煙琛ㄥ彿鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵��
- updateCardWrittenStatus(cardAddr)
- } else {
- ToastUtil.show("鍖哄煙琛ㄥ彿鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}")
+ runOnUiThread {
+ if (flag) {
+ // 鍖哄煙琛ㄥ彿鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵��
+ updateCardWrittenStatus(cardAddr)
+ } else {
+ ToastUtil.show("鍖哄煙琛ㄥ彿鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}")
+ }
}
- }
}
})
}
@@ -546,14 +556,14 @@
object : NFCCallBack {
override fun isSusses(flag: Boolean, msg: String?) {
// 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢�
- runOnUiThread {
- if (flag) {
- // 璋冭瘯鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵��
- updateCardWrittenStatus(cardAddr)
- } else {
- ToastUtil.show("璋冭瘯鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}")
+ runOnUiThread {
+ if (flag) {
+ // 璋冭瘯鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵��
+ updateCardWrittenStatus(cardAddr)
+ } else {
+ ToastUtil.show("璋冭瘯鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}")
+ }
}
- }
}
})
}
@@ -594,7 +604,7 @@
/**
* 鏇存柊鏈湴鏁版嵁搴撲腑鐨勫啓鍗$姸鎬�
- * 灏咰ardRegistrationBean涓殑isCardWritten鐘舵�佽缃负true
+ * 鏍规嵁鎿嶄綔绫诲瀷鍒ゆ柇鏄洿鏂癕anagerCardBean杩樻槸CardRegistrationBean鐨刬sCardWritten鐘舵�佷负true
* 鐒跺悗璺宠浆鍒板啓鍗℃垚鍔熺晫闈紝骞堕�氱煡MainActivity璋冪敤postCardData
*
* @param cardNumber 鍗″彿
@@ -602,37 +612,91 @@
private fun updateCardWrittenStatus(cardNumber: String) {
lifecycleScope.launch {
try {
- val cardRegistrationDao = BaseDaoSingleton.getInstance(this@NfcWreatActivity)
- .cardRegistrationDao()
+ val baseDaoSingleton = BaseDaoSingleton.getInstance(this@NfcWreatActivity)
- // 鏍规嵁璁㈠崟鍙锋煡鎵綜ardRegistrationBean璁板綍
- val cardRegistration = cardRegistrationDao.getByOrderId(orderNumber)
+ // 鏍规嵁鎿嶄綔绫诲瀷鍒ゆ柇鏄鐞嗗崱杩樻槸鐢ㄦ埛鍗℃搷浣�
+ val isManagerCardOperation = operationTypeCode in 100..108
- if (cardRegistration != null) {
- // 鍒涘缓鏇存柊鍚庣殑CardRegistrationBean瀵硅薄锛屽皢isCardWritten璁剧疆涓簍rue
- val updatedCardRegistration = cardRegistration.copy(isCardWritten = true)
- // 鏇存柊鏁版嵁搴撹褰�
- cardRegistrationDao.update(updatedCardRegistration)
+ var updateSuccess = false
- // 鍦ㄤ富绾跨▼涓叧闂瑼ctivity骞惰烦杞埌鎴愬姛椤甸潰
- runOnUiThread {
- setResult(RESULT_OK)
- finish()
-
- // 璺宠浆鍒板啓鍗℃垚鍔熺晫闈�
- Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply {
- putExtra("cardNumber", cardNumber)
- if (::userCard.isInitialized) {
- putExtra("userCard", userCard)
- }
- putExtra("operationTypeCode", operationTypeCode)
- startActivity(this)
- }
-
- // 閫氱煡MainActivity璋冪敤postCardData
- notifyMainActivityToPostCardData(cardNumber)
+ if (isManagerCardOperation) {
+ // 绠$悊鍗″埗浣滄搷浣滅被鍨嬶紝鏌ヨ鍜屾洿鏂癕anagerCardBean
+ val managerCardDao = baseDaoSingleton.managerCardDao()
+ val managerCard = managerCardDao.getByOrderId(orderNumber)
+
+ if (managerCard != null) {
+ val updatedManagerCard = managerCard.copy(isCardWritten = true)
+ managerCardDao.update(updatedManagerCard)
+ updateSuccess = true
+ }
+ } else {
+ // 鐢ㄦ埛鍗℃搷浣滅被鍨嬶紝鏌ヨ鍜屾洿鏂癈ardRegistrationBean
+ val cardRegistrationDao = baseDaoSingleton.cardRegistrationDao()
+ val cardRegistration = cardRegistrationDao.getByOrderId(orderNumber)
+
+ if (cardRegistration != null) {
+ val updatedCardRegistration = cardRegistration.copy(isCardWritten = true)
+ cardRegistrationDao.update(updatedCardRegistration)
+ updateSuccess = true
}
}
+
+ // 鏃犺鏄惁鎵惧埌璁板綍锛岄兘璺宠浆鍒版垚鍔熺晫闈�
+ runOnUiThread {
+ setResult(RESULT_OK)
+ finish()
+
+ // 璺宠浆鍒板啓鍗℃垚鍔熺晫闈�
+ Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply {
+
+
+ putExtra("cardNumber", cardNumber)
+ putExtra("cardAddr", cardAddr)
+ putExtra("operationTypeCode", operationTypeCode)
+ putExtra("orderNumber", orderNumber)
+ //寮�鍗$浉鍏冲弬鏁�
+ putExtra("cardFee", cardFee)
+
+ // 浼犻�掑厖鍊肩浉鍏冲弬鏁�
+ putExtra("rechargeAmount", rechargeAmount)
+ putExtra("bonusAmount", bonusAmount)
+
+ // 浼犻�掗攢鍗$浉鍏冲弬鏁�
+ putExtra("refundAmount", refundAmount)
+ putExtra("cardBalance", cardBalance)
+
+ // 浼犻�掕繑杩樼浉鍏冲弬鏁�
+ putExtra("returnAmount", returnAmount)
+
+ // 浼犻�掕ˉ鎵g浉鍏冲弬鏁�
+ putExtra("deductAmount", deductAmount)
+
+ // 浼犻�掕ˉ鍗$浉鍏冲弬鏁�
+ putExtra("cardCost", cardCost)
+ putExtra("reissueAmount", reissueAmount)
+
+ // 浼犻�掔敤鎴峰崱瀵硅薄
+ if (::userCard.isInitialized) {
+ putExtra("userCard", userCard)
+ }
+
+ // 浼犻�掑崱鐗囦俊鎭璞�
+ cardInfo?.let {
+ putExtra("cardInfo", it)
+ }
+
+ // 浼犻�掑鎴蜂俊鎭璞�
+ clientInfo?.let {
+ putExtra("clientInfo", it)
+ }
+
+ startActivity(this)
+ }
+
+ // 閫氱煡MainActivity璋冪敤postCardData
+ notifyMainActivityToPostCardData(cardNumber)
+ }
+
} catch (e: Exception) {
// 璁板綍寮傚父淇℃伅
CrashReport.postCatchedException(e)
--
Gitblit v1.8.0