From b6779014ad6b2627d0a7e4d170d918d001fc03db Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 08 五月 2024 10:44:01 +0800
Subject: [PATCH] 1.修复16进制低位在前高位在后转换成10进制时的bug 2.完成充值相关功能 3.优化导出记录相关信息
---
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java | 68 ++++++++++++++++++++++------------
1 files changed, 44 insertions(+), 24 deletions(-)
diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
index ce0fc24..7ae89d7 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
+++ b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
@@ -20,13 +20,13 @@
public int arerNumber;//鍖哄煙鍙�(搴曚綅鍦ㄥ墠楂樹綅鍦ㄥ悗)
public int deviceNumberl;//璁惧缂栧彿(搴曚綅鍦ㄥ墠楂樹綅鍦ㄥ悗)
- public byte rechargeTimes;//鍏呭�兼鏁�
+ public short rechargeTimes;//鍏呭�兼鏁�
public int totalWater;//鐢ㄦ埛鎬荤敤姘撮噺 搴曚綅鍦ㄥ墠锛岄珮浣嶅湪鍚�2浣嶅皬鏁扮偣 鍚袱涓皬鏁扮偣鐨勬暣鏁�
public int totalElectric;//鎬荤敤鐢甸噺浣� 搴曚綅鍦ㄥ墠锛岄珮浣嶅湪鍚� 1浣嶅皬鏁扮偣 鍚�1浣嶅皬鏁扮偣鐨勬暣鏁�
- public int balance;//鍓╀綑閲戦 搴曚綅鍦ㄥ墠 2浣嶅皬鏁扮偣锛屽崟浣嶅厓
+ public int balance;//鍓╀綑閲戦 搴曚綅鍦ㄥ墠 2浣嶅皬鏁扮偣锛屽崟浣嶅垎
public int surplusWater;//鍓╀綑姘撮噺 搴曚綅鍦ㄥ墠 2浣嶅皬鏁扮偣銆�鍗曚綅绔嬫柟绫�
@@ -48,32 +48,31 @@
byte[] arerNumberByte = new byte[2];
System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length);
- userCard.arerNumber = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(arerNumberByte));
+ userCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte);
byte[] deviceNumberlByte = new byte[2];
System.arraycopy(zero, 3, deviceNumberlByte, 0, deviceNumberlByte.length);
- userCard.deviceNumberl = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(deviceNumberlByte));
+ userCard.deviceNumberl = HexUtil.get16To10LowHightByBytes(deviceNumberlByte);
userCard.rechargeTimes = HexUtil.hexToByte(HexUtil.byteToHex(zero[5]));
byte[] totalWaterByte = new byte[4];
- System.arraycopy(zero, 3, totalWaterByte, 0, totalWaterByte.length);
- userCard.totalWater = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(totalWaterByte));
+ System.arraycopy(zero, 6, totalWaterByte, 0, totalWaterByte.length);
+ userCard.totalWater = HexUtil.get16To10LowHightByBytes(totalWaterByte);
byte[] totalElectricByte = new byte[4];
- System.arraycopy(zero, 3, totalElectricByte, 0, totalElectricByte.length);
- userCard.totalElectric = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(totalElectricByte));
+ System.arraycopy(zero, 10, totalElectricByte, 0, totalElectricByte.length);
+ userCard.totalElectric = HexUtil.get16To10LowHightByBytes(totalElectricByte);
//绗�1鍧楄В鏋�
byte[] one = data.get(1);
-
byte[] balanceByte = new byte[4];
System.arraycopy(one, 0, balanceByte, 0, balanceByte.length);
- userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceByte));
+ userCard.balance =HexUtil.get16To10LowHightByBytes(balanceByte);
byte[] surplusWaterByte = new byte[4];
System.arraycopy(one, 4, surplusWaterByte, 0, surplusWaterByte.length);
- userCard.surplusWater = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(surplusWaterByte));
+ userCard.surplusWater = HexUtil.get16To10LowHightByBytes(surplusWaterByte);
byte[] rechargeDateByte = new byte[3];
System.arraycopy(one, 12, rechargeDateByte, 0, rechargeDateByte.length);
@@ -104,21 +103,35 @@
try {
byte[] data = new byte[16];
data[0] = HexUtil.hexToByte(cardType);
- byte[] arerNumberBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(arerNumber));
+ //鍖哄煙鍙�
+ byte[] arerNumberBytes = new byte[2];
+ 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[] deviceNumberlBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(deviceNumberl));
+ //璁惧缂栧彿
+ byte[] deviceNumberlBytes = new byte[2];
+ byte[] deviceNumberlDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(deviceNumberl));
+ System.arraycopy(deviceNumberlDatas, 0, deviceNumberlBytes, 0, deviceNumberlDatas.length);
if (deviceNumberlBytes != null) {
System.arraycopy(deviceNumberlBytes, 0, data, 3, deviceNumberlBytes.length);
}
+ //鍏呭�兼鏁�
byte rechargeTimesByte = HexUtil.hexToByte(HexUtil.get10to16(rechargeTimes));
data[5] = rechargeTimesByte;
- byte[] totalWaterBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalWater));
+
+ //鐢ㄦ埛鎬荤敤姘撮噺
+ byte[] totalWaterBytes = new byte[4];
+ byte[] totalWaterDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalWater));
+ System.arraycopy(totalWaterDatas, 0, totalWaterBytes, 0, totalWaterDatas.length);
if (totalWaterBytes != null) {
System.arraycopy(totalWaterBytes, 0, data, 6, totalWaterBytes.length);
}
- byte[] totalElectricBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalElectric));
+ //鎬荤敤鐢甸噺浣�
+ byte[] totalElectricBytes = new byte[4];
+ byte[] totalElectricDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(totalElectric));
+ System.arraycopy(totalElectricDatas, 0, totalElectricBytes, 0, totalElectricDatas.length);
if (totalElectricBytes != null) {
System.arraycopy(totalElectricBytes, 0, data, 10, totalElectricBytes.length);
}
@@ -143,16 +156,19 @@
try {
- byte[] balanceBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+ byte[] balanceBytes = new byte[4];
+ byte[] balanceDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+ System.arraycopy(balanceDatas, 0, balanceBytes, 0, balanceDatas.length);
if (balanceBytes != null) {
System.arraycopy(balanceBytes, 0, data, 0, balanceBytes.length);
}
- byte[] surplusWaterBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+ byte[] surplusWaterBytes = new byte[4];
+ byte[] surplusWaterDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+ System.arraycopy(surplusWaterDatas, 0, surplusWaterBytes, 0, surplusWaterDatas.length);
if (surplusWaterBytes != null) {
- System.arraycopy(surplusWaterBytes, 0, data, 0, surplusWaterBytes.length);
+ System.arraycopy(surplusWaterBytes, 0, data, 4, surplusWaterBytes.length);
}
-
if (rechargeDate != null) {
// 鑾峰彇骞淬�佹湀銆佹棩銆佹椂銆佸垎銆佺
@@ -186,14 +202,18 @@
byte[] data = new byte[16];
try {
- byte[] balanceBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+ byte[] balanceBytes = new byte[4];
+ byte[] balanceDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(balance));
+ System.arraycopy(balanceDatas, 0, balanceBytes, 0, balanceDatas.length);
if (balanceBytes != null) {
System.arraycopy(balanceBytes, 0, data, 0, balanceBytes.length);
}
- byte[] surplusWaterBytes = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+ byte[] surplusWaterBytes = new byte[4];
+ byte[] surplusWaterDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(surplusWater));
+ System.arraycopy(surplusWaterDatas, 0, surplusWaterBytes, 0, surplusWaterDatas.length);
if (surplusWaterBytes != null) {
- System.arraycopy(surplusWaterBytes, 0, data, 0, surplusWaterBytes.length);
+ System.arraycopy(surplusWaterBytes, 0, data, 4, surplusWaterBytes.length);
}
if (rechargeDate != null) {
@@ -258,11 +278,11 @@
this.deviceNumberl = deviceNumberl;
}
- public byte getRechargeTimes() {
+ public short getRechargeTimes() {
return rechargeTimes;
}
- public void setRechargeTimes(byte rechargeTimes) {
+ public void setRechargeTimes(short rechargeTimes) {
this.rechargeTimes = rechargeTimes;
}
--
Gitblit v1.8.0