左晓为主开发手持机充值管理机
zuoxiao
昨天 2b02b6e854a56a511588e4865ddf2c6597675329
generallibrary/src/main/java/com/dayu/general/activity/RechargeDetailActivity.kt
@@ -25,6 +25,7 @@
import com.dayu.general.databinding.ActivityRechargeDetailBinding
import com.dayu.general.net.ApiManager
import com.dayu.general.net.BaseResponse
import com.dayu.general.tool.CardCommon.Companion.USER_CARD_TYPE_1
import com.dayu.general.tool.CardOperationType
class RechargeDetailActivity : AppCompatActivity() {
@@ -395,7 +396,13 @@
                // 设置用户卡信息
                cardInfo?.let { info ->
                    userCode = info.cardNum ?: ""
                    balance = ((rechargeAmount + bonusAmount) * 100).toInt() // 转换为分
                    // 计算新余额:原有余额 + 充值金额 + 赠送金额
                    val originalBalance = this@RechargeDetailActivity.userCard?.balance ?: 0 // 原有余额(分)
                    val rechargeAmountInCents = (rechargeAmount * 100).toInt() // 充值金额转分
                    val bonusAmountInCents = (bonusAmount * 100).toInt() // 赠送金额转分
                    balance = originalBalance + rechargeAmountInCents + bonusAmountInCents
                }
                
                // 设置其他必要信息
@@ -406,22 +413,16 @@
            // 启动写卡Activity
            val intent = Intent(this, NfcWreatActivity::class.java).apply {
                putExtra("cardType", "USER_CARD") // 用户卡类型
                putExtra("cardType", USER_CARD_TYPE_1) // 用户卡类型
                putExtra("cardAddr", cardAddress)
                putExtra("operationTypeCode", CardOperationType.Recharge.code)
                putExtra("orderNumber", rechargeResult.orderNo)
                putExtra("userCard", userCard)
                putExtra("rechargeAmount", rechargeAmount) // 传递充值金额
                putExtra("bonusAmount", bonusAmount) // 传递赠送金额
            }
            startActivity(intent)
            // 显示成功信息
            val formattedRecharge = String.format("%.2f", rechargeAmount)
            val formattedBonus = String.format("%.2f", bonusAmount)
            val formattedTotal = String.format("%.2f", rechargeAmount + bonusAmount)
            ToastUtil.show("充值订单创建成功\n订单号: ${rechargeResult.orderNo}\n充值金额: ${formattedRecharge}元\n赠送金额: ${formattedBonus}元\n总金额: ${formattedTotal}元\n请贴卡进行写卡操作")
        } catch (e: Exception) {
            ToastUtil.show("启动写卡界面失败: ${e.message}")
        }