左晓为主开发手持机充值管理机
zuoxiao
2024-06-13 d1573513f0eada6a915c2163ce6c84451c8c1070
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/ElectricPriceCard.java
@@ -1,8 +1,8 @@
package com.dayu.qihealonelibrary.card;
import com.dayu.baselibrary.tools.HexUtil;
import com.dayu.qihealonelibrary.dao.AppDatabase;
import com.dayu.qihealonelibrary.utils.MyCommon;
import com.dayu.qihealonelibrary.dao.QHAloneAppDatabase;
import com.dayu.qihealonelibrary.utils.CardCommon;
import java.io.Serializable;
import java.util.List;
@@ -14,7 +14,7 @@
 * 备注:电量单价卡
 */
public class ElectricPriceCard extends BaseCard implements Serializable {
    public String cardType = MyCommon.ELECTRIC_PRICE;
    public String cardType = CardCommon.ELECTRIC_PRICE;
    public Float electricPrice;// 电量单价(低)单位是元,3位小数点
    public Float getElectricPrice() {
@@ -25,18 +25,17 @@
        this.electricPrice = electricPrice;
    }
    public byte[] toByte(AppDatabase appDatabase) {
        setCardData(appDatabase, cardType);
    public byte[] toByte(QHAloneAppDatabase QHAloneAppDatabase) {
        setCardData(QHAloneAppDatabase, cardType);
        Zero zero = new Zero();
        return zero.toByte();
    }
    public static ElectricPriceCard getBean(List<byte[]> data){
        ElectricPriceCard regionCard=new ElectricPriceCard();
        byte[] zero=data.get(0);
        regionCard.cardType= HexUtil.byteToHex(zero[0]);
    public static ElectricPriceCard getBean(List<byte[]> 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);
@@ -45,7 +44,7 @@
        byte[] electricPriceByte = new byte[4];
        System.arraycopy(zero, 5, electricPriceByte, 0, electricPriceByte.length);
        regionCard.electricPrice = HexUtil.bytesToFloat(electricPriceByte);
        regionCard.electricPrice = HexUtil.hexToFloatLowHigh(electricPriceByte);
        return regionCard;
@@ -55,17 +54,21 @@
    /**
     * 第1扇区0块 存储的数据
     */
    public class Zero  {
    public class Zero {
        public byte[] toByte() {
            byte[] data = new byte[16];
            data[0] = HexUtil.hexToByte(cardType);
            byte[] regionBytes = HexUtil.hexToByteArray(cardData);
            byte[] regionBytes = new byte[4];
            byte[] regionDatas = HexUtil.hexToByteArray(cardData);
            System.arraycopy(regionDatas, 0, regionBytes, 0, regionDatas.length);
            if (regionBytes != null) {
                System.arraycopy(regionBytes, 0, data, 1, regionBytes.length);
            }
            byte[] controllerCodelBytes = HexUtil.folatToByte(electricPrice);
            byte[] controllerCodelBytes = new byte[4];
            byte[] controllerCodelDatas = HexUtil.hexToByteArray(HexUtil.floatToHexLowHigh(electricPrice));
            System.arraycopy(controllerCodelDatas, 0, controllerCodelBytes, 0, controllerCodelDatas.length);
            if (controllerCodelBytes != null) {
                System.arraycopy(controllerCodelBytes, 0, data, 5, controllerCodelBytes.length);
            }