From 1ffa3cb19f95855d44fbc9485f4eb3286b12e359 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 22 十一月 2023 12:43:17 +0800
Subject: [PATCH] 修改提示方式 修改充值流程

---
 app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java |   56 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 34 insertions(+), 22 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 cdb7633..6c9fe1d 100644
--- a/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
+++ b/app/src/main/java/com/dayu/recharge/activity/ReadCardAcitivy.java
@@ -5,7 +5,6 @@
 import android.os.Bundle;
 import android.os.Handler;
 import android.os.Message;
-import android.text.TextUtils;
 import android.view.LayoutInflater;
 import android.view.View;
 
@@ -14,8 +13,6 @@
 import com.dayu.recharge.card.DomainCard;
 import com.dayu.recharge.card.UserCard;
 import com.dayu.recharge.databinding.ActivityRedCardBinding;
-import com.dayu.recharge.dbBean.RechargeBean;
-import com.dayu.recharge.dbBean.UserCardBean;
 import com.dayu.recharge.net.SocketCallBack;
 import com.dayu.recharge.net.SocketData;
 import com.dayu.recharge.net.SocketNet;
@@ -23,12 +20,13 @@
 import com.dayu.recharge.tools.BcdUtil;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.tools.NfcReadHelper;
+import com.dayu.recharge.tools.WriteCardUtils;
 import com.dayu.recharge.utils.CRC8;
+import com.dayu.recharge.utils.DeviceNumberUtils;
 import com.dayu.recharge.utils.MornyUtil;
 import com.dayu.recharge.utils.MyCommon;
 import com.dayu.recharge.utils.SocketUtil;
-import com.dayu.recharge.utils.ToastUtil;
-import com.dayu.recharge.utils.WSHelper;
+import com.dayu.recharge.utils.TipUtil;
 
 import java.util.Arrays;
 import java.util.Calendar;
@@ -56,9 +54,11 @@
     private static final int CONFIGURATION_POWER_CARD = 9;
     private static final int PASS_WORD_CRAD = 10;
 
-    private static final int ERROR = -1;
+
     volatile UserCard userCard;
     ActivityRedCardBinding redCardBinding;
+
+    Intent intent;
 
     @Override
     protected void onCreate(Bundle savedInstanceState) {
@@ -95,6 +95,8 @@
 
     @Override
     public void onNewIntent(Intent intent) {
+        super.onNewIntent(intent);
+        this.intent = intent;
         startAnim();
         if (NfcAdapter.ACTION_TAG_DISCOVERED.equals(intent.getAction())) {
             readAllData(intent);
@@ -104,7 +106,8 @@
     /**
      * 璇诲彇鍏ㄩ儴鏁版嵁
      */
-    private void readAllData(Intent intent) {
+
+   public   void readAllData(Intent intent) {
         NfcReadHelper.getInstence(intent)
                 .getAllData(new NfcReadHelper.NFCCallListback() {
                     @Override
@@ -151,16 +154,16 @@
                             }
 
                         } else {
-                            message.what = ERROR;
+                            message.what = MyCommon.ERROR;
                         }
                         handler.sendMessage(message);
                     }
 
 
                     @Override
-                    public void error() {
+                    public void error(int code) {
                         Message message = new Message();
-                        message.what = ERROR;
+                        message.what = code;
                         handler.sendMessage(message);
                     }
                 });
@@ -224,8 +227,12 @@
                     redCardBinding.readCardTypeTV.setText("褰撳墠涓哄瘑鐮佸崱");
                     stopAnim();
                     break;
+                case MyCommon.ERROR_MOVE:
+                    stopAnim();
+                    TipUtil.show("杩炴帴涓柇锛岃閲嶆柊璐村悎鍗$墖");
+                    break;
                 default:
-                    ToastUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
+                    TipUtil.show(ReadCardAcitivy.this, "鍗$墖鏃犳硶璇嗗埆");
                     stopAnim();
                     break;
             }
@@ -263,7 +270,7 @@
         BalanceSelecteRequestBean requestBean = new BalanceSelecteRequestBean();
         requestBean.setAFN("94");
         requestBean.setControl("01");
-        String initCode = WSHelper.getInstance(this).get("initCode", "");
+        String initCode = DeviceNumberUtils.getDeviceNumber();
         requestBean.setInitCode(initCode);
         requestBean.setInitPeasantCode(initPeasantCode);
         requestBean.setXuLie(SocketUtil.getXuLie(this));
@@ -276,11 +283,23 @@
 
                     try {
                         stateText = new StringBuffer();
-//                        stateText.append("鐘�    鎬侊細");
+                        //閲戦
+                        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));
+                        setUserData(name, balance, stateText.toString());
                         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);
                             stateText.append("鍚敤");
                         } else if ("01".equals(state)) {
+                            userCard.setBalance(balance);
+                            userCard.setState("01");
+                            WriteCardUtils.setUser(intent, userCard);
                             stateText.append("绂佺敤");
                         } else if ("02".equals(state)) {
                             stateText.append("闅跺睘淇℃伅涓嶇");
@@ -289,29 +308,22 @@
                         } else if ("04".equals(state)) {
                             stateText.append("鍏跺畠");
                         }
-                        //閲戦
-                        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));
 
 
-                        setUserData(name, balance, stateText.toString());
                         stopAnim();
                     } catch (Exception e) {
                         e.printStackTrace();
                     }
                 } else {
                     //鏍¢獙CRC閿欒
-                    ToastUtil.show(ReadCardAcitivy.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
+                    TipUtil.show(ReadCardAcitivy.this, "寮�鍗℃姤鏂囨牎楠孋RC閿欒");
                 }
                 stopAnim();
             }
 
             @Override
             public void onSocketError(int code, String msg) {
-                ToastUtil.show(ReadCardAcitivy.this, msg);
+                TipUtil.show(ReadCardAcitivy.this, msg);
             }
         });
 

--
Gitblit v1.8.0