左晓为主开发手持机充值管理机
zuoxiao
23 小时以前 20952db304d0f71e1ce25f3b82114bbadff1ad4a
generallibrary/src/main/java/com/dayu/general/activity/SearchCardListActivity.kt
@@ -90,9 +90,9 @@
                card.cardNum.toString(),
                card.money.toString()
            )
            refundDialog.setOnConfirmListener {  refundAmount, remark ->
                // TODO: 处理退款逻辑
                lossPost(card.idCard.toString())
            refundDialog.setOnConfirmListener { _username, cardNumber, balance, refundAmount, remark ->
                // 调用挂失接口
                lossPost(cardNumber, balance, refundAmount, remark)
            }
        }
@@ -217,38 +217,56 @@
        )
    }
    private fun lossPost(cardNumber: String) {
    /**
     * 执行挂失操作
     * @param cardNumber 卡号
     * @param balance 余额
     * @param refundAmount 退款金额
     * @param remark 备注
     */
    private fun lossPost(cardNumber: String, balance: String, refundAmount: String, remark: String) {
        val map = mutableMapOf<String, Any>()
        map["cardNum"] = cardNumber
        // 处理余额格式,去除千位分隔符逗号和"元"字符
        val balanceValue = balance.replace("元", "").replace(",", "").toFloatOrNull() ?: 0f
        map["money"] = balanceValue
        map["refund"] = refundAmount.toFloatOrNull() ?: 0f
        map["remarks"] = remark.ifEmpty { "挂失" }
        map["operator"] = BaseApplication.userId
        ApiManager.getInstance().requestGetLoading(
        ApiManager.getInstance().requestPostLoading(
            this,
            "/sell/card/loss",
            SearchCardResult::class.java,
            "sell/card/loss",
            ReportLossResult::class.java,
            map,
            object : SubscriberListener<BaseResponse<SearchCardResult>>() {
                override fun onNext(t: BaseResponse<SearchCardResult>) {
                    if (t.success) {
            object : SubscriberListener<BaseResponse<ReportLossResult>>() {
                override fun onNext(t: BaseResponse<ReportLossResult>) {
                    if (t.success && t.code == "0001") {
                        ToastUtil.show("挂失成功")
                        // 刷新列表数据
                        searchCards(currentFarmerId, currentFarmerName, currentCardNumber, true)
                    } else {
                        // 处理搜索失败的情况
                        ToastUtil.show(t.msg)
                        ToastUtil.show(t.msg ?: "挂失失败")
                    }
                }
                override fun onError(e: Throwable?) {
                    super.onError(e)
                    // 完成刷新或加载动作
                    ToastUtil.show("搜索失败: ${e?.message ?: "未知错误"}")
                    ToastUtil.show("挂失失败: ${e?.message ?: "网络错误"}")
                }
            }
        )
    }
    /**
     * 挂失接口返回结果
     */
    data class ReportLossResult(
        val content: Boolean? = null
    )
    /**
     * 完成刷新或加载操作