|  |  | 
 |  |  | package com.dayu.general.bean.card | 
 |  |  |  | 
 |  |  | import com.dayu.baselibrary.tools.HexUtil | 
 |  |  | import com.dayu.baselibrary.tools.BaseCard | 
 |  |  | import com.dayu.general.bean.db.CardData | 
 |  |  | import com.dayu.general.dao.AppDataBase | 
 |  |  | import com.dayu.general.tool.CardCommon | 
 |  |  | import com.tencent.bugly.crashreport.CrashReport | 
 |  |  |  | 
 |  |  | open class BaseCard { | 
 |  |  | open class BaseCard : BaseCard() { | 
 |  |  |     var cardData: String? = null //标识码 | 
 |  |  |  | 
 |  |  |     companion object { | 
 |  |  | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 前15个字节算术累加和 不含进位 | 
 |  |  |      * | 
 |  |  |      * @param data 源数据 | 
 |  |  |      * @return 16进制 | 
 |  |  |      */ | 
 |  |  |     fun getByteSum(data: ByteArray?): Byte { | 
 |  |  |         if (data != null) { | 
 |  |  |             var sum = 0 | 
 |  |  |             for (b in data) { | 
 |  |  |                 sum += b.toInt() and 0xFF // & 0xFF 可以将字节扩展为正整数,避免符号位的影响 | 
 |  |  |             } | 
 |  |  |             var hex = HexUtil.get10to16CompleteHex(sum) | 
 |  |  |             hex = HexUtil.spaceHex(hex) | 
 |  |  |             val hexArr = hex.split(" ".toRegex()).dropLastWhile { it.isEmpty() } | 
 |  |  |                 .toTypedArray() | 
 |  |  |             return HexUtil.hexToByte(hexArr[hexArr.size - 1]) | 
 |  |  |         } | 
 |  |  |         return 0 | 
 |  |  |     } | 
 |  |  | //    /** | 
 |  |  | //     * 前15个字节算术累加和 不含进位 | 
 |  |  | //     * | 
 |  |  | //     * @param data 源数据 | 
 |  |  | //     * @return 16进制 | 
 |  |  | //     */ | 
 |  |  | //    fun getByteSum(data: ByteArray?): Byte { | 
 |  |  | //        if (data != null) { | 
 |  |  | //            var sum = 0 | 
 |  |  | //            for (b in data) { | 
 |  |  | //                sum += b.toInt() and 0xFF // & 0xFF 可以将字节扩展为正整数,避免符号位的影响 | 
 |  |  | //            } | 
 |  |  | //            var hex = HexUtil.get10to16CompleteHex(sum) | 
 |  |  | //            hex = HexUtil.spaceHex(hex) | 
 |  |  | //            val hexArr = hex.split(" ".toRegex()).dropLastWhile { it.isEmpty() } | 
 |  |  | //                .toTypedArray() | 
 |  |  | //            return HexUtil.hexToByte(hexArr[hexArr.size - 1]) | 
 |  |  | //        } | 
 |  |  | //        return 0 | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  | } |