From 0faae97cd2523f840c426da68464e577e01dfa80 Mon Sep 17 00:00:00 2001
From: zuojincheng <lf_zuo@163.com>
Date: 星期一, 23 六月 2025 20:35:08 +0800
Subject: [PATCH] refactor(CardReplaceActivity): 重构补卡流程并优化界面显示- 重新设计卡片信息展示布局,增加新卡卡地址、客户编号等字段 - 优化补卡逻辑,支持通过卡号或客户编号获取卡片信息 -调整工本费和返回金额输入框位置 - 更新API调用路径,使用新的卡片查询接口
---
generallibrary/src/main/java/com/dayu/general/view/CardRefundDialog.kt | 76 +++++++------------------------------
1 files changed, 15 insertions(+), 61 deletions(-)
diff --git a/generallibrary/src/main/java/com/dayu/general/view/CardRefundDialog.kt b/generallibrary/src/main/java/com/dayu/general/view/CardRefundDialog.kt
index bb69c99..a6508be 100644
--- a/generallibrary/src/main/java/com/dayu/general/view/CardRefundDialog.kt
+++ b/generallibrary/src/main/java/com/dayu/general/view/CardRefundDialog.kt
@@ -5,21 +5,15 @@
import android.os.Bundle
import android.view.Gravity
import android.view.WindowManager
-import com.dayu.baselibrary.net.subscribers.SubscriberListener
-import com.dayu.baselibrary.utils.ToastUtil
-import com.dayu.general.BaseApplication
import com.dayu.general.R
import com.dayu.general.databinding.DialogCardRefundBinding
-import com.dayu.general.net.ApiManager
-import com.dayu.general.net.BaseResponse
/**
*鍗$墖鎸傚け瀵硅瘽妗�
*/
class CardRefundDialog(context: Context) : Dialog(context) {
private var binding: DialogCardRefundBinding? = null
- private var onConfirmListener: ((String, String) -> Unit)? = null
- private var onSuccessListener: (() -> Unit)? = null
+ private var onConfirmListener: ((String, String, String, String, String) -> Unit)? = null
private var username: String? = null
private var cardNumber: String? = null
private var balance: String? = null
@@ -47,8 +41,15 @@
val refundAmount = binding?.etRefundAmount?.text.toString()
val remark = binding?.etRemark?.text.toString()
- // 璋冪敤鎸傚け鎺ュ彛
- callReportLossApi(refundAmount, remark)
+ // 閫氳繃鍥炶皟灏嗘暟鎹紶閫掔粰Activity澶勭悊
+ username?.let { username ->
+ cardNumber?.let { cardNumber ->
+ balance?.let { balance ->
+ onConfirmListener?.invoke(username, cardNumber, balance, refundAmount, remark)
+ dismiss()
+ }
+ }
+ }
}
// 濡傛灉鏈夐璁剧殑鐢ㄦ埛淇℃伅锛岃缃畠浠�
@@ -80,58 +81,11 @@
}
}
- fun setOnConfirmListener(listener: (String, String) -> Unit) {
+ /**
+ * 璁剧疆纭鐩戝惉鍣�
+ * @param listener 鍥炶皟鍑芥暟锛屽弬鏁颁负锛氱敤鎴峰悕銆佸崱鍙枫�佷綑棰濄�侀��娆鹃噾棰濄�佸娉�
+ */
+ fun setOnConfirmListener(listener: (String, String, String, String, String) -> Unit) {
onConfirmListener = listener
}
-
- fun setOnSuccessListener(listener: () -> Unit) {
- onSuccessListener = listener
- }
-
- /**
- * 璋冪敤鎸傚け鎺ュ彛
- */
- private fun callReportLossApi(refundAmount: String, remark: String) {
- val params = mutableMapOf<String, Any>()
- params["cardNum"] = cardNumber ?: ""
-
- // 澶勭悊浣欓鏍煎紡锛屽幓闄ゅ崈浣嶅垎闅旂閫楀彿鍜�"鍏�"瀛楃
- val balanceValue = balance?.replace("鍏�", "")?.replace(",", "")?.toFloatOrNull() ?: 0f
- params["money"] = balanceValue
-
- params["refund"] = refundAmount.toFloatOrNull() ?: 0f
- params["remarks"] = remark.ifEmpty { "鎸傚け" }
- params["operator"] = BaseApplication.userId
-
- ApiManager.getInstance().requestPostLoading(
- context,
- "terminal/card/termReportLoss",
- ReportLossResult::class.java,
- params,
- object : SubscriberListener<BaseResponse<ReportLossResult>>() {
- override fun onNext(response: BaseResponse<ReportLossResult>) {
- if (response.success && response.code == "0001") {
- ToastUtil.show("鎸傚け鎴愬姛")
- onConfirmListener?.invoke(refundAmount, remark)
- onSuccessListener?.invoke()
- dismiss()
- } else {
- ToastUtil.show(response.msg ?: "鎸傚け澶辫触")
- }
- }
-
- override fun onError(e: Throwable?) {
- super.onError(e)
- ToastUtil.show("鎸傚け澶辫触: ${e?.message ?: "缃戠粶閿欒"}")
- }
- }
- )
- }
-
- /**
- * 鎸傚け鎺ュ彛杩斿洖缁撴灉
- */
- data class ReportLossResult(
- val content: Boolean? = null
- )
}
\ No newline at end of file
--
Gitblit v1.8.0