From e93d76f316c4050965bb43b925251134711ca9c7 Mon Sep 17 00:00:00 2001 From: renhaoting <370797079@qq.com> Date: Wed, 3 Dec 2025 11:58:36 +0800 Subject: [PATCH] =?UTF-8?q?=E5=AE=9D=E7=AE=B1taskState=20=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/src/main/assets/taskConfig.json | 33 ++++++++++++------- .../vididin/{Constants.kt => VidiConst.kt} | 0 .../task/{TaskBean.kt => TaskConfigRoot.kt} | 3 +- .../gamedog/vididin/manager/TaskManager.kt | 21 ++++++++++++ .../vididin/manager/helpers/DailyBoxHelper.kt | 6 ++-- .../vididin/manager/taskbeans/TaskStateBox.kt | 17 ---------- .../manager/taskbeans/TaskStateBoxRoot.kt | 31 +++++++++++++++++ .../com/ama/core/architecture/util/SpUtil.kt | 2 +- 8 files changed, 79 insertions(+), 34 deletions(-) rename app/src/main/java/com/gamedog/vididin/{Constants.kt => VidiConst.kt} (100%) rename app/src/main/java/com/gamedog/vididin/main/fragments/task/{TaskBean.kt => TaskConfigRoot.kt} (97%) delete mode 100644 app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBox.kt create mode 100644 app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt diff --git a/app/src/main/assets/taskConfig.json b/app/src/main/assets/taskConfig.json index 8e85061..cd27120 100644 --- a/app/src/main/assets/taskConfig.json +++ b/app/src/main/assets/taskConfig.json @@ -201,24 +201,27 @@ "chest_desc": "完成福利宝箱1的全部任务后,获得R$0.1现金奖励", "duration_days": 3, "reward_type": "货币", - "reward_value": "R$0.1", + "reward_value": 0.1, "is_one_time": true, "status": "active", "tasks": [ { "task_id": "chest1_task1", "task_name": "观看1个广告", - "required_count": 1 + "required_count": 1, + "task_type": 1 }, { "task_id": "chest1_task2", "task_name": "观看3个视频", - "required_count": 2 + "required_count": 2, + "task_type": 2 }, { "task_id": "chest1_task3", "task_name": "完成1次签到", - "required_count": 1 + "required_count": 1, + "task_type": 3 } ] }, @@ -228,24 +231,27 @@ "chest_desc": "完成福利宝箱2的全部任务后,获得R$1现金奖励", "duration_days": 3, "reward_type": "货币", - "reward_value": "R$1", + "reward_value": 1, "is_one_time": true, "status": "locked", "tasks": [ { "task_id": "chest2_task1", "task_name": "观看15个广告", - "required_count": 15 + "required_count": 15, + "task_type": 1 }, { "task_id": "chest2_task2", "task_name": "观看30个视频", - "required_count": 30 + "required_count": 30, + "task_type": 2 }, { "task_id": "chest2_task3", "task_name": "参与1次0元购", - "required_count": 1 + "required_count": 1, + "task_type": 4 } ] }, @@ -255,24 +261,27 @@ "chest_desc": "完成福利宝箱3的全部任务后,获得R$2现金奖励", "duration_days": 3, "reward_type": "货币", - "reward_value": "R$2", + "reward_value": 2, "is_one_time": true, "status": "locked", "tasks": [ { "task_id": "chest3_task1", "task_name": "观看30个广告", - "required_count": 30 + "required_count": 30, + "task_type": 1 }, { "task_id": "chest3_task2", "task_name": "观看50个视频", - "required_count": 50 + "required_count": 50, + "task_type": 2 }, { "task_id": "chest3_task3", "task_name": "参与10次0元购", - "required_count": 10 + "required_count": 10, + "task_type": 4 } ] } diff --git a/app/src/main/java/com/gamedog/vididin/Constants.kt b/app/src/main/java/com/gamedog/vididin/VidiConst.kt similarity index 100% rename from app/src/main/java/com/gamedog/vididin/Constants.kt rename to app/src/main/java/com/gamedog/vididin/VidiConst.kt diff --git a/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskBean.kt b/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskConfigRoot.kt similarity index 97% rename from app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskBean.kt rename to app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskConfigRoot.kt index d0cc8ec..d74763f 100644 --- a/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskBean.kt +++ b/app/src/main/java/com/gamedog/vididin/main/fragments/task/TaskConfigRoot.kt @@ -63,6 +63,7 @@ data class BoxSubTask( val task_id: String, val task_name: String, val required_count: Int, + val task_type: Int, ) data class BoxTask( @@ -70,7 +71,7 @@ data class BoxTask( val chest_name: String, val duration_days: Int, val reward_type: String, - val reward_value: String, + val reward_value: Float, val is_one_time: Boolean, val status: String, val tasks: List, diff --git a/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt b/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt index dbaf1c5..26af8e3 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/TaskManager.kt @@ -35,6 +35,27 @@ class TaskManager private constructor() { private const val TAG_TASK_DAILY_VIDEO = "daily_video_ladder" private const val TAG_TASK_DAILY_AD = "daily_ad_ladder" + + + + + + // 宝箱子任务类型对应 + const val BOX_SUB_TASK_TYPE_AD = 1 + const val BOX_SUB_TASK_TYPE_VIDEO = 2 + const val BOX_SUB_TASK_TYPE_SIGN = 3 + const val BOX_SUB_TASK_TYPE_ZERO_BUY = 4 + + + + + + + + + + + @Volatile private var instance: TaskManager? = null diff --git a/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyBoxHelper.kt b/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyBoxHelper.kt index e8c85f4..7989a43 100644 --- a/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyBoxHelper.kt +++ b/app/src/main/java/com/gamedog/vididin/manager/helpers/DailyBoxHelper.kt @@ -1,11 +1,11 @@ package com.gamedog.vididin.manager.helpers import com.ama.core.architecture.util.SpUtil -import com.gamedog.vididin.manager.taskbeans.TaskStateBox +import com.gamedog.vididin.manager.taskbeans.TaskStateBoxRoot -class DailyBoxHelper: BaseTaskHelper() { +class DailyBoxHelper: BaseTaskHelper() { - override val mSpKey = SpUtil.KEY_ACCOUNT + override val mSpKey = SpUtil.KEY_TASK_BOX override fun loadTaskFromSp() { diff --git a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBox.kt b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBox.kt deleted file mode 100644 index 5a791ab..0000000 --- a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBox.kt +++ /dev/null @@ -1,17 +0,0 @@ -package com.gamedog.vididin.manager.taskbeans - -import java.io.Serializable - - - - -data class TaskStateBox( - var box: Long = 0, - var watchedVideoNum: Int = 0, -): Serializable { - -} - - - - diff --git a/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt new file mode 100644 index 0000000..2b97292 --- /dev/null +++ b/app/src/main/java/com/gamedog/vididin/manager/taskbeans/TaskStateBoxRoot.kt @@ -0,0 +1,31 @@ +package com.gamedog.vididin.manager.taskbeans + +import java.io.Serializable + + + + +data class TaskStateBoxRoot( + val startMs: Long = 0, + val tasks: List +): Serializable + +data class TaskStateBox( + val chest_id: String, + val chest_name: String, + val duration_days: Int, + val reward_type: String, + val reward_value: Float, + val is_one_time: Boolean, + val status: String, + val tasks: List +): Serializable + +data class TaskStateBoxSub( + val task_id: String, + val task_name: String, + val required_count: Int, + val task_type: Int, // This added by self for decide which task should be execute, detail see: #TaskManager.companion +): Serializable + + diff --git a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt index 9908a9e..ad8d064 100644 --- a/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt +++ b/core/architecture/src/main/java/com/ama/core/architecture/util/SpUtil.kt @@ -24,7 +24,7 @@ class SpUtil private constructor(spFileName: String) { const val KEY_DAILY_SIGN = "KEY_DAILY_SIGN" const val KEY_DAILY_WATCH_VIDEO = "KEY_DAILY_WATCH_VIDEO" const val KEY_DAILY_WATCH_AD_FOR_GOLD = "KEY_DAILY_WATCH_AD_FOR_GOLD" - const val KEY_DAILY_BOX = "KEY_DAILY_BOX" + const val KEY_TASK_BOX = "KEY_TASK_BOX" const val KEY_NEWBIE_FIRST_WITHDRAW = "KEY_NEWBIE_FIRST_WITHDRAW" const val KEY_NEWBIE_ENABLE_NOTIFY = "KEY_NEWBIE_ENABLE_NOTIFY"