// +---------------------------------------------------------------------- declare (strict_types=1); namespace app\api\controller; use app\common\model\GoodsCategoryRel; use think\response\Json; use app\api\model\Category as CategoryModel; use think\facade\Cache; /** * 商品分类控制器 * Class Category * @package app\api\controller */ class Category extends Controller { /** * 分类列表 * @return Json * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException */ public function list(): Json { $cache_key = "category_".$this->storeId; if(Cache::has($cache_key)) { $list = Cache::get($cache_key); return $this->renderSuccess(compact('list')); } $model = new CategoryModel; $list = $model->getListPublic($this->request->param()); Cache::set($cache_key, $list, 3600); return $this->renderSuccess(compact('list')); } public function childrenList(): Json { $param = $this->request->param(); $cache_key = "childrenList".json_encode($param).$this->storeId; // if(Cache::has($cache_key)) { // $list = Cache::get($cache_key); // return $this->renderSuccess(compact('list')); // } $model = new CategoryModel; $param['status'] = 1; $list = $model->getChildrenList($param); Cache::set($cache_key, $list, 3600); return $this->renderSuccess(compact('list')); } public function listmerchant(): Json { $list = []; $merchantId = (int)$this->request->param('merchantId', 0); $model = new CategoryModel; $hasGoods = GoodsCategoryRel::getcategory($this->storeId,$merchantId); $arr = []; $arr1 = []; if (isset($hasGoods) && !empty($hasGoods)) { foreach ($hasGoods as $v) { $arr[] = $v['category_id']; } } else { return $this->renderSuccess(compact('list')); } if (!empty($arr)) { $arr1 = ['cataIds' => $arr]; } else { return $this->renderSuccess(compact('list')); } $list = $model->getListPublic($this->request->param(), $arr1); return $this->renderSuccess(compact('list')); } }