package com.dayu.qihealonelibrary.card; import com.dayu.baselibrary.tools.HexUtil; import com.dayu.qihealonelibrary.dao.AppDatabase; import com.dayu.qihealonelibrary.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); Zero zero = new Zero(); return zero.toByte(); } public static BlackCard getBean(List 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; } } }