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