diff --git a/application/api/model/Tasks.php b/application/api/model/Tasks.php index df78fa02..6836c1f6 100644 --- a/application/api/model/Tasks.php +++ b/application/api/model/Tasks.php @@ -116,18 +116,20 @@ class Tasks extends Model $v['is_time'] = 0; //奖励详情 $v['reward_str'] = ""; - $reward_info = db::name('vs_gift_bag_detail')->where('gift_bag_id',$v['tasks_bag_id'])->select(); - foreach ($reward_info as $key => $value) { - if($value['type'] == 1){ - $reward_name = $value['quantity'].$value['name']; - }elseif($value['type'] == 2){ - $reward_name = $value['name'].'x'.$value['quantity']; - }elseif($value['type'] == 3){ - $reward_name = $value['name'].'x'.$value['days'].'天'; - }else{ - $reward_name = $value['quantity'].$value['name']; + if($v['task_id'] != 1){ + $reward_info = db::name('vs_gift_bag_detail')->where('gift_bag_id',$v['tasks_bag_id'])->select(); + foreach ($reward_info as $key => $value) { + if($value['type'] == 1){ + $reward_name = $value['quantity'].$value['name']; + }elseif($value['type'] == 2){ + $reward_name = $value['name'].'x'.$value['quantity']; + }elseif($value['type'] == 3){ + $reward_name = $value['name'].'x'.$value['days'].'天'; + }else{ + $reward_name = $value['quantity'].$value['name']; + } + $v['reward_str'] =$v['reward_str'].$reward_name." "; } - $v['reward_str'] =$v['reward_str'].$reward_name." "; } if($v['task_type'] == 2){ //今日完成进度 @@ -188,7 +190,8 @@ class Tasks extends Model $i++; } } - }elseif($v['task_id'] == 24){ + } + if($v['task_id'] == 24){ //师徒任务 //师傅签约返还 $user_sign_task = Db::name('vs_user_sign_task')->where(['user_id'=>$user_id,'day'=>date('Y-m-d')])->find(); @@ -203,29 +206,25 @@ class Tasks extends Model }else{ $progress = $user_sign_task['times']-1 ?? 0; } - }elseif($v['task_id'] == 26){ + } + if(in_array($v['task_id'],[26,27,28,29,30,31,32])){ + $user_couple_times =[26=>1,27=>2,28=>3,29=>4,30=>5,31=>6,32=>7]; //情侣任务 - $user_couple_task = Db::name('vs_user_cp_task')->where(['user_id'=>$user_id,'day'=>date('Y-m-d')])->find(); - } - $progress = isset($user_daily_tasks['current_progress']) ? $user_daily_tasks['current_progress'] : 0; - $v['is_time'] = 0; - $quantity_str = ""; - if($v['target_quantity']!=1){ - $quantity_str= "({$progress}/{$v['target_quantity']})"; - } - $v['task_name'] = $v['task_name'].$quantity_str; - //处理状态 - $v['task_status'] = 1; - $v['task_type_str'] = "去完成"; - if(isset($user_daily_tasks['is_completed']) && $user_daily_tasks['is_completed'] ==1){ //已完成 - $v['task_status'] = 2; - $v['task_type_str'] = "领取奖励"; - } - if(isset($user_daily_tasks['is_claimed']) && $user_daily_tasks['is_claimed'] ==1){ //已完成 - $v['task_status'] = 3; - $v['task_type_str'] = "已领取"; - } - if($v['task_id']==1){//每日签到处理 + $user_couple_task = Db::name('vs_user_cp_task')->where(['user_id'=>$user_id,'times'=>$user_couple_times[$v['task_id']]])->find(); + if(empty($user_couple_task)){ + continue; + } + if($user_couple_task['status'] ==0 && $user_couple_task['day']==date('Y-m-d')){ + $v['task_status'] = 1; + $v['task_type_str'] = "待完成"; + }elseif($user_couple_task['status'] ==1){ + $v['task_status'] = 2; + $v['task_type_str'] = "领取奖励"; + }else{ + $v['task_status'] = 3; + $v['task_type_str'] = "已领取"; + } + }elseif($v['task_id']==1){//每日签到处理 $sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d'),'delete_time'=>0])->find(); if ($sign_in_info) { $v['task_status'] =3; @@ -234,7 +233,27 @@ class Tasks extends Model $v['task_status'] = 1; $v['task_type_str'] = "去签到"; } + }else{ + //处理状态 + $v['task_status'] = 1; + $v['task_type_str'] = "去完成"; + if(isset($user_daily_tasks['is_completed']) && $user_daily_tasks['is_completed'] ==1){ //已完成 + $v['task_status'] = 2; + $v['task_type_str'] = "领取奖励"; + } + if(isset($user_daily_tasks['is_claimed']) && $user_daily_tasks['is_claimed'] ==1){ //已完成 + $v['task_status'] = 3; + $v['task_type_str'] = "已领取"; + } } + if($v['task_id'] != 24) { + $progress = isset($user_daily_tasks['current_progress']) ? $user_daily_tasks['current_progress'] : 0; + } + $quantity_str = ""; + if($v['target_quantity']!=1){ + $quantity_str= "({$progress}/{$v['target_quantity']})"; + } + $v['task_name'] = $v['task_name'].$quantity_str; $v['jump_type_str'] = $this->jump_type[$v['jump_type']]; //返回任务列表 if($v['task_type']!=4){ @@ -371,6 +390,22 @@ class Tasks extends Model }else{ return ['code' => 0, 'msg' => '任务不存在','data' => null]; } + }elseif(in_array($task_id,[26,27,28,29,30,31,32])){ + $user_couple_times =[26=>1,27=>2,28=>3,29=>4,30=>5,31=>6,32=>7]; + //情侣任务 + $user_couple_task = Db::name('vs_user_cp_task')->where(['user_id'=>$user_id,'times'=>$user_couple_times[$task_id]])->find(); + if (!$user_couple_task) { + return ['code' => 0, 'msg' => '任务不存在或已结束','data' => null]; + } + if ($user_couple_task['status'] == 2) { + return ['code' => 0, 'msg' => '您已领取该奖励','data' => null]; + } + if ($user_couple_task['status'] == 0) { + return ['code' => 0, 'msg' => '请先去完成该任务再领取','data' => null]; + } + if($user_couple_task['day'] != date('Y-m-d')){ + return ['code' => 0, 'msg' => '已过期或未到领取时间','data' => null]; + } }else{ if($task_info['task_type']==2){ $user_daily_tasks = Db::name('vs_tasks_user_daily')->where('user_id',$user_id)->where('task_id',$task_id)->whereTime('createtime', 'today')->find(); @@ -398,15 +433,19 @@ class Tasks extends Model Db::rollback(); return ['code' => 0, 'msg' => '操作失败', 'data' => null]; } - }elseif(in_array($task_id,[21,22,23])){ - $reslut = Db::name('vs_tasks_student')->where('id',$task_student['id'])->update([ + }elseif(in_array($task_id,[21,22,23])) { + $reslut = Db::name('vs_tasks_student')->where('id', $task_student['id'])->update([ + 'status' => 2, + 'updatetime' => time(), + ]); + }elseif(in_array($task_id,[26,27,28,29,30,31,32])){ + $reslut = Db::name('vs_user_cp_task')->where(['id'=>$user_couple_task['id']])->update([ 'status' => 2, 'updatetime' => time(), ]); } else{ $reslut = Db::name('vs_tasks_user_daily')->where('id',$user_daily_tasks['id'])->update([ 'is_claimed' => 1, - 'updatetime' => time(), ]); if (!$reslut) { Db::rollback();