File was renamed from generallibrary/src/main/java/com/dayu/general/activity/LossCardActivity.kt |
| | |
| | | * Author: zuo |
| | | * Date: 2025/6/11 |
| | | */ |
| | | class LossCardActivity : BaseActivity() { |
| | | class CardLossActivity : BaseActivity() { |
| | | |
| | | var binding: ActivityCardListBinding? = null |
| | | private var cardAdapter: CardListAdapter? = null |
| | |
| | | private fun setupRecyclerView() { |
| | | cardAdapter = CardListAdapter(this) |
| | | binding?.recyclerView?.apply { |
| | | layoutManager = LinearLayoutManager(this@LossCardActivity) |
| | | layoutManager = LinearLayoutManager(this@CardLossActivity) |
| | | adapter = cardAdapter |
| | | } |
| | | |
| | |
| | | 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) |
| | | } |
| | | } |
| | | |
| | | |
| | | } |
| | | |
| | | private fun setupRefreshLayout() { |
| | |
| | | ) |
| | | } |
| | | |
| | | |
| | | 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, |
| | | "terminal/card/termReportLoss", |
| | | 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 |
| | | ) |
| | | |
| | | /** |
| | | * 完成刷新或加载操作 |