金币记录 数据收集
This commit is contained in:
parent
4ab33f382c
commit
0e9eebd85a
|
|
@ -3,6 +3,7 @@ package com.gamedog.vididin
|
|||
object VidiConst {
|
||||
|
||||
|
||||
const val NEWBIE_GIFT_GOLD_NUM: Long = 100
|
||||
|
||||
/**
|
||||
* Varous type for watching Ad
|
||||
|
|
|
|||
|
|
@ -1,24 +1,28 @@
|
|||
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 kotlin.Int
|
||||
|
||||
const val RECORD_GOLD_PLUS_WATCH_VIDEO: Int = 1
|
||||
const val RECORD_GOLD_PLUS_WATCH_VIDEO_BY_TIME_DURATION: Int = 1
|
||||
const val RECORD_GOLD_PLUS_WATCH_REWARD_AD: Int = 2
|
||||
const val RECORD_GOLD_PLUS_TASK_NEWBIE: Int = 3
|
||||
const val RECORD_GOLD_PLUS_TASK_DAILY: Int = 3
|
||||
const val RECORD_GOLD_PLUS_TASK_BOX: Int = 3
|
||||
const val RECORD_GOLD_MINUS_CONVERT_2_CASH: Int = 4
|
||||
const val RECORD_GOLD_PLUS_NEWBIE_GIFT: Int = 3
|
||||
const val RECORD_GOLD_PLUS_TASK_ENABLE_NOTIFY: Int = 4
|
||||
const val RECORD_GOLD_PLUS_TASK_FIRST_WITHDRAW: Int = 5
|
||||
const val RECORD_GOLD_PLUS_TASK_JOIN_DISCORD: Int = 6
|
||||
const val RECORD_GOLD_PLUS_TASK_SIGN: Int = 7
|
||||
const val RECORD_GOLD_PLUS_TASK_DAILY_AD: Int = 8
|
||||
const val RECORD_GOLD_PLUS_TASK_DAILY_VIDEO: Int = 9
|
||||
const val RECORD_GOLD_MINUS_CONVERT_2_CASH: Int = 10
|
||||
|
||||
|
||||
|
||||
open class RecordGold {
|
||||
var uuid: String = ""
|
||||
var dateMs: Long = 0L
|
||||
open class RecordGold(var recordType: Int = 0, var amountNum: Long = 0) {
|
||||
var isSuccess: Boolean = false
|
||||
var amountNum: Long = 0
|
||||
var recordType: Int = 0
|
||||
var dateMs: Long = DateUtil.getCurTimeMs()
|
||||
var uuid: String = AndroidUtil.randomUUid()
|
||||
}
|
||||
|
||||
class RecordGoldShow: RecordGold() {
|
||||
|
|
@ -37,7 +41,7 @@ fun RecordGold.toShowBean(): RecordGoldShow {
|
|||
this@apply.recordType = this@toShowBean.recordType
|
||||
|
||||
when (this@apply.recordType) {
|
||||
RECORD_GOLD_PLUS_WATCH_VIDEO -> {
|
||||
RECORD_GOLD_PLUS_WATCH_VIDEO_BY_TIME_DURATION -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
|
|
@ -49,19 +53,43 @@ fun RecordGold.toShowBean(): RecordGoldShow {
|
|||
iconRes = R.mipmap.icon_ad
|
||||
}
|
||||
|
||||
RECORD_GOLD_PLUS_TASK_NEWBIE -> {
|
||||
RECORD_GOLD_PLUS_NEWBIE_GIFT -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
}
|
||||
|
||||
RECORD_GOLD_PLUS_TASK_DAILY -> {
|
||||
RECORD_GOLD_PLUS_TASK_ENABLE_NOTIFY -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
}
|
||||
|
||||
RECORD_GOLD_PLUS_TASK_BOX -> {
|
||||
RECORD_GOLD_PLUS_TASK_FIRST_WITHDRAW -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
}
|
||||
|
||||
RECORD_GOLD_PLUS_TASK_JOIN_DISCORD -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
}
|
||||
|
||||
RECORD_GOLD_PLUS_TASK_SIGN -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
}
|
||||
|
||||
RECORD_GOLD_PLUS_TASK_DAILY_AD -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
}
|
||||
|
||||
RECORD_GOLD_PLUS_TASK_DAILY_VIDEO -> {
|
||||
title = R.string.apply
|
||||
description = R.string.apply
|
||||
iconRes = R.mipmap.icon_ad
|
||||
|
|
|
|||
|
|
@ -10,7 +10,9 @@ import com.gamedog.vididin.VididinEvents
|
|||
import com.gamedog.vididin.beans.Account
|
||||
import com.gamedog.vididin.beans.BankInfo
|
||||
import com.gamedog.vididin.beans.RECORD_CASH_PLUS_GOLD_CONVERT
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_MINUS_CONVERT_2_CASH
|
||||
import com.gamedog.vididin.beans.RecordCash
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.manager.RecordsManager
|
||||
|
||||
object AccountManager {
|
||||
|
|
@ -54,13 +56,14 @@ object AccountManager {
|
|||
return mAccount.goldCount
|
||||
}
|
||||
|
||||
fun adjustGold(adjustNum: Long): Boolean {
|
||||
fun adjustGold(adjustNum: Long, recordBean: RecordGold): Boolean {
|
||||
if (adjustNum < 0L && Math.abs(adjustNum) > getGold()) {
|
||||
return false
|
||||
}
|
||||
mAccount.goldCount += adjustNum
|
||||
saveAccountInfo()
|
||||
NotifyMan.instance().sendEvent(VididinEvents.Event_Account_Gold_Changed, null)
|
||||
RecordsManager.instance().appendGoldRecord(recordBean)
|
||||
return true
|
||||
}
|
||||
|
||||
|
|
@ -131,7 +134,7 @@ object AccountManager {
|
|||
if (couldCovertCashTotal > 0) {
|
||||
val costGoldNum = couldCovertCashTotal * VidiConst.PER_01CASH_COST_GOLD_NUM
|
||||
if (getGold() >= costGoldNum) {
|
||||
adjustGold(-1L * costGoldNum.toInt())
|
||||
adjustGold(-1L * costGoldNum.toInt(), RecordGold(RECORD_GOLD_MINUS_CONVERT_2_CASH, -1L * costGoldNum.toInt()))
|
||||
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.")
|
||||
|
|
|
|||
|
|
@ -12,6 +12,9 @@ import com.ama.core.architecture.util.ResUtil.dp
|
|||
import com.ama.core.architecture.util.SpUtil
|
||||
import com.ama.core.architecture.util.setOnClickBatch
|
||||
import com.ama.core.architecture.widget.BindingDialog
|
||||
import com.gamedog.vididin.VidiConst
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_NEWBIE_GIFT
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.vididin.real.money.game.R
|
||||
import com.vididin.real.money.game.databinding.DialogBeginnerGiftBinding
|
||||
|
|
@ -48,7 +51,7 @@ class BeginnerGiftDialog(activity: Activity) : BindingDialog<DialogBeginnerGiftB
|
|||
(mActivity as MainActivity).switchTab(1)
|
||||
}
|
||||
if (!SpUtil.instance().getBoolean(SpUtil.KEY_GUIDE_HAS_GOT_NEWBIE_GOLD)) {
|
||||
AccountManager.adjustGold(100)
|
||||
AccountManager.adjustGold(VidiConst.NEWBIE_GIFT_GOLD_NUM, RecordGold(RECORD_GOLD_PLUS_NEWBIE_GIFT, VidiConst.NEWBIE_GIFT_GOLD_NUM))
|
||||
SpUtil.instance().putBoolean(SpUtil.KEY_GUIDE_HAS_GOT_NEWBIE_GOLD, true)
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -29,6 +29,9 @@ import com.ama.core.common.util.asSafe
|
|||
import com.ama.core.common.widget.PopMenuIconView
|
||||
import com.gamedog.vididin.VidiConst
|
||||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_NEWBIE_GIFT
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_WATCH_VIDEO_BY_TIME_DURATION
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.gamedog.vididin.main.WatchAdDialog
|
||||
import com.gamedog.vididin.main.fragments.home.HomeFragmentStateAdapter
|
||||
|
|
@ -186,7 +189,8 @@ class HomeFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnSwit
|
|||
} else {
|
||||
mTotalMs = 0L
|
||||
binding?.dragIconView?.setProgress(mTotalMs * 100/ RewardConst.HOME_WATCH_DURATION)
|
||||
AccountManager.adjustGold(RewardConst.HOME_WATCH_REWARD_NUM.toLong())
|
||||
val goldNum = RewardConst.HOME_WATCH_REWARD_NUM.toLong()
|
||||
AccountManager.adjustGold(goldNum, RecordGold(RECORD_GOLD_PLUS_WATCH_VIDEO_BY_TIME_DURATION, goldNum))
|
||||
binding?.dragIconView?.showRewardGoldAnim()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -439,7 +439,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
}
|
||||
}
|
||||
STATE_FINISH -> {
|
||||
if (TaskManager.instance().dailyWatchVideoStatus().claimSubTaskReward(itemIndex)) {
|
||||
if (TaskManager.instance().dailyWatchVideoStatus().claimSubTaskReward(itemIndex, false)) {
|
||||
DailySignSuccessDialog(requireActivity()).initData(subTaskState.mRewardNum, false).show()
|
||||
}
|
||||
}
|
||||
|
|
@ -456,7 +456,7 @@ class TasksFragment : AppViewsFragment<ViewBinding, UiState, ViewModel>(), OnTab
|
|||
WatchAdDialog(requireActivity(), VidiConst.WATCH_AD_FOR_DAILY_WATCH_AD, null).show()
|
||||
}
|
||||
STATE_FINISH -> {
|
||||
if (TaskManager.instance().dailyWatchAdStatus().claimSubTaskReward(itemIndex)) {
|
||||
if (TaskManager.instance().dailyWatchAdStatus().claimSubTaskReward(itemIndex, true)) {
|
||||
DailySignSuccessDialog(requireActivity()).initData(subTaskState.mRewardNum, false).show()
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,6 +5,9 @@ import com.ama.core.architecture.util.FileUtil
|
|||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.gamedog.vididin.VidiConst
|
||||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_WATCH_REWARD_AD
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_WATCH_VIDEO_BY_TIME_DURATION
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.gamedog.vididin.main.fragments.task.BoxTaskRoot
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
|
|
@ -16,6 +19,7 @@ import com.gamedog.vididin.manager.helpers.DailyWatchVideoTaskHelper
|
|||
import com.gamedog.vididin.manager.helpers.NewbieEnableNotifyHelper
|
||||
import com.gamedog.vididin.manager.helpers.NewbieFirstWithdrawHelper
|
||||
import com.gamedog.vididin.manager.helpers.NewbieJoinDiscordHelper
|
||||
import com.gamedog.vididin.youtubestatistic.RewardConst
|
||||
import com.google.gson.GsonBuilder
|
||||
import kotlinx.coroutines.sync.Mutex
|
||||
import kotlinx.coroutines.sync.withLock
|
||||
|
|
@ -109,7 +113,8 @@ class TaskManager private constructor() {
|
|||
}
|
||||
|
||||
VididinEvents.EVENT_AD_WATCHED_FOR_EARN_GOLD -> {
|
||||
AccountManager.adjustGold(VidiConst.WATCH_AD_REWARD_GOLD.toLong())
|
||||
val goldNum = VidiConst.WATCH_AD_REWARD_GOLD.toLong()
|
||||
AccountManager.adjustGold(goldNum, RecordGold(RECORD_GOLD_PLUS_WATCH_REWARD_AD, goldNum))
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,9 @@
|
|||
package com.gamedog.vididin.manager.helpers
|
||||
|
||||
import com.ama.core.architecture.util.DateUtil
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_DAILY_AD
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_DAILY_VIDEO
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
import com.gamedog.vididin.manager.taskbeans.BaseDailyTaskState
|
||||
|
|
@ -17,12 +20,15 @@ abstract class BaseDailyTaskHelper<T : BaseDailyTaskState> : BaseTaskHelper<T, T
|
|||
abstract protected fun notifyEvents()
|
||||
abstract protected fun generateTodayTask()
|
||||
|
||||
fun claimSubTaskReward(subTaskIndex: Int) : Boolean {
|
||||
fun claimSubTaskReward(subTaskIndex: Int, isEarnGoldByAd: Boolean) : Boolean {
|
||||
if (subTaskIndex >= 0 && subTaskIndex < mStateBean.getSubTaskRewardState().size) {
|
||||
try {
|
||||
val subTask = mStateBean.getSubTaskRewardState()[subTaskIndex]
|
||||
if (subTask.state == STATE_FINISH) {
|
||||
AccountManager.adjustGold(subTask.mRewardNum.toLong())
|
||||
val goldNum = subTask.mRewardNum.toLong()
|
||||
AccountManager.adjustGold(goldNum, RecordGold(
|
||||
if (isEarnGoldByAd) RECORD_GOLD_PLUS_TASK_DAILY_AD else RECORD_GOLD_PLUS_TASK_DAILY_VIDEO, goldNum))
|
||||
|
||||
subTask.state = STATE_CLAIMED
|
||||
saveState2Sp()
|
||||
notifyEvents()
|
||||
|
|
|
|||
|
|
@ -3,7 +3,11 @@ package com.gamedog.vididin.manager.helpers
|
|||
import com.ama.core.architecture.util.DateUtil
|
||||
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_GOLD_PLUS_TASK_SIGN
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_WATCH_REWARD_AD
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
import com.gamedog.vididin.manager.taskbeans.TaskDailySignBean
|
||||
|
|
@ -58,7 +62,8 @@ class DailySignTaskHelper : BaseTaskHelper<TaskDailySignBean, Task>() {
|
|||
daySignState.hasSigned = true
|
||||
daySignState.hasWatchedAd = isByAd
|
||||
saveState2Sp()
|
||||
AccountManager.adjustGold(finalReward.toLong())
|
||||
val goldNum = finalReward.toLong()
|
||||
AccountManager.adjustGold(goldNum, RecordGold(RECORD_GOLD_PLUS_TASK_SIGN, goldNum))
|
||||
notifySignStateChanged(Pair(dayIndex, daySignState))
|
||||
return true
|
||||
}
|
||||
|
|
|
|||
|
|
@ -4,6 +4,9 @@ package com.gamedog.vididin.manager.helpers
|
|||
import com.ama.core.architecture.util.SpUtil
|
||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_ENABLE_NOTIFY
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_SIGN
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
import com.gamedog.vididin.manager.taskbeans.TaskStateNewBieEnableNotify
|
||||
|
|
@ -29,7 +32,8 @@ class NewbieEnableNotifyHelper: BaseTaskHelper<TaskStateNewBieEnableNotify, Task
|
|||
|
||||
fun claimReward() : Boolean {
|
||||
if (!mStateBean.hasClaimReward) {
|
||||
AccountManager.adjustGold(mStateBean.rewardGoldNum.toLong())
|
||||
val goldNum = mStateBean.rewardGoldNum.toLong()
|
||||
AccountManager.adjustGold(goldNum, RecordGold(RECORD_GOLD_PLUS_TASK_ENABLE_NOTIFY, goldNum))
|
||||
mStateBean.hasClaimReward = true
|
||||
saveState2Sp()
|
||||
notifyStateChangeEvent()
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@ package com.gamedog.vididin.manager.helpers
|
|||
import com.ama.core.architecture.util.SpUtil
|
||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_ENABLE_NOTIFY
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_FIRST_WITHDRAW
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
import com.gamedog.vididin.manager.taskbeans.TaskStateNewBieFirstWithDraw
|
||||
|
|
@ -27,7 +30,8 @@ class NewbieFirstWithdrawHelper: BaseTaskHelper<TaskStateNewBieFirstWithDraw, Ta
|
|||
|
||||
fun claimReward(): Boolean {
|
||||
if (!mStateBean.hasClaimReward) {
|
||||
AccountManager.adjustGold(mStateBean.rewardGoldNum.toLong())
|
||||
val goldNum = mStateBean.rewardGoldNum.toLong()
|
||||
AccountManager.adjustGold(goldNum, RecordGold(RECORD_GOLD_PLUS_TASK_FIRST_WITHDRAW, goldNum))
|
||||
mStateBean.hasClaimReward = true
|
||||
saveState2Sp()
|
||||
notifyStateChangeEvent()
|
||||
|
|
|
|||
|
|
@ -3,6 +3,9 @@ package com.gamedog.vididin.manager.helpers
|
|||
import com.ama.core.architecture.util.SpUtil
|
||||
import com.ama.core.architecture.util.eventbus.NotifyMan
|
||||
import com.gamedog.vididin.VididinEvents
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_FIRST_WITHDRAW
|
||||
import com.gamedog.vididin.beans.RECORD_GOLD_PLUS_TASK_JOIN_DISCORD
|
||||
import com.gamedog.vididin.beans.RecordGold
|
||||
import com.gamedog.vididin.core.login.login.AccountManager
|
||||
import com.gamedog.vididin.main.fragments.task.Task
|
||||
import com.gamedog.vididin.manager.taskbeans.TaskStateNewBieJoinDiscord
|
||||
|
|
@ -27,7 +30,8 @@ class NewbieJoinDiscordHelper: BaseTaskHelper<TaskStateNewBieJoinDiscord, Task>(
|
|||
|
||||
fun claimReward() : Boolean {
|
||||
if (!mStateBean.hasClaimReward) {
|
||||
AccountManager.adjustGold(mStateBean.rewardGoldNum.toLong())
|
||||
val goldNum = mStateBean.rewardGoldNum.toLong()
|
||||
AccountManager.adjustGold(goldNum, RecordGold(RECORD_GOLD_PLUS_TASK_JOIN_DISCORD, goldNum))
|
||||
mStateBean.hasClaimReward = true
|
||||
saveState2Sp()
|
||||
notifyStateChangeEvent()
|
||||
|
|
|
|||
Loading…
Reference in New Issue