From d1b20bdcd4ebf044bc19eb4fae54af7d0b0980cf Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Tue, 16 Dec 2025 14:26:14 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9C=AA=E9=A2=86=E5=8F=96=E5=A5=96=E5=8A=B1?= =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E6=95=B0=E9=87=8F=E6=8E=A5=E5=8F=A3=E6=8F=90?= =?UTF-8?q?=E4=BA=A4-=E8=B0=83=E6=95=B4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- application/api/model/Tasks.php | 25 +++++++++++++++++++------ 1 file changed, 19 insertions(+), 6 deletions(-) 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; }