From 465c8abaa982fba6868a900d25316c70afc20fb7 Mon Sep 17 00:00:00 2001
From: zuoxiao <470321431@qq.com>
Date: 星期三, 18 六月 2025 13:59:46 +0800
Subject: [PATCH] feat(card): 优化销卡功能并添加写卡操作

---
 README.md |  165 +++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 165 insertions(+), 0 deletions(-)

diff --git a/README.md b/README.md
index dee3b50..0e4714c 100644
--- a/README.md
+++ b/README.md
@@ -232,6 +232,171 @@
 - CardData: 鍗$墖鏁版嵁
 - ProjectDataBean: 椤圭洰鏁版嵁
 
+## 鏁版嵁绫荤鐞嗚鑼�
+
+### Bean鍖呯粨鏋勭粍缁�
+
+椤圭洰涓墍鏈夌殑鏁版嵁绫伙紙Data Class锛夐兘搴旇缁熶竴鏀惧湪`bean`鍖呬笅鐨勭浉搴斿瓙鐩綍涓紝鎸夌収鍔熻兘鍜岀敤閫旇繘琛屽垎绫伙細
+
+```
+generallibrary/src/main/java/com/dayu/general/bean/
+鈹溾攢鈹� net/        # 缃戠粶鎺ュ彛鐩稿叧鏁版嵁绫�
+鈹溾攢鈹� card/       # 鍗$墖鐩稿叧鏁版嵁绫�  
+鈹溾攢鈹� db/         # 鏁版嵁搴撳疄浣撶被
+鈹斺攢鈹� ...         # 鍏朵粬鍔熻兘妯″潡鏁版嵁绫�
+```
+
+#### 1. 缃戠粶鎺ュ彛鏁版嵁绫� (bean/net/)
+
+鎵�鏈堿PI鎺ュ彛鐨勮姹傚拰鍝嶅簲鏁版嵁绫婚兘鏀惧湪`net`鐩綍涓嬶細
+
+```kotlin
+// 璇锋眰鏁版嵁绫荤ず渚�
+data class RechargeRequest(
+    val rechargeType: Int,
+    val cardNum: String,
+    val money: String,
+    // ... 鍏朵粬瀛楁
+)
+
+// 鍝嶅簲鏁版嵁绫荤ず渚�  
+data class CardCancelResult(
+    val projectNo: Int,
+    val cardNum: String,
+    val orderNo: String
+)
+```
+
+#### 2. 鍗$墖鐩稿叧鏁版嵁绫� (bean/card/)
+
+鎵�鏈夊崱鐗囨搷浣滅浉鍏崇殑鏁版嵁绫绘斁鍦╜card`鐩綍涓嬶細
+
+```kotlin
+data class UserCard(
+    var cardType: String = "",
+    var balance: Int = 0,
+    var userCode: String = "",
+    // ... 鍏朵粬瀛楁
+)
+```
+
+#### 3. 鏁版嵁搴撳疄浣撶被 (bean/db/)
+
+鎵�鏈塕oom鏁版嵁搴撶殑瀹炰綋绫绘斁鍦╜db`鐩綍涓嬶細
+
+```kotlin
+@Entity(tableName = "card_data")
+data class CardData(
+    @PrimaryKey val id: Long,
+    val cardNumber: String,
+    // ... 鍏朵粬瀛楁
+)
+```
+
+### 鏁版嵁绫诲懡鍚嶈鑼�
+
+1. **鎺ュ彛鍝嶅簲鏁版嵁绫�**: 浠Result`缁撳熬
+   - `CardCancelResult` - 閿�鍗℃帴鍙e搷搴�
+   - `RechargeResult` - 鍏呭�兼帴鍙e搷搴�
+   - `WaterPriceResult` - 姘翠环鎺ュ彛鍝嶅簲
+
+2. **鎺ュ彛璇锋眰鏁版嵁绫�**: 浠Request`缁撳熬
+   - `RechargeRequest` - 鍏呭�兼帴鍙h姹�
+   - `SearchUserBeanRequest` - 鐢ㄦ埛鎼滅储璇锋眰
+
+3. **涓氬姟瀹炰綋鏁版嵁绫�**: 浣跨敤涓氬姟鍚嶇О
+   - `UserCard` - 鐢ㄦ埛鍗$墖鏁版嵁
+   - `ClearCard` - 娓呴浂鍗℃暟鎹�
+
+4. **鏁版嵁搴撳疄浣撶被**: 浣跨敤琛ㄥ悕瀵瑰簲鐨勫疄浣撳悕
+   - `CardData` - 鍗$墖鏁版嵁琛�
+   - `ProjectDataBean` - 椤圭洰鏁版嵁琛�
+
+### 鏁版嵁绫诲垱寤烘渶浣冲疄璺�
+
+#### 1. 鏂囦欢澶存敞閲婅鑼�
+
+```kotlin
+package com.dayu.general.bean.net
+
+/**
+ * 閿�鍗$粨鏋滄暟鎹被
+ * @author: zuo
+ * @date: 2025/01/17
+ * @description: 閿�鍗℃帴鍙h繑鍥炴暟鎹�
+ */
+data class CardCancelResult(
+    val projectNo: Int,     // 椤圭洰缂栧彿
+    val cardNum: String,    // 鍗″彿
+    val orderNo: String     // 璁㈠崟鍙�
+)
+```
+
+#### 2. 瀛楁娉ㄩ噴瑙勮寖
+
+- 姣忎釜瀛楁閮藉簲璇ユ坊鍔犺鍐呮敞閲婅鏄庣敤閫�
+- 瀵逛簬鏋氫妇鍊兼垨鐗规畩鍚箟鐨勫瓧娈碉紝璇︾粏璇存槑鍙栧�艰寖鍥�
+
+#### 3. 瀵煎叆浣跨敤瑙勮寖
+
+鍦ˋctivity鎴栧叾浠栫被涓娇鐢ㄦ暟鎹被鏃讹紝搴旇瀵煎叆鍏蜂綋鐨勬暟鎹被锛�
+
+```kotlin
+// 姝g‘鐨勫鍏ユ柟寮�
+import com.dayu.general.bean.net.CardCancelResult
+import com.dayu.general.bean.net.RechargeResult
+
+// 鍦ㄤ唬鐮佷腑浣跨敤
+private fun handleCancelResult(result: CardCancelResult) {
+    // 澶勭悊閿�鍗$粨鏋�
+}
+```
+
+#### 4. 绂佹鍐呰仈瀹氫箟
+
+**绂佹**鍦ˋctivity鎴栧叾浠栫被涓唴鑱斿畾涔夋暟鎹被锛�
+
+```kotlin
+// 鉂� 閿欒鍋氭硶 - 涓嶈鍦ˋctivity涓唴鑱斿畾涔夋暟鎹被
+class CardCancelActivity : BaseNfcActivity() {
+    
+    // 鉂� 绂佹杩欐牱鍋�
+    data class CardCancelResult(
+        val projectNo: Int,
+        val cardNum: String,
+        val orderNo: String
+    )
+}
+
+// 鉁� 姝g‘鍋氭硶 - 鍦╞ean鍖呬腑瀹氫箟鏁版嵁绫�
+// 鏂囦欢: generallibrary/src/main/java/com/dayu/general/bean/net/CardCancelResult.kt
+data class CardCancelResult(
+    val projectNo: Int,
+    val cardNum: String, 
+    val orderNo: String
+)
+```
+
+### 鏁版嵁绫荤鐞嗕紭鍔�
+
+1. **缁熶竴绠$悊**: 鎵�鏈夋暟鎹被闆嗕腑鍦╞ean鍖呬笅锛屼究浜庢煡鎵惧拰缁存姢
+2. **鑱岃矗鍒嗙**: 涓氬姟閫昏緫鍜屾暟鎹粨鏋勫垎绂伙紝浠g爜缁撴瀯鏇存竻鏅�
+3. **澶嶇敤鎬у己**: 鏁版嵁绫诲彲浠ュ湪澶氫釜妯″潡闂村鐢�
+4. **鏄撲簬閲嶆瀯**: 鏁版嵁缁撴瀯鍙樻洿鏃跺彧闇�淇敼涓�涓枃浠�
+5. **绫诲瀷瀹夊叏**: 缂栬瘧鏈熺被鍨嬫鏌ワ紝鍑忓皯杩愯鏃堕敊璇�
+
+### 杩佺Щ鐜版湁浠g爜
+
+瀵逛簬宸茬粡瀛樺湪鐨勫唴鑱旀暟鎹被锛屽簲璇ユ寜鐓т互涓嬫楠よ繘琛岃縼绉伙細
+
+1. 鍦╞ean鍖呯殑鐩稿簲瀛愮洰褰曚笅鍒涘缓鏁版嵁绫绘枃浠�
+2. 绉诲姩鏁版嵁绫诲畾涔夊埌鏂版枃浠�
+3. 鍦ㄥ師鏂囦欢涓坊鍔犲鍏ヨ鍙�
+4. 娴嬭瘯纭繚鍔熻兘姝e父
+5. 鎻愪氦浠g爜鍙樻洿
+
+閫氳繃缁熶竴鐨勬暟鎹被绠$悊瑙勮寖锛屽彲浠ユ彁楂樹唬鐮佺殑鍙淮鎶ゆ�у拰鍙鎬э紝浣块」鐩粨鏋勬洿鍔犳竻鏅拌鑼冦��
+
 ## 寮�鍙戠幆澧冭姹�
 
 - Android Studio Arctic Fox鎴栨洿楂樼増鏈�

--
Gitblit v1.8.0