From 38fb2eb50185f7cda4f5ab830f7aa29469cb0808 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B5=B5=E9=92=8A?= Date: Fri, 12 Dec 2025 10:32:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=BB=E5=8A=A1=E5=8A=9F=E8=83=BD=E6=8F=90?= =?UTF-8?q?=E4=BA=A4-=E6=AF=8F=E6=97=A5=E7=AD=BE=E5=88=B0=E5=8A=9F?= =?UTF-8?q?=E8=83=BD=E5=BC=80=E5=8F=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../adminapi/controller/Activities.php | 11 ++++- application/api/model/Tasks.php | 49 ++++++++++--------- 2 files changed, 36 insertions(+), 24 deletions(-) diff --git a/application/adminapi/controller/Activities.php b/application/adminapi/controller/Activities.php index f8bd17a8..84cdc9c7 100644 --- a/application/adminapi/controller/Activities.php +++ b/application/adminapi/controller/Activities.php @@ -598,7 +598,14 @@ class Activities extends adminApi $lists[$key]['box_name'] = $bag_data['name']; $lists[$key]['gift_type'] = $value['type']; $lists[$key]['gift_type_str'] = $this->gift_type[$value['type']]; - if ($value['type'] == 2) { + if ($value['type'] == 1) { + $lists[$key]['gift_id'] = "--"; + $lists[$key]['gift_name'] = "--"; + $lists[$key]['base_image'] = localpath_to_netpath("static/image/icon/gold.png"); + $lists[$key]['quantity'] = $value['quantity']; + $lists[$key]['quantity_str'] = $value['quantity']."个"; + $lists[$key]['gift_price'] = $value['gold']*$value['quantity']; + } elseif ($value['type'] == 2) { $lists[$key]['gift_id'] = $value['foreign_id']; $lists[$key]['gift_name'] = $value['name']; $gift_data = db::name('vs_gift')->where(['gid' => $value['foreign_id']])->find(); @@ -618,7 +625,7 @@ class Activities extends adminApi }else{ $lists[$key]['gift_id'] = "--"; $lists[$key]['gift_name'] = "--"; - $lists[$key]['base_image'] = localpath_to_netpath("static/image/icon/gold.png"); + $lists[$key]['base_image'] = localpath_to_netpath("static/image/icon/diamond.png"); $lists[$key]['quantity'] = $value['quantity']; $lists[$key]['quantity_str'] = $value['quantity']."个"; $lists[$key]['gift_price'] = $value['gold']*$value['quantity']; diff --git a/application/api/model/Tasks.php b/application/api/model/Tasks.php index 1aeef443..94b55c54 100644 --- a/application/api/model/Tasks.php +++ b/application/api/model/Tasks.php @@ -109,7 +109,7 @@ class Tasks extends Model ->field('id as task_id,icon,task_name,target_quantity,task_type,jump_type,tasks_bag_id') ->where('delete_time',0) ->where('is_active',1) - ->order('sort asc')->select(); + ->order('sort desc,id asc')->select(); foreach ($data as $k => $v) { //完成进度 $v['from_id'] = 0; @@ -223,7 +223,7 @@ class Tasks extends Model $v['task_type_str'] = "已领取"; } if($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')])->find(); + $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; $v['task_type_str'] = "已签到"; @@ -585,7 +585,7 @@ class Tasks extends Model * 用户签到 */ public function sign_in($user_id){ - $sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d')])->find(); + $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) { return ['code' => 0, 'msg' => '今天已经签到过了','data' => null]; } @@ -595,22 +595,17 @@ class Tasks extends Model $this->tasks_complete($user_id,1); //判断连续签到 $continuous = 1; - $sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id])->order('id desc')->find(); + $sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'delete_time'=>0])->order('id desc')->find(); if ($sign_in_info) { if ($sign_in_info['sign_in_date'] == date('Y-m-d',strtotime('-1 day'))) { $continuous = $sign_in_info['continuous'] + 1; } else { + db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'delete_time'=>0])->update([ + 'delete_time' => time() + ]); $continuous = 1; } } - if($continuous>1){ - //连续签到任务送金币 - //连续签到7天 【完成任务】 - $this->tasks_complete($user_id,2); - //连续签到任务抽礼包【完成任务】 - //连续签到7天 【完成任务】 - //$this->tasks_complete($user_id,7); - } $reslut = Db::name('vs_user_tasks_sign_in')->insert([ 'user_id' => $user_id, 'sign_in_date' => date('Y-m-d'), @@ -636,11 +631,28 @@ class Tasks extends Model * 今日签到状态 */ public function daily_tasks_sign_in_status($user_id){ - $sign_in_info = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'sign_in_date'=>date('Y-m-d')])->find(); //礼包 - $detail = DB::name('vs_gift_bag_detail')->where(['gift_bag_id'=>18])->select(); + $detail_list = DB::name('vs_gift_bag_detail')->where(['gift_bag_id'=>18])->limit(7)->select(); $list= []; - foreach ($detail as $k=>$v){ + foreach ($detail_list as $k=>$v){ + $day = $k+1; + $list[$k]['day'] = $day; + $sign_in = Db::name('vs_user_tasks_sign_in')->where(['user_id'=>$user_id,'continuous'=>$day,'delete_time'=>0])->find(); + if($sign_in){ + $list[$k]['sign_in_date'] = $sign_in['sign_in_date']; + $list[$k]['sign_in_status'] = 1; + $list[$k]['sign_in_status_str'] = "已签到"; + }else{ + if($k==0){ + $list[$k]['sign_in_date'] = date('Y-m-d'); + }else{ + $list[$k]['sign_in_date'] = date('Y-m-d',strtotime($list[$k-1]['sign_in_date'])+86400); + } + $list[$k]['sign_in_status'] = 0; + $list[$k]['sign_in_status_str'] = "未签到"; + } + //是否是当天 + $list[$k]['is_today'] = $list[$k]['sign_in_date'] == date('Y-m-d') ? 1 : 0; if($v['type'] == 1){ $list[$k]['gift_name'] = "金币"; $list[$k]['num'] = $v['gold']; @@ -672,13 +684,6 @@ class Tasks extends Model } $result = []; $result['gift_bag'] = $list; - if ($sign_in_info) { - $result['status'] = 1; - $result['status_str'] = "已签到"; - }else{ - $result['status'] = 0; - $result['status_str'] = "未签到"; - } return ['code' => 1, 'msg' => '成功','data' => $result]; }