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