From 0fe9cc9142484ea3818340ca709886c126faf986 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 15 三月 2024 18:53:28 +0800
Subject: [PATCH] 修复列表显示异常的bug 修复充值后用户卡结构翻译异常的bug

---
 app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java |   36 ++++++++++++++++++++++--------------
 1 files changed, 22 insertions(+), 14 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..b537a4d 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,
@@ -73,7 +72,7 @@
         redCardBinding.redRemainderBlance.setText("鍓╀綑閲戦锛�" + MornyUtil.changeF2Y(blance) + "鍏�");
         redCardBinding.redStatu.setText("鍗$姸鎬侊細" + statu);
         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 +106,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,10 +217,14 @@
      * @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));
@@ -234,24 +237,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("闅跺睘淇℃伅涓嶇");
@@ -278,7 +287,6 @@
                 TipUtil.show(ReadCardAcitivy.this, msg);
             }
         });
-
     }
 
 }

--
Gitblit v1.8.0