0) { $where[] = ['pid', '=', $post['pid']]; } $result = (new StoreCategory())->getList($where, $post['page'], $post['pageSize']); return app('json')->success($result); } /** * 获取分类树 */ public function categoryTree() { $tree = (new StoreCategory())->getTree(); return app('json')->success($tree); } /** * 获取品牌列表 * @param Request $request */ public function brandList(Request $request) { $post = UtilService::getMore([ ['page', 1], ['pageSize', 20], ], $request); $result = (new StoreBrand())->getList([], $post['page'], $post['pageSize']); return app('json')->success($result); } /** * 获取商品列表 * @param Request $request */ public function productList(Request $request) { $post = UtilService::getMore([ ['page', 1], ['pageSize', 20], ['category_id', ''], ['brand_id', ''], ['keyword', ''], ['sort', ''], ['order', ''], ], $request); $where = [ ['is_show', '=', 1] ]; if (!empty($post['category_id'])) { $where[] = ['category_id', '=', $post['category_id']]; } if (!empty($post['brand_id'])) { $where[] = ['brand_id', '=', $post['brand_id']]; } if (!empty($post['keyword'])) { $where[] = ['title', 'like', '%' . $post['keyword'] . '%']; } $orderField = $post['sort'] ?: 'id'; $orderType = $post['order'] ?: 'desc'; $query = (new StoreProduct())->where($where); $totalCount = $query->count(); $list = $query ->order($orderField, $orderType) ->page($post['page'], $post['pageSize']) ->select() ->toArray(); return app('json')->success([ 'list' => $list, 'totalCount' => $totalCount, 'pageSize' => $post['pageSize'], 'page' => $post['page'], ]); } /** * 获取商品详情 * @param Request $request */ public function productDetail(Request $request) { $post = UtilService::getMore([ ['id', '', 'empty', '参数错误'], ], $request); $detail = (new StoreProduct())->getDetail($post['id']); if (!$detail) { return app('json')->fail('商品不存在'); } return app('json')->success($detail); } /** * 获取商品评价列表 * @param Request $request */ public function replyList(Request $request) { $post = UtilService::getMore([ ['page', 1], ['pageSize', 20], ['product_id', ''], ], $request); $where = []; if (!empty($post['product_id'])) { $where[] = ['product_id', '=', $post['product_id']]; } $result = (new StoreProductReply())->getList($where, $post['page'], $post['pageSize']); return app('json')->success($result); } /** * 添加商品评价 * @param Request $request */ public function addReply(Request $request) { $post = UtilService::getMore([ ['product_id', '', 'empty', '参数错误'], ['order_id', '', 'empty', '参数错误'], ['score', 5], ['comment', ''], ['pics', ''], ], $request); $data = [ 'uid' => $request->user['uid'], 'product_id' => $post['product_id'], 'order_id' => $post['order_id'], 'score' => $post['score'], 'comment' => $post['comment'], 'pics' => $post['pics'], 'time' => time(), ]; $id = Db::name('store_product_reply')->insertGetId($data); if ($id) { // 更新商品评价数 Db::name('store_product')->where('id', $post['product_id'])->inc('reply_count', 1)->update(); return app('json')->success('评价成功'); } else { return app('json')->fail('评价失败'); } } }