From dc1ab1a73f979940ed7d631418f44ca309d077c0 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期四, 22 二月 2024 16:24:56 +0800
Subject: [PATCH] 读卡时检验设备是否注册

---
 app/src/main/java/com/dayu/recharge/card/DomainCard.java |   51 ++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 50 insertions(+), 1 deletions(-)

diff --git a/app/src/main/java/com/dayu/recharge/card/DomainCard.java b/app/src/main/java/com/dayu/recharge/card/DomainCard.java
index bef709d..04e6ca7 100644
--- a/app/src/main/java/com/dayu/recharge/card/DomainCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/DomainCard.java
@@ -3,10 +3,14 @@
 import com.dayu.recharge.tools.BcdUtil;
 import com.dayu.recharge.tools.HexUtil;
 import com.dayu.recharge.utils.MornyUtil;
+import com.dayu.recharge.utils.MyCommon;
+import com.tencent.bugly.crashreport.CrashReport;
 
 import java.io.Serializable;
 import java.net.IDN;
+import java.nio.charset.StandardCharsets;
 import java.util.Calendar;
+import java.util.List;
 
 /**
  * Copyright (C), 2023,
@@ -17,7 +21,7 @@
 public class DomainCard implements Serializable {
 
 
-    public String cardType = "C1";//鍗$被鍨�
+    public String cardType = MyCommon.DOMAIN_CARD_TYPE;//鍗$被鍨�
     public String domainNumber;//鍩熷悕搴忓彿 (BCD鏍煎紡)
     public int domainLength;//鍩熷悕闀垮害
 
@@ -33,6 +37,13 @@
         this.domainName = domainName;
     }
 
+    public String getDomainNumber() {
+        return domainNumber;
+    }
+
+    public void setDomainNumber(String domainNumber) {
+        this.domainNumber = domainNumber;
+    }
 
     public int getPort() {
         return port;
@@ -60,6 +71,44 @@
     }
 
 
+    public static DomainCard toBean(List<byte[]> data) {
+        try {
+            DomainCard domainCard = new DomainCard();
+            String domainNumber = BcdUtil.bcdToStr(data.get(0)[1]);
+            domainCard.domainNumber = domainNumber;
+            int domainLength = HexUtil.get16to10(HexUtil.byteToHex(data.get(0)[2]));
+            byte[] domainData = new byte[domainLength + 7];
+            int index = 0;
+            for (int i = 0; i < 3; i++) {
+                int jIndex;
+                if (i == 0) {
+                    jIndex = 3;
+                } else {
+                    jIndex = 0;
+                }
+                for (int j = jIndex; j < 15; j++) {
+                    if (index < domainData.length) {
+                        domainData[index] = data.get(i)[j];
+                        index++;
+                    }
+
+                }
+            }
+            String domainStr = new String(domainData, StandardCharsets.US_ASCII);
+            String domainName = domainStr.split(",")[0];
+            String port = domainStr.split(",")[1].replace("#", "");
+            domainCard.setDomainName(domainName);
+            domainCard.setPort(Integer.valueOf(port));
+
+            return domainCard;
+        } catch (Exception e) {
+            e.printStackTrace();
+            CrashReport.postCatchedException(e);
+        }
+        return null;
+    }
+
+
     /**
      * 鐢ㄦ埛鍗�0鍧�
      */

--
Gitblit v1.8.0