From feb7add1979c830e0d940286242a7c489f2f8f96 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期五, 27 九月 2024 09:23:34 +0800
Subject: [PATCH] 优化NFC模块架构,将一些方法抽调到父类中。

---
 qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java |   20 +++++++++++---------
 1 files changed, 11 insertions(+), 9 deletions(-)

diff --git a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java b/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
index 7ae89d7..b814a8c 100644
--- a/qihealonelibrary/src/main/java/com/dayu/qihealonelibrary/card/UserCard.java
+++ b/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;

--
Gitblit v1.8.0