From 15a3fc02c120ff630a9721a2f48a82f76675213f Mon Sep 17 00:00:00 2001 From: zuojincheng <lf_zuo@163.com> Date: 星期一, 07 四月 2025 09:04:20 +0800 Subject: [PATCH] feat(generallibrary): 添加新卡开卡界面并更新扫描图标 --- qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java | 53 ++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 44 insertions(+), 9 deletions(-) diff --git a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java index 922934a..310e0e5 100644 --- a/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java +++ b/qiheonlinelibrary/src/main/java/com/dayu/qiheonlinelibrary/card/UserCard.java @@ -1,12 +1,13 @@ package com.dayu.qiheonlinelibrary.card; +import com.dayu.baselibrary.bean.BaseUserCardCard; import com.dayu.baselibrary.tools.BcdUtil; import com.dayu.baselibrary.tools.HexUtil; - import com.dayu.qiheonlinelibrary.utils.CardCommon; import com.tencent.bugly.crashreport.CrashReport; import java.io.Serializable; +import java.util.Arrays; import java.util.Calendar; import java.util.List; @@ -16,7 +17,7 @@ * Date: 2023-11-07 9:37 * Description: 榻愭渤椤圭洰鐢ㄦ埛鍗$粨鏋� */ -public class UserCard implements Serializable { +public class UserCard extends BaseUserCardCard implements Serializable { public String cardType = CardCommon.USER_CARD_TYPE_1;//鍐欏崱鏍囧織 A1鍒峰崱寮�娉靛墠 A8鍒峰崱寮�娉靛悗 A2鍙犲姞鍏呭�� public int arerNumber;//鍖哄煙鍙�(搴曚綅鍦ㄥ墠楂樹綅鍦ㄥ悗) @@ -39,13 +40,45 @@ public Float electricPrice;//鐢靛崟浠凤紝淇濈暀涓変綅灏忔暟 + /** + * 鍐欏崱瀹屾垚鍚庢牎楠屾槸鍚﹀啓鍗℃垚鍔� + * + * @param data + * @return + */ + public boolean equlsUserCard(List<byte[]> data) { + // 鍙傛暟楠岃瘉 + if (data == null || data.size() < 3) { + return false; + } + // 瀹氫箟瑕佹瘮杈冪殑瀛楄妭鏁扮粍 + byte[][] expectedBytes = {getZeroBytes(), getOneBytes(), getTwoBytes()}; + // 閫愪釜姣旇緝瀛楄妭鏁扮粍 + for (int i = 0; i < 3; i++) { + if (!Arrays.equals(data.get(i), expectedBytes[i])) { + return false; + } + } + return true; + } + + /** + * 杩斿洖瀹屾暣鐨勭敤鎴风紪鍙� + * + * @return + */ + public String getMyUserCode() { + return userCode + String.format("%04d", userCodeNumber); +// return ""; + } /** * 閫氳繃byte杞琤ean * * @param data */ - public static UserCard getBean(List<byte[]> data) { + @Override + public UserCard getBean(List<byte[]> data) { try { UserCard userCard = new UserCard(); //绗�0鍧楄В鏋� @@ -55,24 +88,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); @@ -375,4 +408,6 @@ public void setElectricPrice(Float electricPrice) { this.electricPrice = electricPrice; } + + } -- Gitblit v1.8.0