From 0e7b852e5185f1300183db828c38a8a92df7fc35 Mon Sep 17 00:00:00 2001 From: youda Date: Thu, 24 Apr 2025 13:48:39 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/api/controller/Goods.php | 2 +- app/api/controller/Index.php | 16 ++++++++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/app/api/controller/Goods.php b/app/api/controller/Goods.php index 0b5ad87..c171591 100755 --- a/app/api/controller/Goods.php +++ b/app/api/controller/Goods.php @@ -168,7 +168,7 @@ class Goods extends Base ]; // 缓存空结果,避免重复查询 - $redis->set($cache_key, json_encode($new_data), 300); + $redis->set($cache_key, json_encode($new_data), 10); return $this->renderSuccess('请求成功', $new_data); } diff --git a/app/api/controller/Index.php b/app/api/controller/Index.php index 6b24fae..c1568e3 100755 --- a/app/api/controller/Index.php +++ b/app/api/controller/Index.php @@ -29,10 +29,22 @@ class Index extends Base foreach ($advert as &$advert_value) { $advert_value['imgurl'] = imageUrl($advert_value['imgurl']); } - $tuijian = Advert::field('imgurl,ttype,coupon_id,goods_id,url')->where(['type' => 5])->order('sort desc,id desc')->select(); - foreach ($tuijian as &$advert_value) { + $tuijian = Advert::field('id,imgurl,ttype,coupon_id,goods_id,url')->where(['type' => 5])->order('sort desc,id desc')->select(); + $tuijian_list = []; + foreach ($tuijian as $key => &$advert_value) { $advert_value['imgurl'] = imageUrl($advert_value['imgurl']); + if ($advert_value['goods_id']) { + $goods = Goods::where('id', '=', $advert_value['goods_id'])->find(); + $status = $goods['status']; + if (!$goods || $status != 1) { + // 商品不存在或已下架或卖完,不显示此推荐位 + // unset($tuijian[$key]); + continue; + } + $tuijian_list[] = $advert_value; + } } + $tuijian = $tuijian_list; #公告 $notice = Danye::field('title,content')->where(['id' => 3])->find(); $notice['content'] = contentUrl($notice['content']);