<?php namespace App\Http\Controllers\Api; use App\Command\Log; use App\Handlers\FileUploadHandler; use App\Models\Comment; use App\Models\CommentTpl; use Illuminate\Support\Facades\DB; use Illuminate\Http\Request; class CommentController extends BaseController { public function add(Request $request) { $useObj = $request->user(); $gid = $request->gid ?? 0; $star = $request->star ?? 0; $content = $request->content ?? ''; DB::beginTransaction(); try { $comObj = new Comment(); $comObj->goods_id = $gid; $comObj->star = $star; $comObj->content = $content; $comObj->nickname = $useObj->name; $comObj->avatar = $useObj->avatar ?? ''; $comObj->phone = $useObj->phone; $comObj->save(); DB::commit(); return $this->JsonResponse(''); } catch (\Exception $exception) { Log::add('添加评论失败', $exception->getMessage()); DB::rollBack(); return $this->JsonResponse('', '添加评论失败', 201); } } public function getList(Request $request) { $gid = $request->gid ?? 0; $page = $request->page ?? 1; $limit = $request->limit ?? 10; $sql = Comment::where(['goods_id' => $gid, 'deleted_at' => null]) ->select('id', 'nickname', 'avatar', 'content', 'addtime'); $data = [ 'total' => $sql->count(), 'total_page' => ceil($sql->count() / $limit), 'list' => [] ]; $listData = $sql->offset(($page - 1) * $limit)->limit($limit)->orderBy('created_at', 'DESC')->get(); if ($listData->toArray()) { foreach ($listData as $item) { $data['list'][] = [ 'id' => $item->id, 'nickname' => $item->nickname, 'avatar' => $item->avatar ? env('IMAGE_URL') . $item->avatar : '', 'content' => $item->content, 'addtime' => $item->addtime, ]; } } return $this->JsonResponse($data); } }