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