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;
|
|
/**
|
* author: zuo
|
* Date: 2024-02-29
|
* Time: 17:17
|
* 备注:配置黑卡 当用户丢失卡时,需要在对应的控制器把此用户配置为黑户,防止非法用水
|
*/
|
public class BlackCard extends BaseCard implements Serializable {
|
|
public String cardType = MyCommon.BLACK;
|
|
public String blackCard;//黑户卡号
|
|
public String getBlackCard() {
|
return blackCard;
|
}
|
|
public void setBlackCard(String blackCard) {
|
this.blackCard = blackCard;
|
}
|
|
public byte[] toByte(AppDatabase appDatabase) {
|
setCardData(appDatabase, cardType);
|
BlackCard.Zero zero = new BlackCard.Zero();
|
return zero.toByte();
|
}
|
|
|
public static BlackCard getBean(List<byte[]> data) {
|
BlackCard blackCard = new BlackCard();
|
if (data != null) {
|
byte[] zero = data.get(0);
|
byte[] cardDataByte = new byte[4];
|
System.arraycopy(zero, 1, cardDataByte, 0, cardDataByte.length);
|
blackCard.cardData = HexUtil.bytesToHex(cardDataByte);
|
|
byte[] blackCardByte = new byte[4];
|
System.arraycopy(zero, 5, blackCardByte, 0, blackCardByte.length);
|
blackCard.blackCard = HexUtil.bytesToHex(blackCardByte);
|
}
|
|
return blackCard;
|
}
|
|
public class Zero {
|
public byte[] toByte() {
|
byte[] data = new byte[16];
|
data[0] = HexUtil.hexToByte(cardType);
|
byte[] cardDatas = HexUtil.hexToByteArray(cardData);
|
System.arraycopy(cardDatas, 0, data, 1, cardDatas.length);
|
byte[] blackCardByte = HexUtil.hexToByteArray(blackCard);
|
System.arraycopy(blackCardByte, 0, data, 5, blackCardByte.length);
|
data[15] = getByteSum(data);
|
return data;
|
}
|
|
}
|
|
|
}
|