| 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<byte[]> 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; | 
|         } | 
|   | 
|     } | 
|   | 
|   | 
| } |