|
@@ -252,6 +252,7 @@ class TaskService extends BaseService
|
|
|
RedisService::set("caches:task:temp_{$userId}_{$scene}_{$sourceId}", ['datas'=>$taskList,'date'=>date('Y-m-d H:i:s')], 600);
|
|
|
if($taskList){
|
|
|
$hasDay = false;
|
|
|
+ $completeIds = [];
|
|
|
foreach ($taskList as $item){
|
|
|
$item['status'] = 1;
|
|
|
$taskId = isset($item['id'])? $item['id'] : 0;
|
|
@@ -284,17 +285,24 @@ class TaskService extends BaseService
|
|
|
// 新手任务奖励
|
|
|
if($type == 2 && $item['status'] == 2) {
|
|
|
FinanceService::make()->settleTaskPower($userId, $power, $taskId, "完成{$taskName}任务奖励");
|
|
|
+ $completeIds[] = $taskId;
|
|
|
}else if($type == 1 && $item['status'] == 2){
|
|
|
$hasDay = true;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ // 更新完成
|
|
|
+ if($completeIds){
|
|
|
+ TaskLogModel::whereIn('task_id',$completeIds)->update(['is_complete'=>1,'update_time'=>time()]);
|
|
|
+ }
|
|
|
+
|
|
|
// 当前有每日任务,处理
|
|
|
if($hasDay){
|
|
|
$dayTaskList = $this->getTaskByType(1);
|
|
|
if($dayTaskList){
|
|
|
$power = 0;
|
|
|
$completeCount = 0;
|
|
|
+ $ids[] = [];
|
|
|
foreach ($dayTaskList as $item){
|
|
|
$taskId = isset($item['id'])? $item['id'] : 0;
|
|
|
$type = isset($item['type'])? $item['type'] : 1;
|
|
@@ -304,6 +312,7 @@ class TaskService extends BaseService
|
|
|
// 次数
|
|
|
if($item['check_type'] == 1 && $num<=$logNum){
|
|
|
$completeCount++;
|
|
|
+ $completeIds[] = $taskId;
|
|
|
}
|
|
|
// 时长
|
|
|
else if($item['check_type'] == 2 && $logNum>0){
|
|
@@ -313,11 +322,18 @@ class TaskService extends BaseService
|
|
|
if($power<=0){
|
|
|
$power = isset($item['power'])? $item['power'] : 0;
|
|
|
}
|
|
|
+
|
|
|
+ $ids[] = $taskId;
|
|
|
}
|
|
|
|
|
|
// 所有任务完成
|
|
|
if($completeCount == count($dayTaskList)){
|
|
|
FinanceService::make()->settleTaskPower($userId, $power, 0, "完成每日任务奖励");
|
|
|
+
|
|
|
+ // 今日任务更新完成
|
|
|
+ if($ids){
|
|
|
+ TaskLogModel::whereIn('task_id',$ids)->where('date','>=',date('Y-m-d'))->update(['is_complete'=>1,'update_time'=>time()]);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|