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