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/CardWriteSuccessActivity.kt | 341 +++++++++++++++++++++++++++++++++++++++++++++-----------
1 files changed, 270 insertions(+), 71 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
index 6452333..8af188e 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
@@ -6,6 +6,8 @@
import com.dayu.baselibrary.utils.MornyUtil
import com.dayu.general.BaseApplication
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.databinding.ActivityCardWriteSuccessBinding
import com.dayu.general.tool.CardOperationType
@@ -22,11 +24,13 @@
private var operationTypeCode: Int = -1
private var userCard: UserCard? = null
private var orderNumber: String? = null
-
+ private var cardInfo: CardInfoResult? = null
+ private var clientInfo: ClientInfo? = null
+
// 鍏呭�肩浉鍏冲弬鏁�
private var rechargeAmount = 0.0
private var bonusAmount = 0.0
-
+
// 鍏朵粬鎿嶄綔鐩稿叧鍙傛暟
private var refundAmount = 0.0
private var cardBalance = 0.0
@@ -34,6 +38,7 @@
private var deductAmount = 0.0
private var cardCost = 0.0
private var reissueAmount = 0.0
+ private var cardFee = 0
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
@@ -45,11 +50,13 @@
cardAddr = intent.getStringExtra("cardAddr")
operationTypeCode = intent.getIntExtra("operationTypeCode", -1)
orderNumber = intent.getStringExtra("orderNumber")
-
+
+ cardFee = intent.getIntExtra("cardFee", 0);
+
// 鑾峰彇鍏呭�肩浉鍏冲弬鏁�
rechargeAmount = intent.getDoubleExtra("rechargeAmount", 0.0)
bonusAmount = intent.getDoubleExtra("bonusAmount", 0.0)
-
+
// 鑾峰彇鍏朵粬鎿嶄綔鐩稿叧鍙傛暟
refundAmount = intent.getDoubleExtra("refundAmount", 0.0)
cardBalance = intent.getDoubleExtra("cardBalance", 0.0)
@@ -57,9 +64,17 @@
deductAmount = intent.getDoubleExtra("deductAmount", 0.0)
cardCost = intent.getDoubleExtra("cardCost", 0.0)
reissueAmount = intent.getDoubleExtra("reissueAmount", 0.0)
-
+
if (intent.hasExtra("userCard")) {
userCard = intent.getSerializableExtra("userCard") as UserCard
+ }
+
+ if (intent.hasExtra("cardInfo")) {
+ cardInfo = intent.getSerializableExtra("cardInfo") as CardInfoResult
+ }
+
+ if (intent.hasExtra("clientInfo")) {
+ clientInfo = intent.getSerializableExtra("clientInfo") as ClientInfo
}
initView()
@@ -84,7 +99,7 @@
"鍗$墖宸叉垚鍔熼攢鍗″苟娓呴櫎鍐呭\n鍗″彿锛�$cardNumber\n璇ュ崱鐗囧皢鏃犳硶鍐嶆浣跨敤"
}
binding.successMessage.text = message
-
+
// 閿�鍗℃垚鍔熷悗鑷姩鎵撳嵃
userCard?.let { card ->
doPrint(card)
@@ -105,7 +120,7 @@
"鍗$墖杩旇繕鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鍗″唴浣欓宸叉洿鏂�"
}
binding.successMessage.text = message
-
+
// 杩旇繕鎴愬姛鍚庤嚜鍔ㄦ墦鍗�
userCard?.let { card ->
doPrint(card)
@@ -126,7 +141,7 @@
"鍗$墖琛ユ墸鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鍗″唴浣欓宸叉洿鏂�"
}
binding.successMessage.text = message
-
+
// 琛ユ墸鎴愬姛鍚庤嚜鍔ㄦ墦鍗�
userCard?.let { card ->
doPrint(card)
@@ -152,23 +167,63 @@
CardOperationType.Recharge -> {
binding.titleBar.setCenterText("鍏呭�兼垚鍔�")
binding.successTitle.text = "鍏呭�兼垚鍔�"
-
+
val messageBuilder = StringBuilder()
messageBuilder.append("鍏呭�兼搷浣滃凡鎴愬姛瀹屾垚\n")
+
+ if (rechargeAmount > 0) {
+ messageBuilder.append("鍏呭�奸噾棰濓細${String.format("%.2f", rechargeAmount)}鍏僜n")
+ }
+
+ if (bonusAmount > 0) {
+ messageBuilder.append("璧犻�侀噾棰濓細${String.format("%.2f", bonusAmount)}鍏僜n")
+ }
+
+ messageBuilder.append("鍗″唴浣欓锛�${MornyUtil.changeF2Y(userCard?.balance ?: 0)}鍏�")
+
+ binding.successMessage.text = messageBuilder.toString()
+
+ // 鍏呭�兼垚鍔熷悗鑷姩鎵撳嵃
+ userCard?.let { card ->
+ doPrint(card)
+ }
+ }
+
+ CardOperationType.OpenCard -> {
+ binding.titleBar.setCenterText("寮�鍗℃垚鍔�")
+ binding.successTitle.text = "寮�鍗℃垚鍔�"
+ val messageBuilder = StringBuilder()
+ messageBuilder.append("寮�鍗℃搷浣滃凡鎴愬姛瀹屾垚\n")
+
+ // 鏄剧ず鐢ㄦ埛濮撳悕
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ messageBuilder.append("鐢ㄦ埛濮撳悕锛�$userName\n")
+ }
+
+ // 鏄剧ず鍗″湴鍧�
+ val cardAddress = cardNumber ?: cardAddr
+ if (!cardAddress.isNullOrEmpty()) {
+ messageBuilder.append("鍗″湴鍧�锛�$cardAddress\n")
+ }
+
+ // 鏄剧ず宸ユ湰璐�
+ if (cardFee > 0) {
+ messageBuilder.append("宸ユ湰璐癸細${cardFee}鍏僜n")
+ }
+
+ // 鏄剧ず鍏呭�奸噾棰�
if (rechargeAmount > 0) {
messageBuilder.append("鍏呭�奸噾棰濓細${String.format("%.2f", rechargeAmount)}鍏僜n")
}
- if (bonusAmount > 0) {
- messageBuilder.append("璧犻�侀噾棰濓細${String.format("%.2f", bonusAmount)}鍏僜n")
- }
-
+ // 鏄剧ず鍗″唴浣欓
messageBuilder.append("鍗″唴浣欓锛�${MornyUtil.changeF2Y(userCard?.balance ?: 0)}鍏�")
binding.successMessage.text = messageBuilder.toString()
- // 鍏呭�兼垚鍔熷悗鑷姩鎵撳嵃
+ // 寮�鍗℃垚鍔熷悗鑷姩鎵撳嵃
userCard?.let { card ->
doPrint(card)
}
@@ -193,10 +248,25 @@
finish()
}
+ // 璁剧疆鍐嶆鎵撳嵃鎸夐挳鐐瑰嚮鐩戝惉鍣�
+ binding.btnReprint.setOnClickListener {
+ userCard?.let { card ->
+ doPrint(card)
+ }
+ }
+
// 璁剧疆鏍囬鏍忚繑鍥炴寜閽�
binding.titleBar.setOnItemclickListner(com.dayu.baselibrary.view.TitleBar.ClickType_LEFT_IMAGE) {
finish()
}
+ }
+
+ /**
+ * 鑾峰彇鐢ㄦ埛濮撳悕锛屼紭鍏堜粠ClientInfo鑾峰彇锛屽鏋滄病鏈夊啀浠嶤ardInfo鑾峰彇
+ * @return 鐢ㄦ埛濮撳悕
+ */
+ private fun getUserName(): String? {
+ return clientInfo?.name ?: cardInfo?.userName
}
/**
@@ -208,206 +278,335 @@
try {
// 鍒涘缓鎵撳嵃鏁版嵁鍒楄〃
val data: MutableList<String> = ArrayList()
-
+
// 鏍规嵁鎿嶄綔绫诲瀷璁剧疆涓嶅悓鐨勬墦鍗板唴瀹�
val operationType = CardOperationType.fromCode(operationTypeCode)
-
+
when (operationType) {
CardOperationType.Recharge -> {
// 鍏呭�兼墦鍗板唴瀹�
data.add("*****************************")
- data.add(" 鍏呭�煎嚟璇�")
+ data.add(" 鍏呭�煎嚟璇�")
data.add("*****************************")
-
- // 娣诲姞鐢ㄦ埛缂栧彿锛堜粠UserCard涓幏鍙栵級
- if (!userCard.userCode.isNullOrEmpty()) {
- data.add("鐢ㄦ埛缂栧彿锛�${userCard.userCode}")
+
+ // 娣诲姞鐢ㄦ埛鍚嶏紙浼樺厛浠嶤lientInfo涓幏鍙栵紝濡傛灉娌℃湁鍐嶄粠CardInfo涓幏鍙栵級
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛濮撳悕锛�$userName")
}
-
+
// 娣诲姞鍗″湴鍧�
val cardAddress = cardNumber ?: cardAddr
if (!cardAddress.isNullOrEmpty()) {
data.add("鍗� 鍦� 鍧�锛�$cardAddress")
}
-
+
// 娣诲姞鐢ㄦ埛缂栧彿锛堜粠UserCard涓幏鍙栵級
if (!userCard.userCode.isNullOrEmpty()) {
data.add("鐢ㄦ埛缂栧彿锛�${userCard.getMyUserCode()}")
}
-
+
// 娣诲姞鍏呭�奸噾棰�
if (rechargeAmount > 0) {
data.add("鍏呭�奸噾棰濓細${String.format("%.2f", rechargeAmount)} 鍏�")
}
-
+
// 娣诲姞璧犻�侀噾棰�
if (bonusAmount > 0) {
data.add("璧犻�侀噾棰濓細${String.format("%.2f", bonusAmount)} 鍏�")
}
-
+
// 娣诲姞鍏呭�煎悗浣欓
data.add("鍏呭�煎悗浣欓锛�${MornyUtil.changeF2Y(userCard.balance)} 鍏�")
-
- // 娣诲姞鏃ユ湡淇℃伅
- data.add("鏃� 鏈燂細${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
-
+
// 娣诲姞璁㈠崟鍙�
if (!orderNumber.isNullOrEmpty()) {
data.add("璁㈠崟鍙凤細$orderNumber")
}
-
+
// 娣诲姞璁惧鎿嶄綔鍛樹俊鎭�
data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ // 娣诲姞鏃ユ湡淇℃伅
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
data.add("*****************************")
}
-
+
CardOperationType.ReplaceCard -> {
// 琛ュ崱鎵撳嵃鍐呭
data.add("*****************************")
data.add(" 琛ュ崱鍑瘉")
data.add("*****************************")
-
+
+ // 娣诲姞鐢ㄦ埛鍚嶏紙浼樺厛浠嶤lientInfo涓幏鍙栵紝濡傛灉娌℃湁鍐嶄粠CardInfo涓幏鍙栵級
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛濮撳悕锛�$userName")
+ }
+
val cardAddress = cardNumber ?: cardAddr
if (!cardAddress.isNullOrEmpty()) {
data.add("鍗� 鍦� 鍧�锛�$cardAddress")
}
-
+
if (!userCard.userCode.isNullOrEmpty()) {
data.add("鐢ㄦ埛缂栧彿锛�${userCard.getMyUserCode()}")
}
-
+
if (cardCost > 0) {
data.add("宸� 鏈� 璐癸細${String.format("%.2f", cardCost)} 鍏�")
}
-
+
if (reissueAmount > 0) {
data.add("杩旇繕閲戦锛�${String.format("%.2f", reissueAmount)} 鍏�")
}
-
+
data.add("鍗″唴浣欓锛�${MornyUtil.changeF2Y(userCard.balance)} 鍏�")
- data.add("鏃� 鏈燂細${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
-
if (!orderNumber.isNullOrEmpty()) {
data.add("璁㈠崟鍙凤細$orderNumber")
}
-
+
data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
data.add("*****************************")
}
-
+
CardOperationType.CancelCard -> {
// 閿�鍗℃墦鍗板唴瀹�
data.add("*****************************")
data.add(" 閿�鍗″嚟璇�")
data.add("*****************************")
-
+
+ // 娣诲姞鐢ㄦ埛鍚嶏紙浼樺厛浠嶤lientInfo涓幏鍙栵紝濡傛灉娌℃湁鍐嶄粠CardInfo涓幏鍙栵級
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛濮撳悕锛�$userName")
+ }
+
val cardAddress = cardNumber ?: cardAddr
if (!cardAddress.isNullOrEmpty()) {
data.add("鍗� 鍦� 鍧�锛�$cardAddress")
}
-
+
if (!userCard.userCode.isNullOrEmpty()) {
data.add("鐢ㄦ埛缂栧彿锛�${userCard.getMyUserCode()}")
}
-
+
if (refundAmount > 0) {
data.add("閫�娆鹃噾棰濓細${String.format("%.2f", refundAmount)} 鍏�")
}
-
+
data.add("鍘熷崱浣欓锛�${String.format("%.2f", cardBalance)} 鍏�")
- data.add("鏃� 鏈燂細${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
-
+
+
if (!orderNumber.isNullOrEmpty()) {
data.add("璁㈠崟鍙凤細$orderNumber")
}
-
+
data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
data.add("*****************************")
}
-
- CardOperationType.SUPPLEMENT -> {
+
+ CardOperationType.SUPPLEMENT -> {
// 杩旇繕鎵撳嵃鍐呭
data.add("*****************************")
data.add(" 杩旇繕鍑瘉")
data.add("*****************************")
-
+
+ // 娣诲姞鐢ㄦ埛鍚嶏紙浼樺厛浠嶤lientInfo涓幏鍙栵紝濡傛灉娌℃湁鍐嶄粠CardInfo涓幏鍙栵級
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛濮撳悕锛�$userName")
+ }
+
val cardAddress = cardNumber ?: cardAddr
if (!cardAddress.isNullOrEmpty()) {
data.add("鍗� 鍦� 鍧�锛�$cardAddress")
}
-
+
if (!userCard.userCode.isNullOrEmpty()) {
data.add("鐢ㄦ埛缂栧彿锛�${userCard.getMyUserCode()}")
}
-
+
if (returnAmount > 0) {
data.add("杩旇繕閲戦锛�${String.format("%.2f", returnAmount)} 鍏�")
}
-
+
data.add("鍗″唴浣欓锛�${MornyUtil.changeF2Y(userCard.balance)} 鍏�")
- data.add("鏃� 鏈燂細${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
-
+
+
if (!orderNumber.isNullOrEmpty()) {
data.add("璁㈠崟鍙凤細$orderNumber")
}
-
+
data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
data.add("*****************************")
}
-
+
CardOperationType.DeductCard -> {
// 琛ユ墸鎵撳嵃鍐呭
data.add("*****************************")
data.add(" 琛ユ墸鍑瘉")
data.add("*****************************")
-
+
+ // 娣诲姞鐢ㄦ埛鍚嶏紙浼樺厛浠嶤lientInfo涓幏鍙栵紝濡傛灉娌℃湁鍐嶄粠CardInfo涓幏鍙栵級
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛濮撳悕锛�$userName")
+ }
+
val cardAddress = cardNumber ?: cardAddr
if (!cardAddress.isNullOrEmpty()) {
data.add("鍗� 鍦� 鍧�锛�$cardAddress")
}
-
+
if (!userCard.userCode.isNullOrEmpty()) {
data.add("鐢ㄦ埛缂栧彿锛�${userCard.getMyUserCode()}")
}
-
+
if (deductAmount > 0) {
data.add("琛ユ墸閲戦锛�${String.format("%.2f", deductAmount)} 鍏�")
}
-
+
data.add("鍗″唴浣欓锛�${MornyUtil.changeF2Y(userCard.balance)} 鍏�")
- data.add("鏃� 鏈燂細${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
-
+
+
if (!orderNumber.isNullOrEmpty()) {
data.add("璁㈠崟鍙凤細$orderNumber")
}
-
+
data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
data.add("*****************************")
}
-
+
+ CardOperationType.OpenCard -> {
+ data.add("*****************************")
+ data.add(" 寮�鍗″嚟璇�")
+ data.add("*****************************")
+
+ // 娣诲姞鐢ㄦ埛鍚嶏紙浼樺厛浠嶤lientInfo涓幏鍙栵紝濡傛灉娌℃湁鍐嶄粠CardInfo涓幏鍙栵級
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛濮撳悕锛�$userName")
+ }
+
+ // 娣诲姞鍗″湴鍧�
+ val cardAddress = cardNumber ?: cardAddr
+ if (!cardAddress.isNullOrEmpty()) {
+ data.add("鍗� 鍦� 鍧�锛�$cardAddress")
+ }
+
+ // 娣诲姞鐢ㄦ埛缂栧彿锛堜粠UserCard涓幏鍙栵級
+ if (!userCard.userCode.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛缂栧彿锛�${userCard.getMyUserCode()}")
+ }
+
+ // 娣诲姞鍏呭�奸噾棰�
+ if (rechargeAmount > 0) {
+ data.add("鍏呭�奸噾棰濓細${String.format("%.2f", rechargeAmount)} 鍏�")
+ }
+
+ // 娣诲姞宸ユ湰璐�
+ if (cardFee > 0) {
+ data.add("宸ユ湰璐癸細" + cardFee + "鍏�")
+ }
+
+ // 娣诲姞鍗″唴浣欓锛堝紑鍗″悗鐨勪綑棰濓級
+ data.add("鍗″唴浣欓锛�${MornyUtil.changeF2Y(userCard.balance)} 鍏�")
+
+ // 娣诲姞璁㈠崟鍙�
+ if (!orderNumber.isNullOrEmpty()) {
+ data.add("璁㈠崟鍙凤細$orderNumber")
+ }
+
+ // 娣诲姞璁惧鎿嶄綔鍛樹俊鎭�
+ data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ // 娣诲姞鏃ユ湡淇℃伅
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
+ data.add("*****************************")
+ }
+
else -> {
// 鍏朵粬鎿嶄綔鐨勯�氱敤鎵撳嵃鍐呭
data.add("*****************************")
data.add(" 鎿嶄綔鍑瘉")
data.add("*****************************")
-
+
+ // 娣诲姞鐢ㄦ埛鍚嶏紙浼樺厛浠嶤lientInfo涓幏鍙栵紝濡傛灉娌℃湁鍐嶄粠CardInfo涓幏鍙栵級
+ val userName = getUserName()
+ if (!userName.isNullOrEmpty()) {
+ data.add("鐢ㄦ埛濮撳悕锛�$userName")
+ }
+
val cardAddress = cardNumber ?: cardAddr
if (!cardAddress.isNullOrEmpty()) {
data.add("鍗� 鍦� 鍧�锛�$cardAddress")
}
-
+
data.add("鎿嶄綔绫诲瀷锛�${operationType?.description ?: "鏈煡鎿嶄綔"}")
- data.add("鏃� 鏈燂細${DateUtil.dateToStamp(System.currentTimeMillis(), DateUtil.type2)}")
+
data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
data.add("*****************************")
}
}
-
+
// 璁剧疆鎵撳嵃瀛椾綋澶у皬
val size = 26f
// 鎵ц鎵撳嵃鎿嶄綔
PrintAdater.printText(data, size, true, false)
-
+
} catch (e: Exception) {
// 鎵撳嵃寮傚父淇℃伅
e.printStackTrace()
--
Gitblit v1.8.0