From 5edfd12deb166302708857515a833d1471a0f208 Mon Sep 17 00:00:00 2001 From: zuoxiao <lf_zuo@163.com> Date: 星期三, 25 六月 2025 16:15:23 +0800 Subject: [PATCH] feat(database): 增加管理卡相关功能并优化数据库结构- 新增 ManagerCardBean 数据类用于管理卡信息 - 在 AppDataBase 中添加 ManagerCardDao 接口 - 实现管理卡的数据库迁移策略 - 优化支付方式 ID 类型,从 Long改为 String - 重构更新写卡和上报状态的逻辑,支持管理卡和用户卡 --- generallibrary/src/main/java/com/dayu/general/activity/CardWriteSuccessActivity.kt | 124 ++++++++++++++++++++++++++++++++++------- 1 files changed, 103 insertions(+), 21 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 73182db..c191a4e 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,9 @@ package com.dayu.general.activity -import android.content.Intent import android.os.Bundle +import com.dayu.general.bean.card.UserCard import com.dayu.general.databinding.ActivityCardWriteSuccessBinding +import com.dayu.general.tool.CardOperationType /** * @author: zuo @@ -10,41 +11,122 @@ * @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() { - // 璁剧疆鏍囬 - binding.titleBar.setCenterText("閿�鍗℃垚鍔�") - - // 璁剧疆鎴愬姛淇℃伅 - binding.successTitle.text = "閿�鍗℃垚鍔�" - - // 璁剧疆璇︾粏淇℃伅 - val message = if (cardNumber.isNullOrBlank()) { - "鍗$墖宸叉垚鍔熼攢鍗″苟娓呴櫎鍐呭\n璇ュ崱鐗囧皢鏃犳硶鍐嶆浣跨敤" - } else { - "鍗$墖宸叉垚鍔熼攢鍗″苟娓呴櫎鍐呭\n鍗″彿锛�$cardNumber\n璇ュ崱鐗囧皢鏃犳硶鍐嶆浣跨敤" + val operationType = CardOperationType.fromCode(operationTypeCode) + + // 鏍规嵁鎿嶄綔绫诲瀷璁剧疆涓嶅悓鐨勬爣棰樺拰淇℃伅 + when (operationType) { + CardOperationType.CancelCard -> { + // 璁剧疆鏍囬 + binding.titleBar.setCenterText("閿�鍗℃垚鍔�") + + // 璁剧疆鎴愬姛淇℃伅 + binding.successTitle.text = "閿�鍗℃垚鍔�" + + // 璁剧疆璇︾粏淇℃伅 + val message = if (cardNumber.isNullOrBlank()) { + "鍗$墖宸叉垚鍔熼攢鍗″苟娓呴櫎鍐呭\n璇ュ崱鐗囧皢鏃犳硶鍐嶆浣跨敤" + } else { + "鍗$墖宸叉垚鍔熼攢鍗″苟娓呴櫎鍐呭\n鍗″彿锛�$cardNumber\n璇ュ崱鐗囧皢鏃犳硶鍐嶆浣跨敤" + } + binding.successMessage.text = message + } + + CardOperationType.SUPPLEMENT -> { + // 璁剧疆鏍囬 + binding.titleBar.setCenterText("杩旇繕鎴愬姛") + + // 璁剧疆鎴愬姛淇℃伅 + binding.successTitle.text = "杩旇繕鎴愬姛" + + // 璁剧疆璇︾粏淇℃伅 + val message = if (cardNumber.isNullOrBlank()) { + "鍗$墖杩旇繕鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″唴浣欓宸叉洿鏂�" + } else { + "鍗$墖杩旇繕鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鍗″唴浣欓宸叉洿鏂�" + } + binding.successMessage.text = message + } + + CardOperationType.DeductCard -> { + // 璁剧疆鏍囬 + binding.titleBar.setCenterText("琛ユ墸鎴愬姛") + + // 璁剧疆鎴愬姛淇℃伅 + binding.successTitle.text = "琛ユ墸鎴愬姛" + + // 璁剧疆璇︾粏淇℃伅 + val message = if (cardNumber.isNullOrBlank()) { + "鍗$墖琛ユ墸鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″唴浣欓宸叉洿鏂�" + } else { + "鍗$墖琛ユ墸鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鍗″唴浣欓宸叉洿鏂�" + } + binding.successMessage.text = message + } + + CardOperationType.ReplaceCard -> { + // 璁剧疆鏍囬 + binding.titleBar.setCenterText("琛ュ崱鎴愬姛") + + // 璁剧疆鎴愬姛淇℃伅 + binding.successTitle.text = "琛ュ崱鎴愬姛" + + // 璁剧疆璇︾粏淇℃伅 + val message = if (cardNumber.isNullOrBlank()) { + "琛ュ崱鎿嶄綔宸叉垚鍔熷畬鎴怽n鏂板崱宸插啓鍏ユ暟鎹紝鍙甯镐娇鐢�" + } else { + "琛ュ崱鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber\n鏂板崱宸插啓鍏ユ暟鎹紝鍙甯镐娇鐢�" + } + 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 { + "鍗$墖鎿嶄綔宸叉垚鍔熷畬鎴怽n鍗″彿锛�$cardNumber" + } + binding.successMessage.text = message + } } - binding.successMessage.text = message - + // 璁剧疆鐐瑰嚮纭畾鎸夐挳鍚庡叧闂〉闈� binding.btnConfirm.setOnClickListener { finish() } - + // 璁剧疆鏍囬鏍忚繑鍥炴寜閽� binding.titleBar.setOnItemclickListner(com.dayu.baselibrary.view.TitleBar.ClickType_LEFT_IMAGE) { finish() -- Gitblit v1.8.0