From a8751388c9a86ae95714a15279994d8aa426a26d Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 13 六月 2025 14:59:02 +0800
Subject: [PATCH] feat(generallibrary): 优化充值功能并添加水价获取- 在 activity_recharge_detail.xml 中移除了不必要的 bold 样式- 在 EditText 中添加了金额输入限制(数字和小数点)- 在 BaseApplication 中添加了水价信息存储 - 在 MainActivity 中实现了延时获取水价的功能- 优化了 RechargeDetailActivity 中的水价检查和使用逻辑 - 在 README.md 中添加了金额格式化和水价获取的最佳实践指南
---
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