From d09bdcac6830afaad6e277fb558c16d2aa6187a7 Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 14 十二月 2023 11:13:21 +0800 Subject: [PATCH] 卡标识码列表功能相关,可分辨设置不同类型卡标识码 --- app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java | 57 ++++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 48 insertions(+), 9 deletions(-) diff --git a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java index f378897..c727b4c 100644 --- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java +++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java @@ -1,38 +1,77 @@ package com.dayu.recharge.card; import com.dayu.recharge.tools.HexUtil; +import com.dayu.recharge.utils.MyCommon; +import com.tencent.bugly.crashreport.CrashReport; + +import java.io.Serializable; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-08 13:26 - * Description: 閰嶇疆璁惧娉ㄥ唽淇℃伅鍗★細 + * Description: 閰嶇疆姘存车鍔熺巼鍗★細 * <p> * 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰ID鍙疯鍒板崱鍐咃紝 * 鍚屾椂鍗$姸鎬佸垯00淇敼涓篎F锛屽啀鏂拌澶囦笂鍒锋鍗℃椂锛屾敞鍐屽彿鍜孖D鍙疯嚜鍔ㄥ啓鍒版帶鍒跺櫒鍐咃紝鍙互鐩存帴鍒峰崱浣跨敤 */ -public class ConfigurationPowerCard { +public class ConfigurationPowerCard implements Serializable { - public String cardType = "BD";//鍗$被鍨� + public String cardType = MyCommon.CONFIGURATION_POWER_CARD_TYPE;//鍗$被鍨� public String cardData = "A0B1C289";//鏍囪瘑鐮� + + public String getCardData() { + return cardData; + } public String power;//鍔熺巼 + public String getPower() { + return power; + } + + public void setPower(String power) { + this.power = power; + } + + + public static ConfigurationPowerCard toBean(byte[] data) { + try { + ConfigurationPowerCard powerCard = new ConfigurationPowerCard(); + int intPower = HexUtil.get16to10(HexUtil.byteToHex(data[5])); + powerCard.setPower(String.valueOf(intPower)); + return powerCard; + } catch (Exception e) { + e.printStackTrace(); + CrashReport.postCatchedException(e); + return null; + } + } + + public byte[] toByte() { + Zero zero = new Zero(); + return zero.toByte(); + } + public class Zero extends BaseCard { - public void toByte() { + public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); byte[] cardDatas = HexUtil.hexToByteArray(cardData); for (int i = 0; i < 4; i++) { data[i + 1] = cardDatas[i]; } - float floatPower = Float.parseFloat(power); - int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟 - String hexPower = HexUtil.get10to16(intPower); - byte bytePower = HexUtil.hexToByte(hexPower); - data[5] = bytePower; + if (power != null) { + float floatPower = Float.parseFloat(power); + int intPower = (int) Math.ceil(floatPower); // 灏嗘诞鐐规暟鍚戜笂鍙栨暣骞惰浆鎹负鏁存暟 + String hexPower = HexUtil.get10to16(intPower); + byte bytePower = HexUtil.hexToByte(hexPower); + data[5] = bytePower; + } + data[15] = getByteSum(data); + return data; } } -- Gitblit v1.8.0