新增ongoing类型 cash 记录
This commit is contained in:
parent
885bc67994
commit
c5c7ba71b7
|
|
@ -12,14 +12,15 @@ const val RECORD_CASH_PLUS_WITHDRAW_ONGOING: Int = 3
|
|||
const val RECORD_CASH_PLUS_WITHDRAW_FAIL: Int = 4
|
||||
const val RECORD_CASH_MINUS_WITHDRAW_SUCCESS: Int = 5
|
||||
|
||||
|
||||
open class RecordCash (var recordType: Int = 0,
|
||||
var amountNum: Double = 0.0,
|
||||
var isSuccess: Boolean = false,) {
|
||||
abstract class BaseRecord {
|
||||
var dateMs: Long = DateUtil.getCurTimeMs()
|
||||
var uuid: String = AndroidUtil.randomUUid()
|
||||
}
|
||||
|
||||
open class RecordCash (var recordType: Int = 0,
|
||||
var amountNum: Double = 0.0,
|
||||
var isSuccess: Boolean = false,) : BaseRecord()
|
||||
|
||||
class RecordCashShow: RecordCash() {
|
||||
var title: Int = 0
|
||||
var description: Int = 0
|
||||
|
|
|
|||
|
|
@ -19,10 +19,8 @@ const val RECORD_GOLD_MINUS_CONVERT_2_CASH: Int = 10
|
|||
|
||||
|
||||
|
||||
open class RecordGold(var recordType: Int = 0, var amountNum: Long = 0) {
|
||||
open class RecordGold(var recordType: Int = 0, var amountNum: Long = 0): BaseRecord() {
|
||||
var isSuccess: Boolean = false
|
||||
var dateMs: Long = DateUtil.getCurTimeMs()
|
||||
var uuid: String = AndroidUtil.randomUUid()
|
||||
}
|
||||
|
||||
class RecordGoldShow: RecordGold() {
|
||||
|
|
|
|||
|
|
@ -3,9 +3,7 @@ package com.gamedog.vididin.beans
|
|||
import com.vididin.real.money.game.R
|
||||
|
||||
|
||||
open class RecordZero {
|
||||
var uuid: String = ""
|
||||
var dateMs: Long = 0L
|
||||
open class RecordZero : BaseRecord() {
|
||||
var isSuccess: Boolean = false
|
||||
var amountNum: Double = 0.0
|
||||
var recordType: Int = 0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
package com.gamedog.vididin.manager
|
||||
|
||||
import com.ama.core.architecture.util.SpUtil
|
||||
import com.gamedog.vididin.beans.BaseRecord
|
||||
import com.gamedog.vididin.beans.RecordCash
|
||||
import com.gamedog.vididin.beans.RecordCashShow
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
|
|
@ -38,6 +39,10 @@ class RecordsManager private constructor() {
|
|||
mCashHelper.addRecord(newRecord)
|
||||
}
|
||||
|
||||
fun updateCashRecord(updateRecord: RecordCash) {
|
||||
mCashHelper.updateRecord(updateRecord)
|
||||
}
|
||||
|
||||
fun appendGoldRecord(newRecord: RecordGold) {
|
||||
mGoldHelper.addRecord(newRecord)
|
||||
}
|
||||
|
|
@ -101,7 +106,7 @@ class ZeroRecordHelper() : BaseRecordHelper<RecordZero>() {
|
|||
}
|
||||
|
||||
|
||||
abstract class BaseRecordHelper<T> {
|
||||
abstract class BaseRecordHelper<T: BaseRecord> {
|
||||
abstract val mSpKey: String
|
||||
private val mbgScope = CoroutineScope(SupervisorJob() + Dispatchers.IO)
|
||||
private val mRecordLocker = ReentrantLock()
|
||||
|
|
@ -146,5 +151,24 @@ abstract class BaseRecordHelper<T> {
|
|||
}
|
||||
}
|
||||
|
||||
fun updateRecord(updateBean: T) {
|
||||
mbgScope.launch {
|
||||
try {
|
||||
mRecordLocker.lock()
|
||||
mRecordList.forEachIndexed { index, data ->
|
||||
if (data.uuid == updateBean.uuid) {
|
||||
mRecordList.remove(data)
|
||||
mRecordList.add(index, updateBean)
|
||||
return@forEachIndexed
|
||||
}
|
||||
}
|
||||
|
||||
saveRecordList()
|
||||
} finally {
|
||||
mRecordLocker.unlock()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -9,7 +9,9 @@ import com.ama.core.architecture.util.SpUtil
|
|||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.gamedog.vididin.VidiConst
|
||||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.beans.RECORD_CASH_MINUS_WITHDRAW_SUCCESS
|
||||
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_WITHDRAW_FAIL
|
||||
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_WITHDRAW_ONGOING
|
||||
import com.gamedog.vididin.beans.RecordCash
|
||||
import com.gamedog.vididin.beans.req.PayInitReq
|
||||
import com.gamedog.vididin.beans.req.PayoutCheckReq
|
||||
|
|
@ -218,7 +220,10 @@ class WithdrawManager private constructor() {
|
|||
mRecordLocker.unlock()
|
||||
}
|
||||
saveRecords2Sp()
|
||||
AccountManager.adjustCash(newRecord.cashNum * -1, null)
|
||||
val cashNum = newRecord.cashNum * -1
|
||||
AccountManager.adjustCash(cashNum, RecordCash(
|
||||
RECORD_CASH_PLUS_WITHDRAW_ONGOING, cashNum.toDouble(), true).apply { uuid = newRecord.recordNo }
|
||||
)
|
||||
loopCheckTransactionState()
|
||||
}
|
||||
|
||||
|
|
@ -416,8 +421,8 @@ class WithdrawManager private constructor() {
|
|||
notifyWithdrawCheckResult(recordNo)
|
||||
val recordBean = WithdrawManager.instance?.getRecord(recordNo)
|
||||
recordBean?.let {
|
||||
val type = if (it.cashNum > 0.1F) RECORD_CASH_MINUS_WITHDRAW_BIG else RECORD_CASH_MINUS_WITHDRAW_SMALL
|
||||
RecordsManager.instance().appendCashRecord(RecordCash(type, it.cashNum.toDouble(), false))
|
||||
RecordsManager.instance().updateCashRecord(RecordCash(
|
||||
RECORD_CASH_MINUS_WITHDRAW_SUCCESS, it.cashNum.toDouble(), true).apply { uuid = recordNo })
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -425,7 +430,8 @@ class WithdrawManager private constructor() {
|
|||
updateRecord(recordNo, TRANSACTION_STATE_FAIL, failedType)
|
||||
val recordBean = WithdrawManager.instance?.getRecord(recordNo)
|
||||
recordBean?.let {
|
||||
AccountManager.adjustCash(it.cashNum, RecordCash(RECORD_CASH_PLUS_WITHDRAW_FAIL, it.cashNum.toDouble(), false))
|
||||
AccountManager.adjustCash(it.cashNum,
|
||||
RecordCash(RECORD_CASH_PLUS_WITHDRAW_FAIL, it.cashNum.toDouble(), false).apply { uuid = recordNo })
|
||||
}
|
||||
notifyWithdrawCheckResult(recordNo)
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue