现金记录数据
This commit is contained in:
parent
59c80a6e58
commit
4ab33f382c
|
|
@ -1,5 +1,7 @@
|
||||||
package com.gamedog.vididin.beans
|
package com.gamedog.vididin.beans
|
||||||
|
|
||||||
|
import com.ama.core.architecture.util.AndroidUtil
|
||||||
|
import com.ama.core.architecture.util.DateUtil
|
||||||
import com.vididin.real.money.game.R
|
import com.vididin.real.money.game.R
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -7,15 +9,15 @@ import com.vididin.real.money.game.R
|
||||||
const val RECORD_CASH_PLUS_GOLD_CONVERT: Int = 1
|
const val RECORD_CASH_PLUS_GOLD_CONVERT: Int = 1
|
||||||
const val RECORD_CASH_PLUS_NEWBIE_GIFT: Int = 2
|
const val RECORD_CASH_PLUS_NEWBIE_GIFT: Int = 2
|
||||||
const val RECORD_CASH_PLUS_BOX_TASK: Int = 3
|
const val RECORD_CASH_PLUS_BOX_TASK: Int = 3
|
||||||
const val RECORD_CASH_MINUS_WITHDRAW_SMALL: Int = 4
|
const val RECORD_CASH_PLUS_WITHDRAW_FAIL: Int = 4
|
||||||
const val RECORD_CASH_MINUS_WITHDRAW_BIG: Int = 5
|
const val RECORD_CASH_MINUS_WITHDRAW_SMALL: Int = 5
|
||||||
|
const val RECORD_CASH_MINUS_WITHDRAW_BIG: Int = 6
|
||||||
|
|
||||||
open class RecordCash {
|
open class RecordCash (var recordType: Int = 0,
|
||||||
var uuid: String = ""
|
var amountNum: Double = 0.0,
|
||||||
var dateMs: Long = 0L
|
var isSuccess: Boolean = false,) {
|
||||||
var isSuccess: Boolean = false
|
var dateMs: Long = DateUtil.getCurTimeMs()
|
||||||
var amountNum: Double = 0.0
|
var uuid: String = AndroidUtil.randomUUid()
|
||||||
var recordType: Int = 0
|
|
||||||
}
|
}
|
||||||
|
|
||||||
class RecordCashShow: RecordCash() {
|
class RecordCashShow: RecordCash() {
|
||||||
|
|
@ -52,6 +54,13 @@ fun RecordCash.toShowBean(): RecordCashShow {
|
||||||
iconRes = R.mipmap.icon_ad
|
iconRes = R.mipmap.icon_ad
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
RECORD_CASH_PLUS_WITHDRAW_FAIL -> {
|
||||||
|
title = R.string.apply
|
||||||
|
description = R.string.apply
|
||||||
|
iconRes = R.mipmap.icon_ad
|
||||||
|
}
|
||||||
|
|
||||||
RECORD_CASH_MINUS_WITHDRAW_SMALL -> {
|
RECORD_CASH_MINUS_WITHDRAW_SMALL -> {
|
||||||
title = R.string.apply
|
title = R.string.apply
|
||||||
description = R.string.apply
|
description = R.string.apply
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,9 @@ import com.gamedog.vididin.VidiConst
|
||||||
import com.gamedog.vididin.VididinEvents
|
import com.gamedog.vididin.VididinEvents
|
||||||
import com.gamedog.vididin.beans.Account
|
import com.gamedog.vididin.beans.Account
|
||||||
import com.gamedog.vididin.beans.BankInfo
|
import com.gamedog.vididin.beans.BankInfo
|
||||||
|
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_GOLD_CONVERT
|
||||||
|
import com.gamedog.vididin.beans.RecordCash
|
||||||
|
import com.gamedog.vididin.manager.RecordsManager
|
||||||
|
|
||||||
object AccountManager {
|
object AccountManager {
|
||||||
|
|
||||||
|
|
@ -67,13 +70,16 @@ object AccountManager {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Synchronized
|
@Synchronized
|
||||||
fun adjustCash(adjustNum: Float): Boolean {
|
fun adjustCash(adjustNum: Float, recordBean: RecordCash?): Boolean {
|
||||||
if (adjustNum < 0L && Math.abs(adjustNum) > getGold()) {
|
if (adjustNum < 0L && Math.abs(adjustNum) > getGold()) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
mAccount.cashCount += adjustNum
|
mAccount.cashCount += adjustNum
|
||||||
saveAccountInfo()
|
saveAccountInfo()
|
||||||
NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Cash_Changed, null)
|
NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Cash_Changed, null)
|
||||||
|
recordBean?.let {
|
||||||
|
RecordsManager.instance().appendCashRecord(recordBean)
|
||||||
|
}
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -126,7 +132,8 @@ object AccountManager {
|
||||||
val costGoldNum = couldCovertCashTotal * VidiConst.PER_01CASH_COST_GOLD_NUM
|
val costGoldNum = couldCovertCashTotal * VidiConst.PER_01CASH_COST_GOLD_NUM
|
||||||
if (getGold() >= costGoldNum) {
|
if (getGold() >= costGoldNum) {
|
||||||
adjustGold(-1L * costGoldNum.toInt())
|
adjustGold(-1L * costGoldNum.toInt())
|
||||||
adjustCash(couldCovertCashTotal * 0.1F)
|
val adjustCashNum = couldCovertCashTotal * 0.1F
|
||||||
|
adjustCash(adjustCashNum, RecordCash(RECORD_CASH_PLUS_GOLD_CONVERT, adjustCashNum.toDouble(), true))
|
||||||
AndroidUtil.showToast("Has convert $costGoldNum gold to $couldCovertCashTotal cash.")
|
AndroidUtil.showToast("Has convert $costGoldNum gold to $couldCovertCashTotal cash.")
|
||||||
return true
|
return true
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -9,6 +9,11 @@ import com.ama.core.architecture.util.SpUtil
|
||||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||||
import com.gamedog.vididin.VidiConst
|
import com.gamedog.vididin.VidiConst
|
||||||
import com.gamedog.vididin.VididinEvents
|
import com.gamedog.vididin.VididinEvents
|
||||||
|
import com.gamedog.vididin.beans.RECORD_CASH_MINUS_WITHDRAW_BIG
|
||||||
|
import com.gamedog.vididin.beans.RECORD_CASH_MINUS_WITHDRAW_SMALL
|
||||||
|
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_BOX_TASK
|
||||||
|
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_WITHDRAW_FAIL
|
||||||
|
import com.gamedog.vididin.beans.RecordCash
|
||||||
import com.gamedog.vididin.beans.req.PayInitReq
|
import com.gamedog.vididin.beans.req.PayInitReq
|
||||||
import com.gamedog.vididin.beans.req.PayoutCheckReq
|
import com.gamedog.vididin.beans.req.PayoutCheckReq
|
||||||
import com.gamedog.vididin.beans.resp.WithdrawRecord
|
import com.gamedog.vididin.beans.resp.WithdrawRecord
|
||||||
|
|
@ -216,13 +221,10 @@ class WithdrawManager private constructor() {
|
||||||
mRecordLocker.unlock()
|
mRecordLocker.unlock()
|
||||||
}
|
}
|
||||||
saveRecords2Sp()
|
saveRecords2Sp()
|
||||||
adjustAccountCash(newRecord.cashNum * -1)
|
AccountManager.adjustCash(newRecord.cashNum * -1, null)
|
||||||
loopCheckTransactionState()
|
loopCheckTransactionState()
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun adjustAccountCash(cashNum: Float) {
|
|
||||||
AccountManager.adjustCash(cashNum)
|
|
||||||
}
|
|
||||||
|
|
||||||
private fun saveRecords2Sp() {
|
private fun saveRecords2Sp() {
|
||||||
SpUtil.instance().putList(SpUtil.KEY_WITHDRAW_HISTORY_LIST,getClonedRecordList())
|
SpUtil.instance().putList(SpUtil.KEY_WITHDRAW_HISTORY_LIST,getClonedRecordList())
|
||||||
|
|
@ -415,13 +417,18 @@ class WithdrawManager private constructor() {
|
||||||
private fun handleTransactionSuccess(recordNo: String) {
|
private fun handleTransactionSuccess(recordNo: String) {
|
||||||
updateRecord(recordNo, TRANSACTION_STATE_SUCCESS)
|
updateRecord(recordNo, TRANSACTION_STATE_SUCCESS)
|
||||||
notifyWithdrawCheckResult(recordNo)
|
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))
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private fun handleTransactionFailed(recordNo: String, failedType: Int) {
|
private fun handleTransactionFailed(recordNo: String, failedType: Int) {
|
||||||
updateRecord(recordNo, TRANSACTION_STATE_FAIL, failedType)
|
updateRecord(recordNo, TRANSACTION_STATE_FAIL, failedType)
|
||||||
val recordBean = WithdrawManager.instance?.getRecord(recordNo)
|
val recordBean = WithdrawManager.instance?.getRecord(recordNo)
|
||||||
recordBean?.let {
|
recordBean?.let {
|
||||||
adjustAccountCash(it.cashNum)
|
AccountManager.adjustCash(it.cashNum, RecordCash(RECORD_CASH_PLUS_WITHDRAW_FAIL, it.cashNum.toDouble(), false))
|
||||||
}
|
}
|
||||||
notifyWithdrawCheckResult(recordNo)
|
notifyWithdrawCheckResult(recordNo)
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -6,7 +6,11 @@ import com.ama.core.architecture.util.SpUtil
|
||||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||||
import com.vididin.real.money.game.R
|
import com.vididin.real.money.game.R
|
||||||
import com.gamedog.vididin.VididinEvents
|
import com.gamedog.vididin.VididinEvents
|
||||||
|
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_BOX_TASK
|
||||||
|
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_GOLD_CONVERT
|
||||||
|
import com.gamedog.vididin.beans.RecordCash
|
||||||
import com.gamedog.vididin.core.login.login.AccountManager
|
import com.gamedog.vididin.core.login.login.AccountManager
|
||||||
|
import com.gamedog.vididin.core.login.login.AccountManager.adjustCash
|
||||||
import com.gamedog.vididin.main.fragments.task.BoxTaskRoot
|
import com.gamedog.vididin.main.fragments.task.BoxTaskRoot
|
||||||
import com.gamedog.vididin.manager.TaskManager
|
import com.gamedog.vididin.manager.TaskManager
|
||||||
import com.gamedog.vididin.manager.TaskManager.Companion.BOX_SUB_TASK_TYPE_ZERO_BUY
|
import com.gamedog.vididin.manager.TaskManager.Companion.BOX_SUB_TASK_TYPE_ZERO_BUY
|
||||||
|
|
@ -323,7 +327,7 @@ class BoxTaskHelper: BaseTaskHelper<TaskStateBoxRoot, BoxTaskRoot>() {
|
||||||
try {
|
try {
|
||||||
val couldClaimCashNum = getCouldClaimCashNum()
|
val couldClaimCashNum = getCouldClaimCashNum()
|
||||||
if (couldClaimCashNum > 0F) {
|
if (couldClaimCashNum > 0F) {
|
||||||
AccountManager.adjustCash(couldClaimCashNum)
|
AccountManager.adjustCash(couldClaimCashNum, RecordCash(RECORD_CASH_PLUS_BOX_TASK, couldClaimCashNum.toDouble(), true))
|
||||||
mStateBean.boxList.forEachIndexed { index, box ->
|
mStateBean.boxList.forEachIndexed { index, box ->
|
||||||
if (getBoxStateEnum(index) == STATE_FINISH) {
|
if (getBoxStateEnum(index) == STATE_FINISH) {
|
||||||
box.hasClaimedReward = true
|
box.hasClaimedReward = true
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import androidx.core.graphics.createBitmap
|
||||||
import com.ama.core.architecture.BaseApp
|
import com.ama.core.architecture.BaseApp
|
||||||
import com.google.gson.Gson
|
import com.google.gson.Gson
|
||||||
import com.google.gson.reflect.TypeToken
|
import com.google.gson.reflect.TypeToken
|
||||||
|
import java.util.UUID
|
||||||
import kotlin.random.Random
|
import kotlin.random.Random
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -184,6 +185,10 @@ class AndroidUtil private constructor() {
|
||||||
return (startNum..endNum).random()
|
return (startNum..endNum).random()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
fun randomUUid(): String {
|
||||||
|
return UUID.randomUUID().toString().replace("-", "")
|
||||||
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
Loading…
Reference in New Issue