package com.dayu.qihealonelibrary.card; import com.dayu.baselibrary.tools.HexUtil; import com.dayu.qihealonelibrary.dao.QHAloneAppDatabase; import com.dayu.qihealonelibrary.utils.CardCommon; import java.io.Serializable; import java.util.List; /** * Copyright (C), 2023, * Author: zuo * Date: 2023-11-08 10:19 * Description: 管理卡 第1扇区 0块 */ public class ManageCard extends BaseCard implements Serializable { public String cardType = CardCommon.MANAGE_CRAD;//卡类型 public String getCardData() { return cardData; } /** * M1卡的0扇区0块通常用于存储一些基本的卡片信息 * 0-4字节是卡号 */ public String userCard; //用户卡号 public String getUserCard() { return userCard; } public void setUserCard(String userCard) { this.userCard = userCard; } public static ManageCard getBean(List data) { if (data != null) { ManageCard passWordCard = new ManageCard(); byte[] zero = data.get(0); byte[] passWordByte = new byte[4]; System.arraycopy(zero, 5, passWordByte, 0, passWordByte.length); passWordCard.setUserCard(HexUtil.bytesToHex(passWordByte)); return passWordCard; } return null; } public byte[] toByte(QHAloneAppDatabase QHAloneAppDatabase) { setCardData(QHAloneAppDatabase, cardType); Zero zero = new Zero(); return zero.toByte(); } public class Zero { public byte[] toByte() { byte[] data = new byte[16]; data[0] = HexUtil.hexToByte(cardType); byte[] cardDataByte = HexUtil.hexToByteArray(cardData); System.arraycopy(cardDataByte, 0, data, 1, cardDataByte.length); byte[] userCardByts = HexUtil.hexToByteArray(userCard); if (userCard != null) { System.arraycopy(userCardByts, 0, data, 5, userCardByts.length); } data[15] = getByteSum(data); return data; } } }