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
|
var cardType = ""
|
var orderId = ""
|
var cardAddr = ""
|
|
override fun onCreate(savedInstanceState: Bundle?) {
|
super.onCreate(savedInstanceState)
|
binding = ActivityNfcWriteGeBinding.inflate(layoutInflater)
|
setContentView(binding?.root)
|
getInitData()
|
}
|
|
/**
|
* 获取数据
|
*/
|
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 = "清零卡写卡"
|
}
|
|
}
|
}
|
|
}
|
|
|
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("卡片错误,当前刷的卡与刚刚的卡不一致")
|
}
|
}
|
|
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 ?: "未知错误"}")
|
}
|
}
|
)
|
}
|
|
|
}
|