package com.dayu.rechargeqh.card;
|
|
import com.dayu.rechargeqh.dao.AppDatabase;
|
import com.dayu.rechargeqh.tools.HexUtil;
|
import com.dayu.rechargeqh.utils.MyCommon;
|
|
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 = MyCommon.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(AppDatabase appDatabase) {
|
setCardData(appDatabase, cardType);
|
Zero zero = new Zero();
|
return zero.toByte();
|
}
|
|
|
public class Zero extends BaseCard {
|
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;
|
}
|
|
}
|
}
|