From d52e177840df187717b8d3cb8cb5c33dadda1d8d Mon Sep 17 00:00:00 2001 From: wangxiaowei Date: Tue, 30 Jul 2024 10:08:32 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E6=96=B0=E5=93=81=E6=8E=A8?= =?UTF-8?q?=E8=8D=90=E5=95=86=E5=93=81=E6=9F=A5=E8=AF=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- app/admin/controller/Login.php | 18 -------------- app/api/controller/Goods.php | 5 ++-- app/api/logic/GoodsLogic.php | 43 ++++++++++++++++++++++++++++++---- app/api/logic/IndexLogic.php | 11 ++++++--- 4 files changed, 49 insertions(+), 28 deletions(-) diff --git a/app/admin/controller/Login.php b/app/admin/controller/Login.php index 29992473..e3e7c011 100644 --- a/app/admin/controller/Login.php +++ b/app/admin/controller/Login.php @@ -45,24 +45,6 @@ class Login extends AdminBase */ public function login() { -// event('Notice', [ -// 'scene' => NoticeEnum::AFTER_SALE_NOTICE_SHOP, -// 'mobile' => 15005837859, -// 'params' => [ -// 'user_id' => 979, -// 'after_sale_sn' => '202306071624224802' -// ] -// ]); - event('Notice', [ - 'scene' => NoticeEnum::AFTER_SALE_NOTICE_SHOP_REFUND, - 'mobile' => 15005837859, - 'params' => [ - 'user_id' => 979, - 'after_sale_sn' => '202306071624224802' - ] - ]); - dump(123); - die; if ($this->request->isAjax()) { $post = request()->post(); (new LoginValidate())->goCheck(); diff --git a/app/api/controller/Goods.php b/app/api/controller/Goods.php index 50f59fa4..c8496c31 100644 --- a/app/api/controller/Goods.php +++ b/app/api/controller/Goods.php @@ -313,9 +313,9 @@ class Goods extends Api return JsonServer::success('获取成功', $list); } - public function newGoodsList() + public function newGoods() { - // 等于1是获取4条推荐商品 等于2是获取全部的商品 + // 等于recommend是获取4条推荐商品 等于all是获取全部的商品 $type = $this->request->get('type'); $page = $this->request->get('page_no', $this->page_no); $size = $this->request->get('page_size', $this->page_size); @@ -323,4 +323,5 @@ class Goods extends Api $list = GoodsLogic::goodsList($type, $page, $size); return JsonServer::success('获取成功', $list); } + } \ No newline at end of file diff --git a/app/api/logic/GoodsLogic.php b/app/api/logic/GoodsLogic.php index 5212457f..6c16ffea 100644 --- a/app/api/logic/GoodsLogic.php +++ b/app/api/logic/GoodsLogic.php @@ -964,12 +964,17 @@ class GoodsLogic extends Logic } public static function goodsList($type, $page, $size) { + $where[] = ['create_time', '>=', strtotime("today")]; + $where[] = ['create_time', '<=', strtotime("tomorrow") - 1]; + $onSaleWhere = [ 'del' => GoodsEnum::DEL_NORMAL, // 未删除 'status' => GoodsEnum::STATUS_SHELVES, // 上架中 'audit_status' => GoodsEnum::AUDIT_STATUS_OK, // 审核通过 ]; + $list = $goods = []; + if ($type == 'recommend') { $list = Db::name('new_goods') ->alias('ng') @@ -980,12 +985,26 @@ class GoodsLogic extends Logic ->limit(4) ->select() ->toArray(); - foreach ($list as &$v) { + + $count = count($list); + + if ($count < 4) { + $goods = Db::name('goods') + ->where($where) + ->where($onSaleWhere) + ->limit(4 - $count) + ->order('create_time desc') + ->select() + ->toArray(); + } + + $result = array_merge($list, $goods); + foreach ($result as &$v) { if (isset($v['image'])) { $v['image'] = UrlServer::getFileUrl($v['image']); } } - return $list; + return $result; } else if ($type == 'all') { $list = Db::name('new_goods') ->alias('ng') @@ -996,8 +1015,22 @@ class GoodsLogic extends Logic ->select() ->toArray(); - $count = Db::name('new_goods')->count(); - foreach ($list as &$v) { + $goods = Db::name('goods') + ->where($where) + ->where($onSaleWhere) + ->order('create_time desc') + ->page($page, $size) + ->select() + ->toArray(); + + $count = Db::name('goods') + ->where($where) + ->where($onSaleWhere) + ->count(); + + $result = array_merge($list, $goods); + + foreach ($result as &$v) { if (isset($v['image'])) { $v['image'] = UrlServer::getFileUrl($v['image']); } @@ -1006,7 +1039,7 @@ class GoodsLogic extends Logic $more = is_more($count, $page, $size); //是否有下一页 return [ - 'lists' => $list, + 'lists' => $result, 'page_no' => $page, 'page_size' => $size, 'count' => $count, diff --git a/app/api/logic/IndexLogic.php b/app/api/logic/IndexLogic.php index 46bdd3e3..c3d0a10f 100644 --- a/app/api/logic/IndexLogic.php +++ b/app/api/logic/IndexLogic.php @@ -974,10 +974,16 @@ class IndexLogic extends Logic private static function getIndexHotList() { $hot_list = $order_goods = []; + $onSaleWhere = [ + 'del' => GoodsEnum::DEL_NORMAL, // 未删除 + 'status' => GoodsEnum::STATUS_SHELVES, // 上架中 + 'audit_status' => GoodsEnum::AUDIT_STATUS_OK, // 审核通过 + ]; $hot_list = Db::name('hot_list') ->alias('hl') ->join('goods g', 'hl.goods_id = g.id') + ->where($onSaleWhere) ->where('delete_time', 0) ->field('hl.*, g.id as gid, g.name, g.image, g.issuing_price, g.market_price, g.min_price, g.purchase_price, g.wholesale_price') ->order('sort desc') @@ -994,11 +1000,10 @@ class IndexLogic extends Logic $order_goods = Db::name('order_goods') ->alias('og') ->join('goods g', 'og.goods_id = g.id') - ->where($where) - ->field('og.goods_id, count(*) as count, g.id as gid, g.name, g.image, g.issuing_price, g.market_price, g.min_price, g.purchase_price, g.wholesale_price') + ->field('og.goods_id, og.create_time, count(*) as count, g.id as gid, g.name, g.image, g.issuing_price, g.market_price, g.min_price, g.purchase_price, g.wholesale_price') ->group('og.goods_id') ->limit(6 - $count) - ->order('count desc, og.create_time desc') + ->order('og.create_time desc, count desc') ->select() ->toArray(); }