package com.dayu.qiheonlinelibrary.card; import com.dayu.baselibrary.tools.HexUtil; import com.dayu.qiheonlinelibrary.utils.CardCommon; import java.io.Serializable; import java.util.List; /** * author: zuo * Date: 2024-02-29 * Time: 16:29 * 备注:区域表号卡 */ public class RegionCard extends BaseCard implements Serializable { public String cardType = CardCommon.REGION;//卡命令 public int arerNumber;//区域号(底位在前高位在后) public int getArerNumber() { return arerNumber; } public void setArerNumber(int arerNumber) { this.arerNumber = arerNumber; } public byte[] toByte() { Zero zero = new Zero(); return zero.toByte(); } public static RegionCard getBean(List data) { RegionCard regionCard = new RegionCard(); byte[] zero = data.get(0); regionCard.cardType = HexUtil.byteToHex(zero[0]); byte[] arerNumberByte = new byte[4]; System.arraycopy(zero, 1, arerNumberByte, 0, arerNumberByte.length); regionCard.arerNumber = HexUtil.get16To10LowHightByBytes(arerNumberByte); return regionCard; } /** * 第1扇区0块 存储的数据 */ public class Zero { public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); //区域号 byte[] arerNumberBytes = new byte[4]; byte[] arerNumberDatas = HexUtil.hexToByteArray(HexUtil.get10To16LowHigh(arerNumber)); System.arraycopy(arerNumberDatas, 0, arerNumberBytes, 0, arerNumberDatas.length); if (arerNumberBytes != null) { System.arraycopy(arerNumberBytes, 0, data, 1, arerNumberBytes.length); } data[15] = getByteSum(data); return data; } } }