From b5b0bd260898f816f171aec59f20098fe67eaffe Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 27 三月 2024 15:46:46 +0800
Subject: [PATCH] IP设置界面调整
---
app/src/main/java/com/dayu/recharge/card/UserCard.java | 116 ++++++++++++++++++++++++++++++----------------------------
1 files changed, 60 insertions(+), 56 deletions(-)
diff --git a/app/src/main/java/com/dayu/recharge/card/UserCard.java b/app/src/main/java/com/dayu/recharge/card/UserCard.java
index 6643b8c..9a30ac5 100644
--- a/app/src/main/java/com/dayu/recharge/card/UserCard.java
+++ b/app/src/main/java/com/dayu/recharge/card/UserCard.java
@@ -56,68 +56,72 @@
*/
public static UserCard getBean(List<byte[]> data) {
try {
- UserCard userCard = new UserCard();
+
if (data != null) {
byte[] zero = data.get(0);
byte[] one = data.get(1);
byte[] two = data.get(2);
- userCard.cardType = HexUtil.byteToHex(zero[0]);
- userCard.rechargeTimes = HexUtil.get16to10(HexUtil.byteToHex(zero[1]));
- byte[] swipeNumberBytes = new byte[2];
- System.arraycopy(zero,2,swipeNumberBytes,0,swipeNumberBytes.length);
- String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes);
- userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex);
- byte[] electricityPriceBytes = new byte[4];
- System.arraycopy(zero,4,electricityPriceBytes,0,electricityPriceBytes.length);
+ if (zero != null && zero.length == 16) {
+ UserCard userCard = new UserCard();
+ userCard.cardType = HexUtil.byteToHex(zero[0]);
+ userCard.rechargeTimes = HexUtil.get16to10(HexUtil.byteToHex(zero[1]));
+ byte[] swipeNumberBytes = new byte[2];
+ System.arraycopy(zero, 2, swipeNumberBytes, 0, swipeNumberBytes.length);
+ String swipeNumberHex = HexUtil.bytesToHex(swipeNumberBytes);
+ userCard.swipeNumber = (short) HexUtil.get16to10(swipeNumberHex);
+ byte[] electricityPriceBytes = new byte[4];
+ System.arraycopy(zero, 4, electricityPriceBytes, 0, electricityPriceBytes.length);
- userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
- userCard.state = BcdUtil.bcdToStr(zero[8]);
- byte[] balanceBytes = new byte[4];
- System.arraycopy(zero,9,balanceBytes,0,balanceBytes.length);
+ userCard.electricityPrice = HexUtil.hexToFloat(HexUtil.bytesToHex(electricityPriceBytes));
+ userCard.state = BcdUtil.bcdToStr(zero[8]);
+ byte[] balanceBytes = new byte[4];
+ System.arraycopy(zero, 9, balanceBytes, 0, balanceBytes.length);
- userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
+ userCard.balance = HexUtil.get16to10LowHigh(HexUtil.bytesToHex(balanceBytes));
+ byte[] addressCodeBytes = new byte[6];
+ System.arraycopy(zero, 13, addressCodeBytes, 0, 2);
+ System.arraycopy(two, 11, addressCodeBytes, 2, 4);
+ userCard.addressCode = BcdUtil.bcdToStr(addressCodeBytes);
- byte[] addressCodeBytes = new byte[6];
- System.arraycopy(zero,13,addressCodeBytes,0,2);
- System.arraycopy(two,11,addressCodeBytes,0,4);
- userCard.addressCode = BcdUtil.bcdToStr(addressCodeBytes);
-
- int year = 0;
- int month = 0;
- int day = 0;
- int hour = 0;
- int minute = 0;
- int second = 0;
- for (int i = 0; i < 6; i++) {
- byte byteData = one[i + 4];
- switch (i) {
- case 0:
- year = getBcdToInt(byteData);
- break;
- case 1:
- month = getBcdToInt(byteData);
- break;
- case 2:
- day = getBcdToInt(byteData);
- break;
- case 3:
- hour = getBcdToInt(byteData);
- break;
- case 4:
- minute = getBcdToInt(byteData);
- break;
- case 5:
- second = getBcdToInt(byteData);
- break;
+ int year = 0;
+ int month = 0;
+ int day = 0;
+ int hour = 0;
+ int minute = 0;
+ int second = 0;
+ for (int i = 0; i < 6; i++) {
+ byte byteData = one[i + 4];
+ switch (i) {
+ case 0:
+ year = getBcdToInt(byteData);
+ break;
+ case 1:
+ month = getBcdToInt(byteData);
+ break;
+ case 2:
+ day = getBcdToInt(byteData);
+ break;
+ case 3:
+ hour = getBcdToInt(byteData);
+ break;
+ case 4:
+ minute = getBcdToInt(byteData);
+ break;
+ case 5:
+ second = getBcdToInt(byteData);
+ break;
+ }
}
+ Calendar calendar = Calendar.getInstance();
+ calendar.set(2000 + year, month, day, hour, minute, second);
+ byte[] initPeasantCodeBytes = new byte[16];
+ System.arraycopy(one, 10, initPeasantCodeBytes, 0, 5);
+ System.arraycopy(two, 0, initPeasantCodeBytes, 5, 11);
+ userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes);
+ return userCard;
}
- Calendar calendar = Calendar.getInstance();
- calendar.set(2000 + year, month, day, hour, minute, second);
- byte[] initPeasantCodeBytes = new byte[16];
- System.arraycopy(one,10,initPeasantCodeBytes,0,5);
- System.arraycopy(two,0,initPeasantCodeBytes,5,11);
- userCard.initPeasantCode = HexUtil.bytesToHex(initPeasantCodeBytes);
- return userCard;
+
+ return null;
}
} catch (Exception e) {
e.printStackTrace();
@@ -135,7 +139,7 @@
/**
* 鐢ㄦ埛鍗�0鍧�
*/
- public class Zero {
+ public class Zero {
public byte[] toByte() {
byte[] data = new byte[16];
data[0] = HexUtil.hexToByte(cardType);
@@ -170,7 +174,7 @@
/**
* 鐢ㄦ埛鍗�1鍧�
*/
- public class One {
+ public class One {
public byte[] toBytes() {
byte[] data = new byte[16];
@@ -214,7 +218,7 @@
/**
* 鐢ㄦ埛鍗�2鍧�
*/
- public class Two {
+ public class Two {
public byte[] toBytes() {
byte[] data = new byte[16];
byte[] initPeasantCodes = HexUtil.hexToByteArray(initPeasantCode);
--
Gitblit v1.8.0