From 20952db304d0f71e1ce25f3b82114bbadff1ad4a Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 20 六月 2025 16:51:54 +0800
Subject: [PATCH] feat(generallibrary): 补充补卡功能

---
 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