左晓为主开发手持机充值管理机
zuoxiao
5 天以前 98994189864f045551f7d06f78017b5df70e1be3
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
@@ -41,6 +41,9 @@
    // 返还相关信息
    private var returnAmount = 0.0
    // 补扣相关信息
    private var deductAmount = 0.0
    //订单编号
    var orderNumber = ""
    private lateinit var userCard: UserCard
@@ -74,6 +77,9 @@
        // 获取返还相关信息
        returnAmount = intent?.getDoubleExtra("returnAmount", 0.0) ?: 0.0
        // 获取补扣相关信息
        deductAmount = intent?.getDoubleExtra("deductAmount", 0.0) ?: 0.0
        if (intent?.hasExtra("cardFee") == true) {
            cardFee = intent?.getIntExtra("cardFee", 0) ?: 0
@@ -174,8 +180,15 @@
                    binding?.cardData?.text = textData.toString()
                }
                CardOperationType.DeductCard -> {
                    var textData = StringBuilder()
                    textData.append("补扣\n")
                    textData.append("卡内余额:" + MornyUtil.changeF2Y(userCard.balance) + "元\n")
                    textData.append("补扣金额:" + deductAmount + "元")
                    binding?.cardData?.text = textData.toString()
                }
                CardOperationType.CheckCard -> TODO()
                CardOperationType.DeductCard -> TODO()
                CardOperationType.ReplaceCard -> TODO()
                null -> TODO()
            }
@@ -272,8 +285,22 @@
                    })
                }
                CardOperationType.DeductCard -> {
                    nfcWreatHelper.writeUserDataAsync(userCard, object : NFCCallBack {
                        override fun isSusses(flag: Boolean, msg: String?) {
                            // 确保Toast在主线程中调用
                            runOnUiThread {
                                if (flag) {
                                    postCardData(cardAddr)
                                } else {
                                    ToastUtil.show("补扣写卡失败: ${msg ?: "未知错误"}")
                                }
                            }
                        }
                    })
                }
                CardOperationType.CheckCard -> TODO()
                CardOperationType.DeductCard -> TODO()
                CardOperationType.ReplaceCard -> TODO()
                null -> TODO()
            }