From 3673328730251736f9614793d9a75630c17b28f6 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期二, 13 八月 2024 09:10:27 +0800
Subject: [PATCH] 修改未关泵补卡逻辑

---
 qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/ManageCard.java |   45 +++++++++++++++++++++++++--------------------
 1 files changed, 25 insertions(+), 20 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..6ce82f5 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,20 +44,26 @@
         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[] 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.setType(zero[9]);
-            byte[] totalElectricByte = new byte[4];
-            System.arraycopy(zero, 10, totalElectricByte, 0, totalElectricByte.length);
-            manageCard.totalElectric = HexUtil.get16To10LowHightByBytes(totalElectricByte);
+            manageCard.setCardWriteState(zero[13]);
             return manageCard;
         }
         return null;
@@ -82,14 +81,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