左晓为主开发手持机充值管理机
zuoxiao
2024-08-21 6a5879320dfac43155d024814a0a4d794a612696
qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java
@@ -41,6 +41,16 @@
    /**
     * 返回完整的用户编号
     *
     * @return
     */
    public String getMyUserCode() {
        return userCode + String.format("%04d", userCodeNumber);
//        return "";
    }
    /**
     * 通过byte转bean
     *
     * @param data
@@ -55,24 +65,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);