From 5edfd12deb166302708857515a833d1471a0f208 Mon Sep 17 00:00:00 2001
From: zuoxiao <lf_zuo@163.com>
Date: 星期三, 25 六月 2025 16:15:23 +0800
Subject: [PATCH] feat(database): 增加管理卡相关功能并优化数据库结构- 新增 ManagerCardBean 数据类用于管理卡信息 - 在 AppDataBase 中添加 ManagerCardDao 接口 - 实现管理卡的数据库迁移策略 - 优化支付方式 ID 类型,从 Long改为 String - 重构更新写卡和上报状态的逻辑,支持管理卡和用户卡

---
 generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt |   42 ++++++++++++++++++++++++++++--------------
 1 files changed, 28 insertions(+), 14 deletions(-)

diff --git a/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt b/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt
index 65fd920..c4ad095 100644
--- a/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt
+++ b/generallibrary/src/main/java/com/dayu/general/tool/NfcWreatHelper.kt
@@ -78,24 +78,20 @@
      * @param b   涔﹀啓鐨勫潡(浠�0寮�濮嬫暟)
      * @param callback 鎿嶄綔缁撴灉鍥炶皟
      */
-    fun writeDataAsync(str: ByteArray?, a: Int, b: Int, callback: (Boolean) -> Unit): Disposable {
+    fun writeDataAsync(str: ByteArray?, a: Int, b: Int, callback: NFCCallBack): Disposable {
         showLoading()
         val disposable = Observable.fromCallable {
-            writeData(str, a, b, object : NFCCallBack {
-                override fun isSusses(flag: Boolean, msg: String?) {
-                    // 杩欎釜鍥炶皟鍦↖O绾跨▼涓紝涓嶅鐞哢I鐩稿叧鎿嶄綔
-                }
-            })
+            writeData(str, a, b, callback)
         }
         .subscribeOn(Schedulers.io())
         .observeOn(AndroidSchedulers.mainThread())
         .subscribe({ result ->
             hideLoading()
-            callback(result)
+            callback.isSusses(result, if (result) "鍐欏崱鎴愬姛" else "鍐欏崱澶辫触")
         }, { error ->
             hideLoading()
             error.printStackTrace()
-            callback(false)
+            callback.isSusses(false, "鍐欏崱寮傚父: ${error.message}")
         })
         
         compositeDisposable.add(disposable)
@@ -112,33 +108,35 @@
      */
     fun writeData(str: ByteArray?, a: Int, b: Int, callBack: NFCCallBack): Boolean {
         try {
-            return adapter.writeData(str, a, b, false, callBack)
+            return adapter.writeData(str, a, b, true, callBack)
         } catch (e: Exception) {
             e.printStackTrace()
         }
         return false
     }
 
+
+
     /**
      * 鍐欏崱(寮傛)
      *
      * @param userCard 鐢ㄦ埛鍗″唴瀹�
-     * @param callback 鎿嶄綔缁撴灉鍥炶皟
+     * @param callBack 鎿嶄綔缁撴灉鍜屾秷鎭洖璋�
      */
-    fun writeUserDataAsync(userCard: UserCard, callback: (Boolean) -> Unit): Disposable {
+    fun writeUserDataAsync(userCard: UserCard, callBack: NFCCallBack): Disposable {
         showLoading()
         val disposable = Observable.fromCallable {
-            writeUserData(userCard)
+            writeUserData(userCard, callBack)
         }
         .subscribeOn(Schedulers.io())
         .observeOn(AndroidSchedulers.mainThread())
         .subscribe({ result ->
             hideLoading()
-            callback(result)
+            // 缁撴灉宸茬粡鍦╳riteUserData涓�氳繃callBack鍥炶皟浜�
         }, { error ->
             hideLoading()
             error.printStackTrace()
-            callback(false)
+            callBack.isSusses(false, "寮傛鍐欏崱寮傚父: ${error.message}")
         })
         
         compositeDisposable.add(disposable)
@@ -161,6 +159,22 @@
     }
 
     /**
+     * 鍐欏崱
+     *
+     * @param userCard 鐢ㄦ埛鍗″唴瀹�
+     * @param callBack 鍥炶皟鎺ュ彛
+     */
+    fun writeUserData(userCard: UserCard, callBack: NFCCallBack): Boolean {
+        try {
+            return adapter.writeUserData(userCard, 7, callBack)
+        } catch (e: java.lang.Exception) {
+            e.printStackTrace()
+            callBack.isSusses(false, "鍐欏崱寮傚父: ${e.message}")
+        }
+        return false
+    }
+
+    /**
      * 淇敼瀵嗙爜(寮傛)
      *
      * @param ps 瀵嗙爜鍒楄〃

--
Gitblit v1.8.0