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 | 492 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
1 files changed, 488 insertions(+), 4 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 9e08bf7..8af188e 100644
--- a/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
+++ b/generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
@@ -1,8 +1,13 @@
package com.dayu.general.activity
import android.os.Bundle
+import com.dayu.baselibrary.tools.print.PrintAdater
+import com.dayu.baselibrary.utils.DateUtil
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
@@ -15,8 +20,25 @@
private lateinit var binding: ActivityCardWriteSuccessBinding
private var cardNumber: String? = null
+ private var cardAddr: String? = null
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
+ private var returnAmount = 0.0
+ 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)
@@ -25,9 +47,34 @@
// 鑾峰彇浼犲叆鐨勫崱鍙峰拰鎿嶄綔绫诲瀷
cardNumber = intent.getStringExtra("cardNumber")
+ 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)
+ returnAmount = intent.getDoubleExtra("returnAmount", 0.0)
+ 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()
@@ -52,6 +99,11 @@
"鍗$墖宸叉垚鍔熼攢鍗″苟娓呴櫎鍐呭\n鍗″彿锛�$cardNumber\n璇ュ崱鐗囧皢鏃犳硶鍐嶆浣跨敤"
}
binding.successMessage.text = message
+
+ // 閿�鍗℃垚鍔熷悗鑷姩鎵撳嵃
+ userCard?.let { card ->
+ doPrint(card)
+ }
}
CardOperationType.SUPPLEMENT -> {
@@ -68,6 +120,11 @@
"鍗$墖杩旇繕鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鍗″唴浣欓宸叉洿鏂�"
}
binding.successMessage.text = message
+
+ // 杩旇繕鎴愬姛鍚庤嚜鍔ㄦ墦鍗�
+ userCard?.let { card ->
+ doPrint(card)
+ }
}
CardOperationType.DeductCard -> {
@@ -84,6 +141,11 @@
"鍗$墖琛ユ墸鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鍗″唴浣欓宸叉洿鏂�"
}
binding.successMessage.text = message
+
+ // 琛ユ墸鎴愬姛鍚庤嚜鍔ㄦ墦鍗�
+ userCard?.let { card ->
+ doPrint(card)
+ }
}
CardOperationType.ReplaceCard -> {
@@ -103,10 +165,68 @@
}
CardOperationType.Recharge -> {
- binding.titleBar.setCenterText("鍐欏崱鎴愬姛")
- binding.successTitle.text = "鍐欏崱鎴愬姛"
- binding.successMessage.text =
- "鍗″唴浣欓宸叉洿鏂颁负"+MornyUtil.changeF2Y(userCard?.balance?:0.toInt()) +"鍏�"
+ 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")
+ }
+
+ // 鏄剧ず鍗″唴浣欓
+ messageBuilder.append("鍗″唴浣欓锛�${MornyUtil.changeF2Y(userCard?.balance ?: 0)}鍏�")
+
+ binding.successMessage.text = messageBuilder.toString()
+
+ // 寮�鍗℃垚鍔熷悗鑷姩鎵撳嵃
+ userCard?.let { card ->
+ doPrint(card)
+ }
}
else -> {
@@ -128,9 +248,373 @@
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
+ }
+
+ /**
+ * 鎵撳嵃鍏呭�兼垚鍔熶俊鎭埌鎵撳嵃鏈�
+ * @param userCard 鐢ㄦ埛鍗$墖淇℃伅锛屽寘鍚綑棰濈瓑淇℃伅
+ * 鍑芥暟浼氭瀯寤烘墦鍗版暟鎹苟璋冪敤鎵撳嵃閫傞厤鍣ㄨ繘琛屾墦鍗�
+ */
+ private fun doPrint(userCard: UserCard) {
+ try {
+ // 鍒涘缓鎵撳嵃鏁版嵁鍒楄〃
+ val data: MutableList<String> = ArrayList()
+
+ // 鏍规嵁鎿嶄綔绫诲瀷璁剧疆涓嶅悓鐨勬墦鍗板唴瀹�
+ val operationType = CardOperationType.fromCode(operationTypeCode)
+
+ when (operationType) {
+ CardOperationType.Recharge -> {
+ // 鍏呭�兼墦鍗板唴瀹�
+ 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 (bonusAmount > 0) {
+ data.add("璧犻�侀噾棰濓細${String.format("%.2f", bonusAmount)} 鍏�")
+ }
+
+ // 娣诲姞鍏呭�煎悗浣欓
+ 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("*****************************")
+ }
+
+ 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)} 鍏�")
+ 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)} 鍏�")
+
+
+ if (!orderNumber.isNullOrEmpty()) {
+ data.add("璁㈠崟鍙凤細$orderNumber")
+ }
+
+ data.add("璁惧鎿嶄綔鍛橈細${BaseApplication.userName}")
+ data.add(
+ "鏃� 鏈燂細${
+ DateUtil.dateToStamp(
+ System.currentTimeMillis(),
+ DateUtil.type2
+ )
+ }"
+ )
+ data.add("*****************************")
+ }
+
+ 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)} 鍏�")
+
+
+ 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)} 鍏�")
+
+
+ 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("璁惧鎿嶄綔鍛橈細${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()
+ // 鍙互娣诲姞Toast鎻愮ず鐢ㄦ埛鎵撳嵃澶辫触
+ runOnUiThread {
+ com.dayu.baselibrary.utils.ToastUtil.show("鎵撳嵃澶辫触锛�${e.message}")
+ }
+ }
+ }
+
}
\ No newline at end of file
--
Gitblit v1.8.0