From 7cfbacceef193b2f213d075663ab97f54922e2a6 Mon Sep 17 00:00:00 2001 From: yin5th <541304803@qq.com> Date: Thu, 21 Sep 2023 17:02:20 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E6=B7=BB=E5=8A=A0=E6=8E=A5=E5=8F=A3=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=E5=95=86=E5=93=81=E6=8E=A8=E8=8D=90=E5=92=8C?= =?UTF-8?q?=E6=A0=B9=E6=8D=AE=E4=B8=89=E7=BA=A7=E5=88=86=E7=B1=BB=E8=8E=B7?= =?UTF-8?q?=E5=8F=96=E5=93=81=E7=89=8C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- server/app/api/controller/Goods.php | 18 +++++++++++++++++- server/app/api/logic/GoodsBrandLogic.php | 18 ++++++++++++++++++ server/app/api/logic/GoodsLogic.php | 2 +- server/public/.user.ini | 1 - 4 files changed, 36 insertions(+), 3 deletions(-) delete mode 100644 server/public/.user.ini diff --git a/server/app/api/controller/Goods.php b/server/app/api/controller/Goods.php index cf5286d0..0bb8be0b 100644 --- a/server/app/api/controller/Goods.php +++ b/server/app/api/controller/Goods.php @@ -18,6 +18,7 @@ // +---------------------------------------------------------------------- namespace app\api\controller; +use app\api\logic\GoodsBrandLogic; use app\common\basics\Api; use app\api\logic\GoodsLogic; use app\common\server\JsonServer; @@ -27,7 +28,7 @@ use think\facade\Validate; class Goods extends Api { public $like_not_need_login = ['getGoodsDetail', 'getHotList', 'getGoodsList', 'getGoodsListTemplate', - 'getGoodsListByColumnId', 'getRecommendGoods']; + 'getGoodsListByColumnId', 'getRecommendGoods', 'getBrandListByCateId']; /** * 商品详情 @@ -117,4 +118,19 @@ class Goods extends Api return JsonServer::error('请求方式错误'); } } + + public function getBrandListByCateId() + { + if($this->request->isGet()) { + $cateId = input('cate_id/d',0); + if (empty($cateId)) { + return JsonServer::error('参数错误'); + } + + $data = GoodsBrandLogic::getByCateId($cateId); + return JsonServer::success('获取成功', $data); + }else{ + return JsonServer::error('请求方式错误'); + } + } } \ No newline at end of file diff --git a/server/app/api/logic/GoodsBrandLogic.php b/server/app/api/logic/GoodsBrandLogic.php index 5fca5ef6..9ed854d7 100644 --- a/server/app/api/logic/GoodsBrandLogic.php +++ b/server/app/api/logic/GoodsBrandLogic.php @@ -2,6 +2,7 @@ namespace app\api\logic; use app\common\basics\Logic; +use app\common\model\goods\Goods; use app\common\model\goods\GoodsBrand; class GoodsBrandLogic extends Logic @@ -49,4 +50,21 @@ class GoodsBrandLogic extends Logic $newList = array_merge([], $newList); return $newList; } + + // 通过分类ID 获取相关联的品牌列表 + // 逻辑: 通过分类ID查询以该分类ID为三级分类的产品有哪些,再从产品中获得品牌ID再去重 + public static function getByCateId($cateId) + { + $list = Goods::alias('g') + ->field('g.brand_id') + ->join('goods_brand gb', 'g.brand_id = gb.id') + ->where('g.third_cate_id', $cateId) + ->where('gb.del',0) + ->where('gb.is_show',1) + ->group('g.brand_id') + ->field('gb.id,gb.name') + ->select()->toArray(); + return $list; + + } } \ No newline at end of file diff --git a/server/app/api/logic/GoodsLogic.php b/server/app/api/logic/GoodsLogic.php index cf9081e6..dccb8d9d 100644 --- a/server/app/api/logic/GoodsLogic.php +++ b/server/app/api/logic/GoodsLogic.php @@ -533,7 +533,7 @@ class GoodsLogic extends Logic $list = Goods::field('id,name,image,market_price,min_price,sales_actual,column_ids,sort_weight,sales_virtual,(sales_actual + sales_virtual) as sales_total') ->where($onSaleWhere) ->where('id', "<>", $goodsId) - ->whereFindInSet('column_ids', $goodsInfo['third_cate_id']) + ->where('third_cate_id', $goodsInfo['third_cate_id']) ->orderRaw('RAND()') ->limit($limit) ->select(); diff --git a/server/public/.user.ini b/server/public/.user.ini deleted file mode 100644 index b3210e32..00000000 --- a/server/public/.user.ini +++ /dev/null @@ -1 +0,0 @@ -open_basedir=/data/wwwroot/gonglehui/server/:/data/tmp/ \ No newline at end of file