feat: 新增关键词查询三级分类接口
							parent
							
								
									69e8b41587
								
							
						
					
					
						commit
						989542e814
					
				|  | @ -8,7 +8,7 @@ use think\facade\Validate; | |||
| 
 | ||||
| class GoodsCategory extends Api | ||||
| { | ||||
|     public $like_not_need_login = ['getLevelOneList', 'getListByLevelOne']; | ||||
|     public $like_not_need_login = ['getLevelOneList', 'getListByLevelOne', 'getThirdListByKeyword']; | ||||
| 
 | ||||
|     /** | ||||
|      * 获取一级分类列表 | ||||
|  | @ -38,4 +38,20 @@ class GoodsCategory extends Api | |||
|         } | ||||
|         return JsonServer::error('请求方式错误'); | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 获取一级分类下的后代分类 | ||||
|      */ | ||||
|     public function getThirdListByKeyword() | ||||
|     { | ||||
|         if($this->request->isGet()) { | ||||
|             $keyword = input('keyword/s', ''); | ||||
|             if (empty($keyword)) { | ||||
|                 return JsonServer::error('请输入关键词'); | ||||
|             } | ||||
|             $list = GoodsCategoryLogic::getThirdListByKeyword($keyword); | ||||
|             return JsonServer::success('获取成功', $list); | ||||
|         } | ||||
|         return JsonServer::error('请求方式错误'); | ||||
|     } | ||||
| } | ||||
|  |  | |||
|  | @ -65,4 +65,34 @@ class GoodsCategoryLogic extends Logic | |||
| 
 | ||||
|         return $list; | ||||
|     } | ||||
| 
 | ||||
|     /** | ||||
|      * 根据关键词获取批量的三级分类列表 | ||||
|      * 注:完全匹配的词放到第一个 | ||||
|      */ | ||||
|     public static function getThirdListByKeyword($keyword) | ||||
|     { | ||||
|         $where = []; | ||||
|         $where[] = ['name', 'like', '%'.$keyword.'%']; | ||||
|         $where[] = ['level', '=', 3]; | ||||
|         $where[] = ['is_show', '=', 1]; | ||||
|         $list = GoodsCategory::field('id,name,image') | ||||
|             ->where($where) | ||||
|             ->order('sort', 'asc') | ||||
|             ->select() | ||||
|             ->toArray(); | ||||
| 
 | ||||
|         foreach($list as $key => $item) { | ||||
|             if ($keyword == $item['name']) { | ||||
|                 // 关键词完全匹配的,提到数组最前面 也就是当前的key和0做交换
 | ||||
|                 if ($key > 0) { | ||||
|                     $oldFirst = $list[0]; | ||||
|                     $list[0] = $item; | ||||
|                     $list[$key] = $oldFirst; | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| 
 | ||||
|         return $list; | ||||
|     } | ||||
| } | ||||
		Loading…
	
		Reference in New Issue