diff --git a/application/api/model/Tasks.php b/application/api/model/Tasks.php index d94aa9bc..d04144c9 100644 --- a/application/api/model/Tasks.php +++ b/application/api/model/Tasks.php @@ -803,21 +803,34 @@ class Tasks extends Model //未完成任务数量 public function daily_tasks_unfinished_count($user_id){ - $task_ids = Db::name('vs_tasks')->where('delete_time',0)->where(['is_active'=>1,'id'=>['<>',1]])->select(); + $task_ids = Db::name('vs_tasks')->field('id as task_id,task_type')->where('delete_time',0)->where(['is_active'=>1,'id'=>['<>',1]])->select(); $result = []; $task_user_count = 0; foreach($task_ids as $k=>$v){ if($v['task_type']==2){ $task_user = Db::name('vs_tasks_user_daily') ->where(['user_id'=>$user_id,'is_claimed'=>0,'is_completed'=>1]) - ->where('task_id',$v['id']) + ->where('task_id',$v['task_id']) ->whereTime('createtime', 'today') ->count(); }else{ - $task_user = Db::name('vs_tasks_user_daily') - ->where(['user_id'=>$user_id,'is_claimed'=>0,'is_completed'=>1]) - ->where('task_id',$v['id']) - ->count(); + if(in_array($v['task_id'],[21,22,23])){ + $task_user = db::name('vs_tasks_student') + ->where('user_id',$user_id) + ->where('task_id',$v['task_id']) + ->where('status',1) + ->where('delete_time', 0) + ->count(); + }elseif($v['task_id']==24){ + $task_user = Db::name('vs_user_sign_task')->where(['user_id'=>$user_id,'day'=>date('Y-m-d'),'status'=>0])->count(); + }elseif(in_array($v['task_id'],[26,27,28,29,30,31,32])){ + $task_user = Db::name('vs_user_cp_task')->where(['user_id'=>$user_id,'delete_time'=>0,'day'=>date('Y-m-d'),'status'=>1])->count(); + }else{ + $task_user = Db::name('vs_tasks_user_daily') + ->where(['user_id'=>$user_id,'is_claimed'=>0,'is_completed'=>1]) + ->where('task_id',$v['task_id']) + ->count(); + } } $task_user_count +=$task_user; }