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/ManageCard.java | 61 +++++++++++++++++-------------
1 files changed, 35 insertions(+), 26 deletions(-)
diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java
index c560862..04ba3e4 100644
--- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java
+++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java
@@ -16,10 +16,8 @@
*/
public class ManageCard extends BaseCard implements Serializable {
public String cardType = CardCommon.MANAGE_CRAD;//鍗$被鍨�
+ public int arerNumber;//鍖哄煙鍙�(搴曚綅鍦ㄥ墠楂樹綅鍦ㄥ悗)
- public String getCardData() {
- return cardData;
- }
/**
* M1鍗$殑0鎵囧尯0鍧楅�氬父鐢ㄤ簬瀛樺偍涓�浜涘熀鏈殑鍗$墖淇℃伅
@@ -27,20 +25,15 @@
*/
public String userCard; //鐢ㄦ埛鍗″彿
- public byte type;//褰撳墠鐘舵�� 00锛氬厖鍊肩鐞嗘満鍐� 01:鎺у埗鍣ㄥ弽鍐欑殑 褰�01鏃跺皢1鎵囧尯0鍧楀師绠$悊鍗′俊鎭敼鎴愮敤鎴峰崱鍐呭
+ public byte cardWriteState;//褰撳墠鐘舵�� 00锛氬厖鍊肩鐞嗘満鍐� 01:鎺у埗鍣ㄥ弽鍐欑殑 褰�01鏃跺皢1鎵囧尯0鍧楀師绠$悊鍗′俊鎭敼鎴愮敤鎴峰崱鍐呭
- public int totalElectric;//鎬荤敤鐢甸噺浣� 搴曚綅鍦ㄥ墠锛岄珮浣嶅湪鍚� 1浣嶅皬鏁扮偣 鍚�1浣嶅皬鏁扮偣鐨勬暣鏁�
- public int getTotalElectric() {
- return totalElectric;
+ public int getArerNumber() {
+ return arerNumber;
}
- public byte getType() {
- return type;
- }
-
- public void setType(byte type) {
- this.type = type;
+ public void setArerNumber(int arerNumber) {
+ this.arerNumber = arerNumber;
}
public String getUserCard() {
@@ -51,21 +44,31 @@
this.userCard = userCard;
}
+ public byte getCardWriteState() {
+ return cardWriteState;
+ }
+
+ public void setCardWriteState(byte cardWriteState) {
+ this.cardWriteState = cardWriteState;
+ }
public static ManageCard getBean(List<byte[]> data) {
if (data != null) {
- ManageCard manageCard = new ManageCard();
-
- byte[] zero = data.get(0);
- byte[] passWordByte = new byte[4];
- System.arraycopy(zero, 5, passWordByte, 0, passWordByte.length);
- manageCard.setUserCard(HexUtil.bytesToHex(passWordByte));
- manageCard.setType(zero[9]);
- byte[] totalElectricByte = new byte[4];
- System.arraycopy(zero, 10, totalElectricByte, 0, totalElectricByte.length);
- manageCard.totalElectric = HexUtil.get16To10LowHightByBytes(totalElectricByte);
- return manageCard;
+ try {
+ ManageCard manageCard = new ManageCard();
+ byte[] zero = data.get(0);
+ byte[] arerNumberByte = new byte[4];
+ System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length);
+ manageCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte);
+ byte[] passWordByte = new byte[4];
+ System.arraycopy(zero, 5, passWordByte, 0, passWordByte.length);
+ manageCard.setUserCard(HexUtil.bytesToHex(passWordByte));
+ manageCard.setCardWriteState(zero[13]);
+ return manageCard;
+ } catch (Exception e) {
+ e.printStackTrace();
+ }
}
return null;
}
@@ -82,14 +85,20 @@
byte[] data = new byte[16];
data[0] = HexUtil.hexToByte(cardType);
- byte[] cardDataByte = HexUtil.hexToByteArray(cardData);
- System.arraycopy(cardDataByte, 0, data, 1, cardDataByte.length);
+ //鍖哄煙鍙�
+ byte[] arerNumberBytes = new byte[4];
+ byte[] arerNumberDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(arerNumber));
+ System.arraycopy(arerNumberDatas, 0, arerNumberBytes, 0, arerNumberDatas.length);
+ if (arerNumberBytes != null) {
+ System.arraycopy(arerNumberBytes, 0, data, 1, arerNumberBytes.length);
+ }
byte[] userCardByts = HexUtil.hexToByteArray(userCard);
if (userCard != null) {
System.arraycopy(userCardByts, 0, data, 5, userCardByts.length);
}
+ data[13] = cardWriteState;
data[15] = getByteSum(data);
return data;
}
--
Gitblit v1.8.0