From ebc06a3ae3a42bd6ac1359a59c55d5e6f1a0e2f0 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期二, 26 三月 2024 16:18:08 +0800 Subject: [PATCH] 优化通讯 写卡界面添加二次确认 优化用户写卡逻辑,提高写卡速度。 --- app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java | 54 +++++++++++++++++++++++++----------------------------- 1 files changed, 25 insertions(+), 29 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java index 5b04dc2..5371a40 100644 --- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java +++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java @@ -3,7 +3,7 @@ import android.content.Intent; import android.nfc.NfcAdapter; import android.os.Bundle; -import android.os.Message; +import android.text.TextUtils; import android.view.LayoutInflater; import android.view.View; @@ -30,7 +30,6 @@ import java.util.Arrays; import java.util.Calendar; import java.util.List; -import java.util.Map; /** * Copyright (C), 2023, @@ -39,20 +38,6 @@ * Description: 璇诲崱鐣岄潰 */ public class ReadCardAcitivy extends BaseNfcActivity { - - private static final int USER_CRAD = 1; - private static final int MANAGE_CRAD = 2; - private static final int CLEAN_CARD = 3; - private static final int REGISTERED_CARD = 4; - private static final int CLEAN_ALL_USER = 5; - private static final int DOMAIN_CARD = 6; - private static final int TEST_CARD = 7; - - private static final int CONFIGURATION_CARD = 8; - - private static final int CONFIGURATION_POWER_CARD = 9; - private static final int PASS_WORD_CRAD = 10; - volatile UserCard userCard; ActivityRedCardBinding redCardBinding; @@ -72,8 +57,9 @@ redCardBinding.redName.setText("鐢ㄦ埛濮撳悕锛�" + userName); redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(blance) + "鍏�"); redCardBinding.redStatu.setText("鍗$姸鎬侊細" + statu); + redCardBinding.redAddressCode.setText("鍦板潃鐮侊細" + userCard.getAddressCode()); if (userCard != null) { - redCardBinding.redInitCode.setText("鐢ㄦ埛娉ㄥ唽缂栧彿锛�" + userCard.getInitPeasantCode()); + redCardBinding.redInitCode.setText(userCard.getInitPeasantCode()); Calendar calendar = userCard.getRechargeDate(); if (calendar != null) { int year = calendar.get(Calendar.YEAR); @@ -107,7 +93,7 @@ */ public void readAllData(Intent intent) { - NfcReadHelper.getInstence(intent) + NfcReadHelper.getInstence(intent, this) .getOneSectorData(new NfcReadHelper.NFCCallListback() { @Override public void callBack(List<byte[]> data) { @@ -218,14 +204,18 @@ * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿 */ private void selectBalance(String initPeasantCode) { + String initCode = DeviceNumberUtils.getDeviceNumber(); + if (TextUtils.isEmpty(initCode)) { + TipUtil.show("璁惧鏈敞鍐�"); + return; + } BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean(); requestBean.setAFN("94"); requestBean.setControl("01"); - String initCode = DeviceNumberUtils.getDeviceNumber(); requestBean.setInitCode(initCode); requestBean.setInitPeasantCode(initPeasantCode); requestBean.setXuLie(SocketUtil.getXuLie(this)); - SocketNet.getInstance().sendTestMessage(requestBean.pack(), new SocketCallBack() { + SocketNet.getInstance().sendTestMessage(requestBean.pack(), "94",new SocketCallBack() { @Override public void onSocketResponse(SocketData readData) { if (CRC8.isCRC8(readData.getOriginDataBytes())) { @@ -234,24 +224,30 @@ try { stateText = new StringBuffer(); - //閲戦 - byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); - int balance = SocketUtil.get16to10LowHigh(blanceByte); - //濮撳悕 - byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); - String name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + int balance = 0; + String name = null; + try { + //閲戦 + byte[] blanceByte = Arrays.copyOfRange(readData.getBodyBytes(), 3, 7); + balance = SocketUtil.get16to10LowHigh(blanceByte); + //濮撳悕 + byte[] nameByte = Arrays.copyOfRange(readData.getBodyBytes(), 7, 19); + name = SocketUtil.fromHexString(SocketUtil.bytesToHexClean0(nameByte)); + } catch (Exception e) { + e.printStackTrace(); + } String state = BcdUtil.bcdToStr(readData.getBodyBytes()[2]); //BCD鐮�00鍚敤 01绂佺敤 02闅跺睘淇℃伅涓嶇 03鏃犳鍗′俊鎭� 04鍏跺畠s if ("00".equals(state)) { userCard.setBalance(balance); userCard.setState("00"); - WriteCardUtils.setUser(intent, userCard); + WriteCardUtils.setUser(intent, userCard, ReadCardAcitivy.this); stateText.append("鍚敤"); } else if ("01".equals(state)) { userCard.setBalance(balance); userCard.setState("01"); - WriteCardUtils.setUser(intent, userCard); + WriteCardUtils.setUser(intent, userCard, ReadCardAcitivy.this); stateText.append("绂佺敤"); } else if ("02".equals(state)) { stateText.append("闅跺睘淇℃伅涓嶇"); @@ -275,10 +271,10 @@ @Override public void onSocketError(int code, String msg) { + stopAnim(); TipUtil.show(ReadCardAcitivy.this, msg); } }); - } } -- Gitblit v1.8.0