From a44c47bc7f37245612635866adaddf5c98d41747 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期五, 16 八月 2024 11:03:49 +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