From 61a4ae8b08652f24916218037beeef594bcde83b Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 15 十一月 2023 15:36:32 +0800
Subject: [PATCH] 读取卡片相关 读取卡片byte转bean相关

---
 app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java |  142 +++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 136 insertions(+), 6 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
index e765ae1..0fb7a61 100644
--- a/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
+++ b/app/src/main/java/com/dayu/recharge/activity/NFCWreatActivity.java
@@ -11,8 +11,12 @@
 
 import com.dayu.recharge.card.CleanCard;
 import com.dayu.recharge.card.CleanUserCard;
+import com.dayu.recharge.card.ConfigurationPowerCard;
+import com.dayu.recharge.card.ConfigureDeviceRegistrationCrad;
+import com.dayu.recharge.card.DomainCard;
 import com.dayu.recharge.card.ManageCard;
 import com.dayu.recharge.card.RegisteredCard;
+import com.dayu.recharge.card.TestCard;
 import com.dayu.recharge.card.UserCard;
 import com.dayu.recharge.databinding.ActivityWriteTextBinding;
 import com.dayu.recharge.dbBean.AdminDataBean;
@@ -65,12 +69,18 @@
     boolean registeredFlag = false;
     boolean administrativeCardFlag = false;
     boolean cleanUserCardFlag = false;
-    volatile UserCard userCard;
 
-    ManageCard manageCard;
+    boolean domainCrdFlag = false;
+
+    boolean testCardFlag = false;
+
+    boolean configDeviceRegiestFlag = false;
+
+    boolean configPowerFlag = false;
+
     UserCardBean userCardBean;
 
-    CleanCard cleanCard;
+
     String morny;
     AdminDataBean adminData;
     RechargeBean rechargeBean;
@@ -79,7 +89,15 @@
 
     RegisteredCard registeredCard;
     CleanUserCard cleanUserCard;
+    volatile UserCard userCard;
+    ManageCard manageCard;
+    DomainCard domainCard;
 
+    CleanCard cleanCard;
+    ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad;
+    TestCard testCard;
+
+    ConfigurationPowerCard configurationPowerCard;
     //鎵撳嵃
     MyApplication baseApp;
 
@@ -128,6 +146,19 @@
             if (this.getIntent().hasExtra("cleanUserCard")) {
                 cleanUserCard = (CleanUserCard) this.getIntent().getSerializableExtra("cleanUserCard");
             }
+            if (this.getIntent().hasExtra("domainCard")) {
+                domainCard = (DomainCard) this.getIntent().getSerializableExtra("domainCard");
+            }
+            if (this.getIntent().hasExtra("testCard")) {
+                testCard = (TestCard) this.getIntent().getSerializableExtra("testCard");
+            }
+            if (this.getIntent().hasExtra("configureDeviceRegistrationCrad")) {
+                configureDeviceRegistrationCrad = (ConfigureDeviceRegistrationCrad) this.getIntent().getSerializableExtra("configureDeviceRegistrationCrad");
+            }
+            if (this.getIntent().hasExtra("configurationPowerCard")) {
+                configurationPowerCard = (ConfigurationPowerCard) this.getIntent().getSerializableExtra("configurationPowerCard");
+            }
+
             morny = this.getIntent().getStringExtra("morny");
             try {
                 adminData = baseDao.adminDao().findFirst();
@@ -182,7 +213,11 @@
     private void saveData() {
         try {
             startAnim();
-            if (userCard != null || cleanCard != null || manageCard != null || registeredCard != null || cleanUserCard != null) {
+            if (userCard != null || cleanCard != null || manageCard != null
+                    || registeredCard != null || cleanUserCard != null
+                    || domainCard != null || testCard != null
+                    || configureDeviceRegistrationCrad != null
+                    || configurationPowerCard != null) {
                 if (userCard != null) {
                     setUser(intent, userCard);
                 }
@@ -198,8 +233,19 @@
                 if (cleanUserCard != null) {
                     setCleanUserCard(intent, cleanUserCard);
                 }
-
-                if ((userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag)) {
+                if (domainCard != null) {
+                    setDomainCard(intent, domainCard);
+                }
+                if (testCard != null) {
+                    setTestCard(intent, testCard);
+                }
+                if (configureDeviceRegistrationCrad != null) {
+                    setConfigDeviceRegiest(intent, configureDeviceRegistrationCrad);
+                }
+                if (configurationPowerCard != null) {
+                    setConfigurationPower(intent, configurationPowerCard);
+                }
+                if ((configPowerFlag || configDeviceRegiestFlag || testCardFlag || domainCrdFlag || userFlag || cleanFlag || manageCardFlag || registeredFlag || administrativeCardFlag || cleanUserCardFlag)) {
                     try {
                         if (userFlag && userCardBean != null) {
                             baseDao.userCardDao().insert(userCardBean);
@@ -456,12 +502,18 @@
                 userFlag = flag;
             }
         });
+        if (!userFlag) {
+            return;
+        }
         NFCWriteHelper.getInstence(intent).writeData(userCard.getOneBytes(), 1, 1, new NFCWriteHelper.NFCCallback() {
             @Override
             public void isSusses(boolean flag) {
                 userFlag = flag;
             }
         });
+        if (!userFlag) {
+            return;
+        }
         NFCWriteHelper.getInstence(intent).writeData(userCard.getTwoBytes(), 1, 2, new NFCWriteHelper.NFCCallback() {
             @Override
             public void isSusses(boolean flag) {
@@ -485,6 +537,12 @@
         });
     }
 
+    /**
+     * 鍒犻櫎鍏ㄩ儴鐢ㄦ埛鍗�
+     *
+     * @param intent
+     * @param cleanUserCard
+     */
     private void setCleanUserCard(Intent intent, CleanUserCard cleanUserCard) {
         NFCWriteHelper.getInstence(intent).writeData(cleanUserCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
             @Override
@@ -495,6 +553,78 @@
     }
 
     /**
+     * 璁剧疆鍩熷悕鍗�
+     *
+     * @param intent
+     * @param domainCard
+     */
+    private void setDomainCard(Intent intent, DomainCard domainCard) {
+        try {
+            NFCWriteHelper.getInstence(intent).writeData(domainCard.getZeroByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+                @Override
+                public void isSusses(boolean flag) {
+                    domainCrdFlag = flag;
+                }
+            });
+            if (!domainCrdFlag) {
+                return;
+            }
+            NFCWriteHelper.getInstence(intent).writeData(domainCard.getOneByte(), 1, 1, new NFCWriteHelper.NFCCallback() {
+                @Override
+                public void isSusses(boolean flag) {
+                    domainCrdFlag = flag;
+                }
+            });
+            if (!domainCrdFlag) {
+                return;
+            }
+            NFCWriteHelper.getInstence(intent).writeData(domainCard.getTwoByte(), 1, 2, new NFCWriteHelper.NFCCallback() {
+                @Override
+                public void isSusses(boolean flag) {
+                    domainCrdFlag = flag;
+                }
+            });
+        } catch (Exception e) {
+            domainCrdFlag = false;
+            throw new RuntimeException(e);
+        }
+    }
+
+    private void setTestCard(Intent intent, TestCard testCard) {
+        NFCWriteHelper.getInstence(intent).writeData(testCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+            @Override
+            public void isSusses(boolean flag) {
+                testCardFlag = flag;
+            }
+        });
+    }
+
+
+    private void setConfigDeviceRegiest(Intent intent, ConfigureDeviceRegistrationCrad configureDeviceRegistrationCrad) {
+        NFCWriteHelper.getInstence(intent).writeData(configureDeviceRegistrationCrad.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+            @Override
+            public void isSusses(boolean flag) {
+                configDeviceRegiestFlag = flag;
+            }
+        });
+    }
+
+    private void setConfigurationPower(Intent intent, ConfigurationPowerCard configurationPowerCard) {
+        try {
+            NFCWriteHelper.getInstence(intent).writeData(configurationPowerCard.toByte(), 1, 0, new NFCWriteHelper.NFCCallback() {
+                @Override
+                public void isSusses(boolean flag) {
+                    configPowerFlag = flag;
+                }
+            });
+        } catch (Exception e) {
+            configPowerFlag = false;
+            throw new RuntimeException(e);
+        }
+    }
+
+
+    /**
      * @param initPeasantCode 鍐滄埛娉ㄥ唽缂栧彿
      */
     private void selectBalance(String initPeasantCode) {

--
Gitblit v1.8.0