// +---------------------------------------------------------------------- declare (strict_types = 1); namespace app\store\controller\goods; use app\store\controller\Controller; use app\store\model\Comment as CommentModel; /** * 商品评价管理 * Class Comment * @package app\store\controller\goods */ class Comment extends Controller { /** * 评价列表 * @return array */ public function list() { $model = new CommentModel; $list = $model->getList($this->request->param()); return $this->renderSuccess(compact('list')); } /** * 评价详情 * @param int $commentId * @return array|bool|string */ public function detail(int $commentId) { // 评价详情 $model = new CommentModel; $detail = $model->getDetail($commentId); return $this->renderSuccess(compact('detail')); } /** * 编辑评价 * @param int $commentId * @return array */ public function edit(int $commentId) { // 评价详情 $model = CommentModel::detail($commentId); // 更新记录 if ($model->edit($this->postForm())) { return $this->renderSuccess('更新成功'); } return $this->renderError($model->getError() ?: '更新失败'); } /** * 修改评论状态(审核通过、不通过) * @param array $commentIds id集 * @param bool $state 为true表示通过 false表示不通过 * @return array */ public function state(array $commentIds, bool $state) { $model = new CommentModel; if (empty($commentIds)) { return $this->renderError('评论id不能为空'); } if (!$model->setStatus($commentIds, $state)) { return $this->renderError($model->getError() ?: '操作失败'); } return $this->renderSuccess('操作成功'); } /** * 平台回复 */ public function reply(int $commentId) { // 评价详情 $model = CommentModel::detail($commentId); $data = $this->postForm(); if (empty($data['reply_content'])) { return $this->renderError("解释内容不能为空"); } // 更新记录 if ($model->reply($data)) { return $this->renderSuccess('更新成功'); } return $this->renderError($model->getError() ?: '更新失败'); } /** * 删除评价 * @param int $commentId * @return array|bool */ public function delete(int $commentId) { // 评价详情 $model = CommentModel::detail($commentId); if (!$model->setDelete()) { return $this->renderError($model->getError() ?: '删除失败'); } return $this->renderSuccess('删除成功'); } /** * 导入评价 */ public function importFake(){ $file = request()->file('file'); if (empty($file)){ return $this->renderError('请先上传导入的文件'); } // 上传到本地服务器 $filename = \think\facade\Filesystem::putFile('comment', $file); $res = (new CommentModel())->importFake($filename); if (!$res) { return $this->renderError("导入失败"); } return $this->renderSuccess([],'导入成功'); } }