|
@@ -565,15 +565,11 @@ class ActivityController extends Controller
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
$stage3_task1_status = 0; // 不能领取
|
|
$stage3_task1_status = 0; // 不能领取
|
|
|
- $stage3_task2_status = 0; // 不能领取
|
|
|
|
|
if ($taskData['stage2_completed']) { // 阶段3需要阶段2完成才能解锁
|
|
if ($taskData['stage2_completed']) { // 阶段3需要阶段2完成才能解锁
|
|
|
// 循环任务:基于累计下注判断是否可领取(不使用已领取状态)
|
|
// 循环任务:基于累计下注判断是否可领取(不使用已领取状态)
|
|
|
if (($taskData['stage3_current_bet'] ?? 0) >= 6000) {
|
|
if (($taskData['stage3_current_bet'] ?? 0) >= 6000) {
|
|
|
$stage3_task1_status = 1; // 待领取
|
|
$stage3_task1_status = 1; // 待领取
|
|
|
}
|
|
}
|
|
|
- if (($taskData['stage3_current_bet'] ?? 0) >= 12000) {
|
|
|
|
|
- $stage3_task2_status = 1; // 待领取
|
|
|
|
|
- }
|
|
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
// 构建阶段1任务列表
|
|
// 构建阶段1任务列表
|
|
@@ -652,11 +648,11 @@ class ActivityController extends Controller
|
|
|
'unlocked' => $taskData['stage2_completed'],
|
|
'unlocked' => $taskData['stage2_completed'],
|
|
|
'is_loop' => true,
|
|
'is_loop' => true,
|
|
|
'current_loop' => $taskData['stage3_loop_count'],
|
|
'current_loop' => $taskData['stage3_loop_count'],
|
|
|
- 'tasks' => array_map(function($taskCfg) use ($taskData, $stage3_task1_status, $stage3_task2_status) {
|
|
|
|
|
|
|
+ 'tasks' => array_map(function($taskCfg) use ($taskData, $stage3_task1_status) {
|
|
|
$taskKey = $taskCfg['id'];
|
|
$taskKey = $taskCfg['id'];
|
|
|
$progressKey = $taskCfg['progress_key'];
|
|
$progressKey = $taskCfg['progress_key'];
|
|
|
$completed = $taskData[$taskKey] ?? false;
|
|
$completed = $taskData[$taskKey] ?? false;
|
|
|
- $rewardStatus = $taskKey === 'stage3_task1' ? $stage3_task1_status : $stage3_task2_status;
|
|
|
|
|
|
|
+ $rewardStatus = $taskKey === 'stage3_task1' ? $stage3_task1_status : 0;
|
|
|
|
|
|
|
|
return [
|
|
return [
|
|
|
'id' => $taskCfg['id'],
|
|
'id' => $taskCfg['id'],
|
|
@@ -737,6 +733,7 @@ class ActivityController extends Controller
|
|
|
}
|
|
}
|
|
|
// 阶段3
|
|
// 阶段3
|
|
|
elseif ($stage === 3) {
|
|
elseif ($stage === 3) {
|
|
|
|
|
+ $taskId = 'stage3_task1';
|
|
|
if ($taskId === 'stage3_task1') {
|
|
if ($taskId === 'stage3_task1') {
|
|
|
// 每满600可领取20,领取后扣除600下注进度
|
|
// 每满600可领取20,领取后扣除600下注进度
|
|
|
if (($taskData['stage3_current_bet'] ?? 0) < 6000) {
|
|
if (($taskData['stage3_current_bet'] ?? 0) < 6000) {
|
|
@@ -745,17 +742,9 @@ class ActivityController extends Controller
|
|
|
}
|
|
}
|
|
|
$rewardAmount = 20;
|
|
$rewardAmount = 20;
|
|
|
$this->updateTaskProgress($userId, 'stage3_current_bet', max(0, ($taskData['stage3_current_bet'] - 6000)));
|
|
$this->updateTaskProgress($userId, 'stage3_current_bet', max(0, ($taskData['stage3_current_bet'] - 6000)));
|
|
|
- }
|
|
|
|
|
- elseif ($taskId === 'stage3_task2') {
|
|
|
|
|
- // 每满1200可领取40,领取后扣除1200下注进度
|
|
|
|
|
- if (($taskData['stage3_current_bet'] ?? 0) < 12000) {
|
|
|
|
|
- Redis::del($redisLockKey);
|
|
|
|
|
- return apiReturnFail(['web.vip_task.task_not_completed', __('messages.web.vip_task.task_not_completed')]); // 任务未完成
|
|
|
|
|
-
|
|
|
|
|
-// return apiReturnFail('任务未完成');
|
|
|
|
|
- }
|
|
|
|
|
- $rewardAmount = 40;
|
|
|
|
|
- $this->updateTaskProgress($userId, 'stage3_current_bet', max(0, ($taskData['stage3_current_bet'] - 12000)));
|
|
|
|
|
|
|
+ } else {
|
|
|
|
|
+ Redis::del($redisLockKey);
|
|
|
|
|
+ return apiReturnFail(['web.vip_task.invalid_task', __('messages.web.vip_task.invalid_task')]); // 无效的任务
|
|
|
}
|
|
}
|
|
|
} else {
|
|
} else {
|
|
|
Redis::del($redisLockKey);
|
|
Redis::del($redisLockKey);
|
|
@@ -970,14 +959,6 @@ class ActivityController extends Controller
|
|
|
'target' => 6000,
|
|
'target' => 6000,
|
|
|
'reward' => 20,
|
|
'reward' => 20,
|
|
|
'progress_key' => 'stage3_current_bet'
|
|
'progress_key' => 'stage3_current_bet'
|
|
|
- ],
|
|
|
|
|
- [
|
|
|
|
|
- 'id' => 'stage3_task2',
|
|
|
|
|
- 'title' => 'Bet amount reaches 12000',
|
|
|
|
|
- 'type' => 'bet_amount',
|
|
|
|
|
- 'target' => 12000,
|
|
|
|
|
- 'reward' => 40,
|
|
|
|
|
- 'progress_key' => 'stage3_current_bet'
|
|
|
|
|
]
|
|
]
|
|
|
]
|
|
]
|
|
|
]
|
|
]
|
|
@@ -1006,9 +987,7 @@ class ActivityController extends Controller
|
|
|
|
|
|
|
|
// 阶段3任务(循环)
|
|
// 阶段3任务(循环)
|
|
|
'stage3_task1' => false,
|
|
'stage3_task1' => false,
|
|
|
- 'stage3_task2' => false,
|
|
|
|
|
'stage3_task1_withdrawn' => false,
|
|
'stage3_task1_withdrawn' => false,
|
|
|
- 'stage3_task2_withdrawn' => false,
|
|
|
|
|
'stage3_loop_count' => 0,
|
|
'stage3_loop_count' => 0,
|
|
|
'stage3_current_bet' => 0,
|
|
'stage3_current_bet' => 0,
|
|
|
'stage3_available_amount' => 0,
|
|
'stage3_available_amount' => 0,
|
|
@@ -1137,7 +1116,6 @@ class ActivityController extends Controller
|
|
|
// 阶段3任务检查(循环):基于累计下注,不使用时间周期
|
|
// 阶段3任务检查(循环):基于累计下注,不使用时间周期
|
|
|
if ($taskData['stage2_completed']) {
|
|
if ($taskData['stage2_completed']) {
|
|
|
$taskData['stage3_task1'] = ($taskData['stage3_current_bet'] ?? 0) >= 6000;
|
|
$taskData['stage3_task1'] = ($taskData['stage3_current_bet'] ?? 0) >= 6000;
|
|
|
- $taskData['stage3_task2'] = ($taskData['stage3_current_bet'] ?? 0) >= 12000;
|
|
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -1172,9 +1150,7 @@ class ActivityController extends Controller
|
|
|
if ($data) {
|
|
if ($data) {
|
|
|
$taskData = json_decode($data, true);
|
|
$taskData = json_decode($data, true);
|
|
|
$taskData['stage3_task1'] = false;
|
|
$taskData['stage3_task1'] = false;
|
|
|
- $taskData['stage3_task2'] = false;
|
|
|
|
|
$taskData['stage3_task1_withdrawn'] = false;
|
|
$taskData['stage3_task1_withdrawn'] = false;
|
|
|
- $taskData['stage3_task2_withdrawn'] = false;
|
|
|
|
|
$taskData['stage3_current_bet'] = 0;
|
|
$taskData['stage3_current_bet'] = 0;
|
|
|
$taskData['stage3_cycle_start'] = (int)date('Ymd');
|
|
$taskData['stage3_cycle_start'] = (int)date('Ymd');
|
|
|
$taskData['stage3_loop_count'] = ($taskData['stage3_loop_count'] ?? 0) + 1;
|
|
$taskData['stage3_loop_count'] = ($taskData['stage3_loop_count'] ?? 0) + 1;
|