Browse Source

搜索商品

master
weigang 5 years ago
parent
commit
77fa10e0ee
  1. 12
      app/Constants/v3/ErrorCode.php
  2. 15
      app/Service/v3/Implementations/SearchService.php

12
app/Constants/v3/ErrorCode.php

@ -36,8 +36,8 @@ class ErrorCode extends AbstractConstants
const ORDER_GOODS_NOT_AVAILABLE = 602; const ORDER_GOODS_NOT_AVAILABLE = 602;
/** /**
* 订单中有商品库存不足
* @Message("订单中有商品库存不足")
* 订单中有商品已卖光
* @Message("订单中有商品已卖光")
*/ */
const ORDER_GOODS_INVENTORY_LIMIT = 603; const ORDER_GOODS_INVENTORY_LIMIT = 603;
@ -191,8 +191,8 @@ class ErrorCode extends AbstractConstants
/* 商品相关 1101-1150 */ /* 商品相关 1101-1150 */
/************************************/ /************************************/
/** /**
* 库存不足
* @Message("库存不足")
* 已卖光
* @Message("已卖光")
*/ */
const GOODS_INVENTORY_ERROR = 1101; const GOODS_INVENTORY_ERROR = 1101;
@ -231,8 +231,8 @@ class ErrorCode extends AbstractConstants
const GOODS_ACTIVITY_EXPIRED = 1152; const GOODS_ACTIVITY_EXPIRED = 1152;
/** /**
* 库存不足
* @Message("商品库存不足")
* 已卖光
* @Message("商品已卖光")
*/ */
const GOODS_ACTIVITY_INVENTORY_ERROR = 1153; const GOODS_ACTIVITY_INVENTORY_ERROR = 1153;

15
app/Service/v3/Implementations/SearchService.php

@ -4,11 +4,14 @@
namespace App\Service\v3\Implementations; namespace App\Service\v3\Implementations;
use App\Model\v3\Category;
use App\Model\v3\Goods; use App\Model\v3\Goods;
use App\Model\v3\GoodsCategory;
use App\Model\v3\Store; use App\Model\v3\Store;
use App\Service\v3\Interfaces\SearchServiceInterface;
use Hyperf\Paginator\Paginator; use Hyperf\Paginator\Paginator;
class SearchService implements \App\Service\v3\Interfaces\SearchServiceInterface
class SearchService implements SearchServiceInterface
{ {
public function doForGoods($params) public function doForGoods($params)
@ -34,7 +37,15 @@ class SearchService implements \App\Service\v3\Interfaces\SearchServiceInterface
} }
if (isset($params['keyword']) && $params['keyword']) { if (isset($params['keyword']) && $params['keyword']) {
$builder->where('name', 'like', '%'.$params['keyword'].'%');
// 二级分类
$categoryIds = Category::query()->where('title', 'like', '%'.$params['keyword'].'%')->pluck('id');
// 三级分类
$goodsCategoryIds = GoodsCategory::query()->where('title', 'like', '%'.$params['keyword'].'%')->pluck('id');
$builder->where(function ($query) use ($params, $categoryIds, $goodsCategoryIds) {
$query->where('name', 'like', '%'.$params['keyword'].'%')
->orWhereIn('category_id', $categoryIds)
->orWhereIn('goods_category_id', $goodsCategoryIds);
});
} }
if (isset($params['order_by']) && $params['order_by']) { if (isset($params['order_by']) && $params['order_by']) {

Loading…
Cancel
Save