From 899cb6ce779b24a659ec3515dd3fb1cd1afef7d2 Mon Sep 17 00:00:00 2001 From: zuojincheng <lf_zuo@163.com> Date: 星期二, 24 六月 2025 14:02:46 +0800 Subject: [PATCH] feat(card): 增加区域表号卡制作功能 --- generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt | 76 ++++++++++++++++++++++++++++++++++++-- 1 files changed, 72 insertions(+), 4 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt index 1c218d7..a90feb8 100644 --- a/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt +++ b/generallibrary/src/main/java/com/dayu/general/activity/ManagerReadActivity.kt @@ -2,6 +2,8 @@ import android.content.Intent import android.os.Bundle +import android.text.Editable +import android.text.TextWatcher import android.view.View import androidx.databinding.DataBindingUtil import com.dayu.baselibrary.net.subscribers.SubscriberListener @@ -13,6 +15,7 @@ import com.dayu.general.model.CardInfoModel import com.dayu.general.net.ApiManager import com.dayu.general.net.BaseResponse +import com.dayu.general.tool.CardCommon import com.dayu.general.tool.NfcReadHelper class ManagerReadActivity : BaseNfcActivity() { @@ -37,15 +40,64 @@ } private fun initView() { - binding.titleBar.setCenterText("璇诲崱") + // 鏍规嵁鍗$被鍨嬭缃爣棰� + when (cardType) { + CardCommon.REGION_CARD -> binding.titleBar.setCenterText("鍒朵綔鍖哄煙琛ㄥ彿鍗�") + CardCommon.CHECK_CARD -> binding.titleBar.setCenterText("鍒朵綔妫�鏌ュ崱") + CardCommon.DEBUG_CARD -> binding.titleBar.setCenterText("鍒朵綔璋冭瘯鍗�") + CardCommon.CLEAN_CARD_TYPE -> binding.titleBar.setCenterText("鍒朵綔娓呴浂鍗�") + else -> binding.titleBar.setCenterText("璇诲崱") + } + binding.titleBar.setOnItemclickListner(ClickType_LEFT_IMAGE) { this.finish() } + + // 鏍规嵁鍗$被鍨嬭缃緭鍏ユ鍙鎬� + when (cardType) { + CardCommon.REGION_CARD -> { + // 鍖哄煙琛ㄥ彿鍗★細鏄剧ず鍖哄煙鍙疯緭鍏ユ + binding.regionNumberLayout.visibility = View.VISIBLE + // 涓哄尯鍩熷彿杈撳叆妗嗘坊鍔犺緭鍏ラ獙璇� + binding.regionNumberEt.addTextChangedListener(object : TextWatcher { + override fun beforeTextChanged(s: CharSequence?, start: Int, count: Int, after: Int) {} + override fun onTextChanged(s: CharSequence?, start: Int, before: Int, count: Int) {} + override fun afterTextChanged(s: Editable?) { + val text = s.toString() + if (text.length > 12) { + binding.regionNumberEt.setText(text.substring(0, 12)) + binding.regionNumberEt.setSelection(12) + } + } + }) + } + CardCommon.CHECK_CARD, + CardCommon.DEBUG_CARD, + CardCommon.CLEAN_CARD_TYPE -> { + // 妫�鏌ュ崱銆佽皟璇曞崱銆佹竻闆跺崱锛氶殣钘忓尯鍩熷彿杈撳叆妗嗭紝鍙樉绀哄崱鍦板潃鍜屽娉� + binding.regionNumberLayout.visibility = View.GONE + } + else -> { + // 鍏朵粬鍗$被鍨嬶細闅愯棌鍖哄煙鍙疯緭鍏ユ + binding.regionNumberLayout.visibility = View.GONE + } + } + binding.btnNext.setOnClickListener { if (viewModel.cardNumber.value.isNullOrEmpty()) { ToastUtil.show("璇峰厛璇诲彇鍗″彿") + } else if (cardType == CardCommon.REGION_CARD) { + // 鍖哄煙琛ㄥ彿鍗¢渶瑕侀獙璇佸尯鍩熷彿 + val regionNumber = viewModel.regionNumber.value + if (regionNumber.isNullOrEmpty()) { + ToastUtil.show("璇疯緭鍏ュ尯鍩熷彿") + } else if (regionNumber.length != 12) { + ToastUtil.show("鍖哄煙鍙峰繀椤讳负12浣嶆暟瀛�") + } else { + postCardData(cardType, viewModel.cardNumber.value!!, getRemark(), regionNumber) + } } else { + // 鍏朵粬鍗$被鍨嬶紙鍖呮嫭璋冭瘯鍗°�佹鏌ュ崱銆佹竻闆跺崱锛変笉闇�瑕佸尯鍩熷彿 postCardData(cardType, viewModel.cardNumber.value!!, getRemark()) } - } } @@ -71,7 +123,7 @@ if (cardNumber.isNotEmpty() && !cardNumber.contains(BaseCommon.CARD_TYPE_ERROR2)) { binding.btnNext.visibility = View.VISIBLE binding.dataLayout.visibility = View.VISIBLE - binding.rechargeReadLL.visibility = View.GONE + binding.scrollReadCard.visibility = View.GONE setCardNumber(cardNumber) } else if (cardNumber.contains(BaseCommon.CARD_TYPE_ERROR2)) { ToastUtil.show("褰撳墠鍗″瘑鐮侀敊璇紝涓嶆槸鏈叕鍙稿崱") @@ -91,9 +143,16 @@ /** - * 鎻愪氦鏁版嵁 + * 鎻愪氦鏁版嵁 - 涓嶅甫鍖哄煙鍙风殑鐗堟湰 */ fun postCardData(cardType: String, cardAddr: String, remark: String) { + postCardData(cardType, cardAddr, remark, null) +} + +/** + * 鎻愪氦鏁版嵁 - 甯﹀尯鍩熷彿鐨勭増鏈� + */ +fun postCardData(cardType: String, cardAddr: String, remark: String, regionNumber: String?) { val map = mutableMapOf<String, Any>() @@ -108,6 +167,12 @@ if (remark.isNotEmpty()) { map["remarks"] = remark } + + // 濡傛灉鏄尯鍩熻〃鍙峰崱骞朵笖鏈夊尯鍩熷彿锛屾坊鍔犲埌璇锋眰鍙傛暟涓� + if (cardType == CardCommon.REGION_CARD && !regionNumber.isNullOrEmpty()) { + map["regionNumber"] = regionNumber + } + // 浣跨敤姝g‘鐨勭被鍨嬪弬鏁� ApiManager.getInstance().requestPostLoading( this, @@ -121,6 +186,9 @@ putExtra("cardAddr", cardAddr) putExtra("orderId", t.content) putExtra("cardType", cardType) + if (cardType == CardCommon.REGION_CARD && !regionNumber.isNullOrEmpty()) { + putExtra("regionNumber", regionNumber) + } } this@ManagerReadActivity.finish() startActivity(intent) -- Gitblit v1.8.0