package com.dayu.qihealonelibrary.card; import com.dayu.baselibrary.tools.HexUtil; import com.dayu.qihealonelibrary.dao.AppDatabase; import com.dayu.qihealonelibrary.utils.MyCommon; import java.io.Serializable; import java.util.List; /** * author: zuo * Date: 2024-02-29 * Time: 16:59 * 备注:电量单价卡 */ public class ElectricPriceCard extends BaseCard implements Serializable { public String cardType = MyCommon.ELECTRIC_PRICE; public Float electricPrice;// 电量单价(低)单位是元,3位小数点 public Float getElectricPrice() { return electricPrice; } public void setElectricPrice(Float electricPrice) { this.electricPrice = electricPrice; } public byte[] toByte(AppDatabase appDatabase) { setCardData(appDatabase, cardType); Zero zero = new Zero(); return zero.toByte(); } public static ElectricPriceCard getBean(List data){ ElectricPriceCard regionCard=new ElectricPriceCard(); byte[] zero=data.get(0); regionCard.cardType= HexUtil.byteToHex(zero[0]); byte[] cardDataByte = new byte[4]; System.arraycopy(zero, 1, cardDataByte, 0, cardDataByte.length); regionCard.cardData = HexUtil.bytesToHex(cardDataByte); byte[] electricPriceByte = new byte[4]; System.arraycopy(zero, 5, electricPriceByte, 0, electricPriceByte.length); regionCard.electricPrice = HexUtil.bytesToFloat(electricPriceByte); return regionCard; } /** * 第1扇区0块 存储的数据 */ public class Zero { public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); byte[] regionBytes = HexUtil.hexToByteArray(cardData); if (regionBytes != null) { System.arraycopy(regionBytes, 0, data, 1, regionBytes.length); } byte[] controllerCodelBytes = HexUtil.folatToByte(electricPrice); if (controllerCodelBytes != null) { System.arraycopy(controllerCodelBytes, 0, data, 5, controllerCodelBytes.length); } data[15] = getByteSum(data); return data; } } }