左晓为主开发手持机充值管理机
zuoxiao
2024-09-27 feb7add1979c830e0d940286242a7c489f2f8f96
qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
@@ -1,5 +1,6 @@
package com.dayu.qihealonelibrary.card;
import com.dayu.baselibrary.bean.BaseUserCardCard;
import com.dayu.baselibrary.tools.HexUtil;
import com.dayu.qihealonelibrary.utils.CardCommon;
import com.tencent.bugly.crashreport.CrashReport;
@@ -14,7 +15,7 @@
 * Date: 2023-11-07 9:37
 * Description: 齐河项目用户卡结构
 */
public class UserCard implements Serializable {
public class UserCard extends BaseUserCardCard implements Serializable {
    public String cardType = CardCommon.USER_CARD_TYPE_1;//写卡标志 A1刷卡开泵前 A8刷卡开泵后  A2叠加充值
    public int arerNumber;//区域号(底位在前高位在后)
@@ -28,7 +29,7 @@
    public int balance;//剩余金额 底位在前  2位小数点,单位分
    public int surplusWater;//剩余水量 底位在前  2位小数点 单位立方米
    public int surplusWater;//剩余水量 底位在前  2位小数点 单位立方米 (跟价格一样先乘以100)
    public Calendar rechargeDate;// 购水时间 BCD
@@ -38,7 +39,8 @@
     *
     * @param data
     */
    public static UserCard getBean(List<byte[]> data) {
    @Override
    public  UserCard getBean(List<byte[]> data) {
        try {
            UserCard userCard = new UserCard();
            //第0块解析
@@ -175,9 +177,9 @@
                    int year = (rechargeDate.get(Calendar.YEAR)) % 1000;
                    int month = rechargeDate.get(Calendar.MONTH) + 1; // 月份从0开始,所以需要加1
                    int day = rechargeDate.get(Calendar.DAY_OF_MONTH);
                    byte bcdYear = (byte) ((year / 10) << 4 | ((year % 10) / 100));
                    byte bcdMonth = (byte) ((month / 10) << 4 | (month % 10));
                    byte bcdDay = (byte) ((day / 10) << 4 | (day % 10));
                    byte bcdYear = HexUtil.getIntToBCD(year)[0];
                    byte bcdMonth = HexUtil.getIntToBCD(month)[0];
                    byte bcdDay = HexUtil.getIntToBCD(day)[0];
                    data[12] = bcdYear;
                    data[13] = bcdMonth;
                    data[14] = bcdDay;
@@ -221,9 +223,9 @@
                    int year = (rechargeDate.get(Calendar.YEAR)) % 1000;
                    int month = rechargeDate.get(Calendar.MONTH) + 1; // 月份从0开始,所以需要加1
                    int day = rechargeDate.get(Calendar.DAY_OF_MONTH);
                    byte bcdYear = (byte) ((year / 10) << 4 | ((year % 10) / 100));
                    byte bcdMonth = (byte) ((month / 10) << 4 | (month % 10));
                    byte bcdDay = (byte) ((day / 10) << 4 | (day % 10));
                    byte bcdYear = HexUtil.getIntToBCD(year)[0];
                    byte bcdMonth = HexUtil.getIntToBCD(month)[0];
                    byte bcdDay = HexUtil.getIntToBCD(day)[0];
                    data[12] = bcdYear;
                    data[13] = bcdMonth;
                    data[14] = bcdDay;