From 5b9a5a629f8c31a8c05a918dcefc557b46651dfe Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 11 九月 2024 17:28:18 +0800
Subject: [PATCH] 修复bug不让外部应用访问
---
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java | 47 ++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 40 insertions(+), 7 deletions(-)
diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java
index 922934a..07a4fcd 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java
@@ -2,11 +2,11 @@
import com.dayu.baselibrary.tools.BcdUtil;
import com.dayu.baselibrary.tools.HexUtil;
-
import com.dayu.qiheonlinelibrary.utils.CardCommon;
import com.tencent.bugly.crashreport.CrashReport;
import java.io.Serializable;
+import java.util.Arrays;
import java.util.Calendar;
import java.util.List;
@@ -39,6 +39,37 @@
public Float electricPrice;//鐢靛崟浠凤紝淇濈暀涓変綅灏忔暟
+ /**
+ * 鍐欏崱瀹屾垚鍚庢牎楠屾槸鍚﹀啓鍗℃垚鍔�
+ *
+ * @param data
+ * @return
+ */
+ public boolean equlsUserCard(List<byte[]> data) {
+ // 鍙傛暟楠岃瘉
+ if (data == null || data.size() < 3) {
+ return false;
+ }
+ // 瀹氫箟瑕佹瘮杈冪殑瀛楄妭鏁扮粍
+ byte[][] expectedBytes = {getZeroBytes(), getOneBytes(), getTwoBytes()};
+ // 閫愪釜姣旇緝瀛楄妭鏁扮粍
+ for (int i = 0; i < 3; i++) {
+ if (!Arrays.equals(data.get(i), expectedBytes[i])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ /**
+ * 杩斿洖瀹屾暣鐨勭敤鎴风紪鍙�
+ *
+ * @return
+ */
+ public String getMyUserCode() {
+ return userCode + String.format("%04d", userCodeNumber);
+// return "";
+ }
/**
* 閫氳繃byte杞琤ean
@@ -55,24 +86,24 @@
byte[] arerNumberByte = new byte[4];
System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length);
- userCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte);
+ userCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte);
byte[] userCodeByte = new byte[6];
System.arraycopy(zero, 5, userCodeByte, 0, userCodeByte.length);
- userCard.userCode= BcdUtil.bcdToStr(userCodeByte);
+ userCard.userCode = BcdUtil.bcdToStr(userCodeByte);
byte[] userCodeNumber = new byte[2];
System.arraycopy(zero, 11, userCodeNumber, 0, userCodeNumber.length);
- userCard.userCodeNumber=HexUtil.get16To10LowHightByBytes(userCodeNumber);
+ userCard.userCodeNumber = HexUtil.get16To10LowHightByBytes(userCodeNumber);
byte[] cardWriteState = new byte[1];
System.arraycopy(zero, 13, cardWriteState, 0, cardWriteState.length);
- userCard.cardWriteState=HexUtil.get16To10LowHightByBytes(cardWriteState);
+ userCard.cardWriteState = HexUtil.get16To10LowHightByBytes(cardWriteState);
byte[] cardState = new byte[1];
System.arraycopy(zero, 14, cardState, 0, cardState.length);
- userCard.cardState=HexUtil.get16To10LowHightByBytes(cardState);
+ userCard.cardState = HexUtil.get16To10LowHightByBytes(cardState);
//绗�1鍧楄В鏋�
byte[] one = data.get(1);
byte[] balanceByte = new byte[4];
System.arraycopy(one, 0, balanceByte, 0, balanceByte.length);
- userCard.balance =HexUtil.get16To10LowHightByBytes(balanceByte);
+ userCard.balance = HexUtil.get16To10LowHightByBytes(balanceByte);
byte[] surplusWaterByte = new byte[4];
System.arraycopy(one, 4, surplusWaterByte, 0, surplusWaterByte.length);
@@ -375,4 +406,6 @@
public void setElectricPrice(Float electricPrice) {
this.electricPrice = electricPrice;
}
+
+
}
--
Gitblit v1.8.0