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