From 682caa4cef47046184e860d86ebb8467c11e032f Mon Sep 17 00:00:00 2001 From: zuoxiao <470321431@qq.com> Date: 星期四, 16 十一月 2023 15:54:25 +0800 Subject: [PATCH] 生成excl的修改 --- app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java | 51 +++++++++++++++++++++++++++++++++++++++++++-------- 1 files changed, 43 insertions(+), 8 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..2ddbd0d 100644 --- a/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java +++ b/app/src/main/java/com/dayu/recharge/card/ConfigurationPowerCard.java @@ -1,6 +1,10 @@ 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, @@ -11,28 +15,59 @@ * 涓烘柟渚跨幇鍦烘洿鎹㈣澶囨椂閲嶆柊娉ㄥ唽鐨勯棶棰橈紝閰嶇疆璁惧淇℃伅鍗★紝棣栧厛鍒峰崱锛屾妸鍘熻澶囩殑娉ㄥ唽鍙峰拰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 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