左晓为主开发手持机充值管理机
zuoxiao
11 小时以前 a1202e01bdf133d7c10be4d6018d665622673bf8
feat(generallibrary): 充值成功后展示余额信息

- 在 CardWriteSuccessActivity 中添加对充值操作的处理
- 显示充值后的卡内余额
-优化 NfcWreatActivity 中的余额显示格式
2个文件已修改
54 ■■■■■ 已修改文件
generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt
@@ -1,6 +1,7 @@
package com.dayu.general.activity
import android.os.Bundle
import com.dayu.general.bean.card.UserCard
import com.dayu.general.databinding.ActivityCardWriteSuccessBinding
import com.dayu.general.tool.CardOperationType
@@ -10,35 +11,39 @@
 * @description: 写卡成功页面
 */
class CardWriteSuccessActivity : BaseActivity() {
    private lateinit var binding: ActivityCardWriteSuccessBinding
    private var cardNumber: String? = null
    private var operationTypeCode: Int = -1
    private var userCard: UserCard? = null
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        binding = ActivityCardWriteSuccessBinding.inflate(layoutInflater)
        setContentView(binding.root)
        // 获取传入的卡号和操作类型
        cardNumber = intent.getStringExtra("cardNumber")
        operationTypeCode = intent.getIntExtra("operationTypeCode", -1)
        if (intent.hasExtra("userCard")) {
            userCard = intent.getSerializableExtra("userCard") as UserCard
        }
        initView()
    }
    private fun initView() {
        val operationType = CardOperationType.fromCode(operationTypeCode)
        // 根据操作类型设置不同的标题和信息
        when (operationType) {
            CardOperationType.CancelCard -> {
                // 设置标题
                binding.titleBar.setCenterText("销卡成功")
                // 设置成功信息
                binding.successTitle.text = "销卡成功"
                // 设置详细信息
                val message = if (cardNumber.isNullOrBlank()) {
                    "卡片已成功销卡并清除内容\n该卡片将无法再次使用"
@@ -47,14 +52,14 @@
                }
                binding.successMessage.text = message
            }
            CardOperationType.ReturnCard -> {
                // 设置标题
                binding.titleBar.setCenterText("返还成功")
                // 设置成功信息
                binding.successTitle.text = "返还成功"
                // 设置详细信息
                val message = if (cardNumber.isNullOrBlank()) {
                    "卡片返还操作已成功完成\n卡内余额已更新"
@@ -63,14 +68,14 @@
                }
                binding.successMessage.text = message
            }
            CardOperationType.DeductCard -> {
                // 设置标题
                binding.titleBar.setCenterText("补扣成功")
                // 设置成功信息
                binding.successTitle.text = "补扣成功"
                // 设置详细信息
                val message = if (cardNumber.isNullOrBlank()) {
                    "卡片补扣操作已成功完成\n卡内余额已更新"
@@ -79,12 +84,19 @@
                }
                binding.successMessage.text = message
            }
            CardOperationType.Recharge -> {
                binding.titleBar.setCenterText("写卡成功")
                binding.successTitle.text = "写卡成功"
                binding.successMessage.text =
                    "卡内余额已更新为 ${userCard?.balance}元"
            }
            else -> {
                // 默认显示写卡成功
                binding.titleBar.setCenterText("写卡成功")
                binding.successTitle.text = "写卡成功"
                val message = if (cardNumber.isNullOrBlank()) {
                    "卡片操作已成功完成"
                } else {
@@ -93,12 +105,12 @@
                binding.successMessage.text = message
            }
        }
        // 设置点击确定按钮后关闭页面
        binding.btnConfirm.setOnClickListener {
            finish()
        }
        // 设置标题栏返回按钮
        binding.titleBar.setOnItemclickListner(com.dayu.baselibrary.view.TitleBar.ClickType_LEFT_IMAGE) {
            finish()
generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt
@@ -154,10 +154,7 @@
                    if (userCard.balance != 0) {
                        val totalBalanceInYuan = userCard.balance / 100.0 // 转换为元
                        textData.append(
                            "卡内总余额:" + String.format(
                                "%.2f",
                                totalBalanceInYuan
                            ) + "元"
                            "充值后余额:" + MornyUtil.changeF2Y(userCard.balance)+ "元"
                        )
                    }
@@ -332,6 +329,7 @@
                        finish()
                        Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply {
                            putExtra("cardNumber", cardNumber)
                            putExtra("userCard", userCard)
                            putExtra("operationTypeCode", operationTypeCode)
                            startActivity(this)
                        }