From 87e5604ad04c0b7aaacf3d52bae85e62d308cb6d Mon Sep 17 00:00:00 2001 From: zuoxiao <lf_zuo@163.com> Date: 星期四, 26 六月 2025 16:41:02 +0800 Subject: [PATCH] refactor(generallibrary):重构开卡成功界面并移除未使用的开卡界面 --- generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt | 170 +++++++++++++++++++++++++++++++++++++++----------------- 1 files changed, 117 insertions(+), 53 deletions(-) diff --git a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt index 8539f83..ab3ae13 100644 --- a/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt +++ b/generallibrary/src/main/java/com/dayu/general/activity/NfcWreatActivity.kt @@ -13,6 +13,8 @@ import com.dayu.general.bean.card.ClearCard import com.dayu.general.bean.card.DebugCard import com.dayu.general.bean.card.UserCard +import com.dayu.general.bean.net.CardInfoResult +import com.dayu.general.bean.net.ClientInfo import com.dayu.general.dao.BaseDaoSingleton import com.dayu.general.databinding.ActivityNfcWriteGeBinding import com.dayu.general.net.ApiManager @@ -98,6 +100,10 @@ /** 椤圭洰鍙凤紙1-255锛� */ private var projectNumber: String = "" + private var cardInfo: CardInfoResult? = null + + private var clientInfo: ClientInfo? = null + override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) binding = ActivityNfcWriteGeBinding.inflate(layoutInflater) @@ -116,6 +122,8 @@ operationTypeCode = intent?.getIntExtra("operationTypeCode", -1) ?: -1 orderNumber = intent?.getStringExtra("orderNumber") ?: "" operationType = CardOperationType.fromCode(operationTypeCode) + cardInfo = intent?.getSerializableExtra("cardInfo") as? CardInfoResult + clientInfo = intent?.getSerializableExtra("clientInfo") as? ClientInfo // 鑾峰彇鍏呭�肩浉鍏抽噾棰� rechargeAmount = intent?.getDoubleExtra("rechargeAmount", 0.0) ?: 0.0 @@ -254,8 +262,9 @@ // 杩旇繕鎿嶄綔鏄剧ず淇℃伅 var textData = StringBuilder() textData.append("杩旇繕\n") - textData.append("鍗″唴浣欓锛�" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n") - textData.append("杩旇繕閲戦锛�" + returnAmount + "鍏�") + textData.append("杩旇繕閲戦锛�" + returnAmount + "鍏僜n") + textData.append("杩旇繕鍚庡崱鍐呬綑棰濓細" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n") + binding?.cardData?.text = textData.toString() } @@ -263,8 +272,9 @@ // 琛ユ墸鎿嶄綔鏄剧ず淇℃伅 var textData = StringBuilder() textData.append("琛ユ墸\n") - textData.append("鍗″唴浣欓锛�" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n") - textData.append("琛ユ墸閲戦锛�" + deductAmount + "鍏�") + textData.append("琛ユ墸閲戦锛�" + deductAmount + "鍏僜n") + textData.append("琛ユ墸鍚庡崱鍐呬綑棰濓細" + MornyUtil.changeF2Y(userCard.balance) + "鍏僜n") + binding?.cardData?.text = textData.toString() } @@ -499,14 +509,14 @@ object : NFCCallBack { override fun isSusses(flag: Boolean, msg: String?) { // 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢� - runOnUiThread { - if (flag) { - // 妫�鏌ュ崱鍐欏崱鎴愬姛锛屾洿鏂板啓鍗$姸鎬� - updateCardWrittenStatus(cardAddr) - } else { - ToastUtil.show("妫�鏌ュ崱鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}") + runOnUiThread { + if (flag) { + // 妫�鏌ュ崱鍐欏崱鎴愬姛锛屾洿鏂板啓鍗$姸鎬� + updateCardWrittenStatus(cardAddr) + } else { + ToastUtil.show("妫�鏌ュ崱鍐欏崱澶辫触: ${msg ?: "鏈煡閿欒"}") + } } - } } }) } @@ -514,7 +524,7 @@ CardOperationType.RegionCardMake -> { // 鍖哄煙琛ㄥ彿鍗″啓鍗¢�昏緫锛堝姛鑳藉崱锛屾棤闇�鍐欏叆鐢ㄦ埛鏁版嵁锛� var areaCard = AreaCard() - areaCard.areaNumber = regionNumber.toInt() + areaCard.areaNumber = regionNumber areaCard.projectCode = projectNumber.toInt() nfcWreatHelper.writeDataAsync( areaCard.getZeroBytes(), @@ -523,14 +533,14 @@ object : NFCCallBack { override fun isSusses(flag: Boolean, msg: String?) { // 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢� - runOnUiThread { - if (flag) { - // 鍖哄煙琛ㄥ彿鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵�� - updateCardWrittenStatus(cardAddr) - } else { - ToastUtil.show("鍖哄煙琛ㄥ彿鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}") + runOnUiThread { + if (flag) { + // 鍖哄煙琛ㄥ彿鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵�� + updateCardWrittenStatus(cardAddr) + } else { + ToastUtil.show("鍖哄煙琛ㄥ彿鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}") + } } - } } }) } @@ -546,14 +556,14 @@ object : NFCCallBack { override fun isSusses(flag: Boolean, msg: String?) { // 纭繚Toast鍦ㄤ富绾跨▼涓皟鐢� - runOnUiThread { - if (flag) { - // 璋冭瘯鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵�� - updateCardWrittenStatus(cardAddr) - } else { - ToastUtil.show("璋冭瘯鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}") + runOnUiThread { + if (flag) { + // 璋冭瘯鍗″啓鍗℃垚鍔燂紝鏇存柊鍐欏崱鐘舵�� + updateCardWrittenStatus(cardAddr) + } else { + ToastUtil.show("璋冭瘯鍗″啓鍗″け璐�: ${msg ?: "鏈煡閿欒"}") + } } - } } }) } @@ -594,7 +604,7 @@ /** * 鏇存柊鏈湴鏁版嵁搴撲腑鐨勫啓鍗$姸鎬� - * 灏咰ardRegistrationBean涓殑isCardWritten鐘舵�佽缃负true + * 鏍规嵁鎿嶄綔绫诲瀷鍒ゆ柇鏄洿鏂癕anagerCardBean杩樻槸CardRegistrationBean鐨刬sCardWritten鐘舵�佷负true * 鐒跺悗璺宠浆鍒板啓鍗℃垚鍔熺晫闈紝骞堕�氱煡MainActivity璋冪敤postCardData * * @param cardNumber 鍗″彿 @@ -602,37 +612,91 @@ private fun updateCardWrittenStatus(cardNumber: String) { lifecycleScope.launch { try { - val cardRegistrationDao = BaseDaoSingleton.getInstance(this@NfcWreatActivity) - .cardRegistrationDao() + val baseDaoSingleton = BaseDaoSingleton.getInstance(this@NfcWreatActivity) - // 鏍规嵁璁㈠崟鍙锋煡鎵綜ardRegistrationBean璁板綍 - val cardRegistration = cardRegistrationDao.getByOrderId(orderNumber) + // 鏍规嵁鎿嶄綔绫诲瀷鍒ゆ柇鏄鐞嗗崱杩樻槸鐢ㄦ埛鍗℃搷浣� + val isManagerCardOperation = operationTypeCode in 100..108 - if (cardRegistration != null) { - // 鍒涘缓鏇存柊鍚庣殑CardRegistrationBean瀵硅薄锛屽皢isCardWritten璁剧疆涓簍rue - val updatedCardRegistration = cardRegistration.copy(isCardWritten = true) - // 鏇存柊鏁版嵁搴撹褰� - cardRegistrationDao.update(updatedCardRegistration) + var updateSuccess = false - // 鍦ㄤ富绾跨▼涓叧闂瑼ctivity骞惰烦杞埌鎴愬姛椤甸潰 - runOnUiThread { - setResult(RESULT_OK) - finish() - - // 璺宠浆鍒板啓鍗℃垚鍔熺晫闈� - Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply { - putExtra("cardNumber", cardNumber) - if (::userCard.isInitialized) { - putExtra("userCard", userCard) - } - putExtra("operationTypeCode", operationTypeCode) - startActivity(this) - } - - // 閫氱煡MainActivity璋冪敤postCardData - notifyMainActivityToPostCardData(cardNumber) + if (isManagerCardOperation) { + // 绠$悊鍗″埗浣滄搷浣滅被鍨嬶紝鏌ヨ鍜屾洿鏂癕anagerCardBean + val managerCardDao = baseDaoSingleton.managerCardDao() + val managerCard = managerCardDao.getByOrderId(orderNumber) + + if (managerCard != null) { + val updatedManagerCard = managerCard.copy(isCardWritten = true) + managerCardDao.update(updatedManagerCard) + updateSuccess = true + } + } else { + // 鐢ㄦ埛鍗℃搷浣滅被鍨嬶紝鏌ヨ鍜屾洿鏂癈ardRegistrationBean + val cardRegistrationDao = baseDaoSingleton.cardRegistrationDao() + val cardRegistration = cardRegistrationDao.getByOrderId(orderNumber) + + if (cardRegistration != null) { + val updatedCardRegistration = cardRegistration.copy(isCardWritten = true) + cardRegistrationDao.update(updatedCardRegistration) + updateSuccess = true } } + + // 鏃犺鏄惁鎵惧埌璁板綍锛岄兘璺宠浆鍒版垚鍔熺晫闈� + runOnUiThread { + setResult(RESULT_OK) + finish() + + // 璺宠浆鍒板啓鍗℃垚鍔熺晫闈� + Intent(this@NfcWreatActivity, CardWriteSuccessActivity::class.java).apply { + + + putExtra("cardNumber", cardNumber) + putExtra("cardAddr", cardAddr) + putExtra("operationTypeCode", operationTypeCode) + putExtra("orderNumber", orderNumber) + //寮�鍗$浉鍏冲弬鏁� + putExtra("cardFee", cardFee) + + // 浼犻�掑厖鍊肩浉鍏冲弬鏁� + putExtra("rechargeAmount", rechargeAmount) + putExtra("bonusAmount", bonusAmount) + + // 浼犻�掗攢鍗$浉鍏冲弬鏁� + putExtra("refundAmount", refundAmount) + putExtra("cardBalance", cardBalance) + + // 浼犻�掕繑杩樼浉鍏冲弬鏁� + putExtra("returnAmount", returnAmount) + + // 浼犻�掕ˉ鎵g浉鍏冲弬鏁� + putExtra("deductAmount", deductAmount) + + // 浼犻�掕ˉ鍗$浉鍏冲弬鏁� + putExtra("cardCost", cardCost) + putExtra("reissueAmount", reissueAmount) + + // 浼犻�掔敤鎴峰崱瀵硅薄 + if (::userCard.isInitialized) { + putExtra("userCard", userCard) + } + + // 浼犻�掑崱鐗囦俊鎭璞� + cardInfo?.let { + putExtra("cardInfo", it) + } + + // 浼犻�掑鎴蜂俊鎭璞� + clientInfo?.let { + putExtra("clientInfo", it) + } + + startActivity(this) + } + + // 閫氱煡MainActivity璋冪敤postCardData + notifyMainActivityToPostCardData(cardNumber) + } + } catch (e: Exception) { // 璁板綍寮傚父淇℃伅 CrashReport.postCatchedException(e) -- Gitblit v1.8.0