| | |
| | | package com.dayu.general.activity |
| | | package com.dayu.general.activity |
| | | |
| | | import android.content.Intent |
| | | import android.os.Bundle |
| | | import com.dayu.baselibrary.net.subscribers.SubscriberListener |
| | | import com.dayu.baselibrary.utils.ToastUtil |
| | | import com.dayu.general.bean.card.ClearCard |
| | | import com.dayu.general.tool.CardCommon |
| | | import com.dayu.general.databinding.ActivityNfcWriteGeBinding |
| | | import com.dayu.general.net.ApiManager |
| | | import com.dayu.general.net.BaseResponse |
| | | import com.dayu.general.tool.NfcReadHelper |
| | | import com.dayu.general.tool.NfcWreatHelper |
| | | |
| | | /** |
| | | * @author: zuo |
| | | * @date: 2021/3/30 |
| | | * @description:写卡界面 |
| | | */ |
| | | class NfcWreatActivity:BaseNfcActivity() { |
| | | |
| | | var binding:ActivityNfcWriteGeBinding? = null |
| | | |
| | | class NfcWreatActivity : BaseNfcActivity() { |
| | | var binding: ActivityNfcWriteGeBinding? = null |
| | | var cardType = "" |
| | | var orderId = "" |
| | | var cardAddr = "" |
| | | |
| | | override fun onCreate(savedInstanceState: Bundle?) { |
| | | super.onCreate(savedInstanceState) |
| | |
| | | /** |
| | | * 获取数据 |
| | | */ |
| | | private fun getInitData(){ |
| | | cardType= intent?.getStringExtra("cardType")?:"" |
| | | private fun getInitData() { |
| | | cardType = intent?.getStringExtra("cardType") ?: "" |
| | | orderId = intent?.getStringExtra("orderId") ?: "" |
| | | cardAddr = intent?.getStringExtra("cardAddr") ?: "" |
| | | if (cardType.isNotEmpty()) { |
| | | when (cardType) { |
| | | CardCommon.CLEAN_CARD_TYPE -> { |
| | | binding?.cardData?.text = "清零卡写卡" |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | private fun setTextData(){ |
| | | when(cardType){ |
| | | CardCommon.CHECK_CARD->{ |
| | | binding?.cardData?.text = "写用户卡" |
| | | } |
| | | |
| | | override fun onNfcBack(intent: Intent) { |
| | | val nfcReadHelper = NfcReadHelper.getInstance(intent, this) |
| | | val cardNumber = nfcReadHelper.getCardNumberNoClose() |
| | | if (cardNumber.isNotEmpty() && cardNumber == cardAddr) { |
| | | val nfcWreatHelper = NfcWreatHelper.getInstance(intent, this) |
| | | when (cardType) { |
| | | CardCommon.CLEAN_CARD_TYPE -> { |
| | | var clearCard = ClearCard() |
| | | nfcWreatHelper.writeData(clearCard.getZeroBytes(), 7, 0) { success, message -> |
| | | if (success) { |
| | | postCardData(cardType, cardAddr, "") |
| | | ToastUtil.show("写卡成功!") |
| | | // 处理写卡成功的情况 |
| | | } else { |
| | | // 处理写卡失败的情况 |
| | | ToastUtil.show(message) |
| | | } |
| | | } |
| | | } |
| | | } |
| | | } else { |
| | | ToastUtil.show("卡片错误,当前刷的卡与刚刚的卡不一致") |
| | | } |
| | | } |
| | | override fun onNfcBack(intent: Intent?) { |
| | | TODO("Not yet implemented") |
| | | when(cardType){ |
| | | CardCommon.CHECK_CARD->{ |
| | | |
| | | fun postCardData(cardType: String, cardAddr: String, remark: String) { |
| | | when (cardType) { |
| | | CardCommon.CHECK_CARD -> { |
| | | binding?.cardData?.text = "写用户卡" |
| | | } |
| | | |
| | | } |
| | | val map = mutableMapOf<String, Any>() |
| | | |
| | | if (cardAddr.isNotEmpty()) { |
| | | map["cardAddr"] = cardAddr |
| | | } |
| | | |
| | | if (cardType.isNotEmpty()) { |
| | | // map["cardType"] = cardType |
| | | map["cardType"] = "5" |
| | | } |
| | | if (remark.isNotEmpty()) { |
| | | map["remarks"] = remark |
| | | } |
| | | // 使用正确的类型参数 |
| | | ApiManager.getInstance().requestPostLoading( |
| | | this, |
| | | "/sell/card/call_back", |
| | | String::class.java, |
| | | map, |
| | | object : SubscriberListener<BaseResponse<String>>() { |
| | | override fun onNext(t: BaseResponse<String>) { |
| | | if (t.success) { |
| | | this@NfcWreatActivity.finish() |
| | | } else { |
| | | // 处理搜索失败的情况 |
| | | ToastUtil.show(t.msg) |
| | | } |
| | | } |
| | | |
| | | override fun onError(e: Throwable?) { |
| | | super.onError(e) |
| | | ToastUtil.show("搜索失败: ${e?.message ?: "未知错误"}") |
| | | } |
| | | } |
| | | ) |
| | | } |
| | | |
| | | |
| | | } |