左晓为主开发手持机充值管理机
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
@@ -28,7 +28,6 @@
class NfcWreatActivity : BaseNfcActivity() {
    var binding: ActivityNfcWriteGeBinding? = null
    var cardType = ""
    var orderId = ""
    var cardAddr = ""
    var cardFee = 0
@@ -50,9 +49,9 @@
     */
    private fun getInitData() {
        cardType = intent?.getStringExtra("cardType") ?: ""
        orderId = intent?.getStringExtra("orderId") ?: ""
        cardAddr = intent?.getStringExtra("cardAddr") ?: ""
        operationTypeCode = intent?.getIntExtra("operationTypeCode", -1) ?: -1
        orderNumber = intent?.getStringExtra("orderNumber") ?: ""
        operationType = CardOperationType.fromCode(operationTypeCode)
        if (intent?.hasExtra("cardFee") == true) {
            cardFee = intent?.getIntExtra("cardFee", 0) ?: 0
@@ -84,10 +83,21 @@
                    binding?.cardData?.text = textData.toString()
                }
                CardOperationType.Recharge -> {
                    var textData = StringBuilder()
                    textData.append("用户充值\n")
                    textData.append("订单号:" + orderNumber + "\n")
                    if (userCard.balance != 0) {
                        val balanceInYuan = userCard.balance / 100.0 // 转换为元
                        textData.append("充值金额:" + String.format("%.2f", balanceInYuan) + "元")
                    }
                    binding?.cardData?.text = textData.toString()
                }
                CardOperationType.CancelCard -> TODO()
                CardOperationType.CheckCard -> TODO()
                CardOperationType.DeductCard -> TODO()
                CardOperationType.Recharge -> TODO()
                CardOperationType.ReplaceCard -> TODO()
                null -> TODO()
            }
@@ -137,10 +147,25 @@
                }
                CardOperationType.Recharge -> {
                    nfcWreatHelper.writeUserDataAsync(userCard, object : NFCCallBack {
                        override fun isSusses(flag: Boolean, msg: String?) {
                            // 确保Toast在主线程中调用
                            runOnUiThread {
                                if (flag) {
                                    postCardData(cardType, cardAddr)
                                    ToastUtil.show("充值写卡成功!")
                                } else {
                                    ToastUtil.show("充值写卡失败: ${msg ?: "未知错误"}")
                                }
                            }
                        }
                    })
                }
                CardOperationType.CancelCard -> TODO()
                CardOperationType.CheckCard -> TODO()
                CardOperationType.DeductCard -> TODO()
                CardOperationType.Recharge -> TODO()
                CardOperationType.ReplaceCard -> TODO()
                null -> TODO()
            }
@@ -170,7 +195,10 @@
                    runOnUiThread {
                        setResult(RESULT_OK)
                        finish()
                        ToastUtil.show("写卡成功")
                        Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply {
                            putExtra("cardNumber", cardNumber)
                            startActivity(this)
                        }
                    }
                }
            } catch (e: Exception) {