package com.dayu.qiheonlinelibrary.card; import com.dayu.baselibrary.tools.HexUtil; import com.dayu.qiheonlinelibrary.dao.QHOnLineAppDatabase; import com.dayu.qiheonlinelibrary.utils.CardCommon; import java.io.Serializable; import java.util.List; /** * Copyright (C), 2024, * Author: zuo * Date: 2024-3-04 11:22 * Description:密码卡 */ public class PassWordCard extends BaseCard implements Serializable { public String cardType = CardCommon.PASS_WORD_CRAD_TYPE;//卡类型 public String passWord;//六位的密码 public String getPassWord() { return passWord; } public void setPassWord(String passWord) { this.passWord = passWord; } public static PassWordCard getBean(List data) { if (data != null) { PassWordCard passWordCard = new PassWordCard(); byte[] zero = data.get(0); byte[] passWordByte = new byte[6]; System.arraycopy(zero, 5, passWordByte, 0, passWordByte.length); passWordCard.passWord = HexUtil.bytesToHex(passWordByte); return passWordCard; } return null; } public byte[] toByte(QHOnLineAppDatabase QHOnLineAppDatabase) { setCardData(QHOnLineAppDatabase, 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[] cardDatas = HexUtil.hexToByteArray(cardData); if (cardDatas != null) { System.arraycopy(cardDatas, 0, data, 1, cardDatas.length); } byte[] passWordBytes = HexUtil.hexToByteArray(passWord); if (passWordBytes != null) { System.arraycopy(passWordBytes, 0, data, 5, passWordBytes.length); } data[15] = getByteSum(data); return data; } } }