params; if (isset($params['goods_info']) && $params['goods_info'] != '') { $where[] = ['g.name','like','%'.$params['goods_info'].'%']; } if (isset($params['user_info']) && $params['user_info'] != '') { $where[] = ['u.nickname','like','%'.$params['user_info'].'%']; } if (isset($params['status']) && $params['status'] != '') { $where[] = ['gc.status','=',$params['status']]; } if (isset($params['comment_level']) && $params['comment_level'] != '') { switch ($params['comment_level']){ case 'good'://好评 $where[]= ['gc.service_comment', '>', 3]; break; case 'medium'://中评 $where[]= ['gc.service_comment', '=', 3]; break; case 'bad'://差评 $where[]= ['gc.service_comment', '<', 3]; break; } } if (isset($params['start_time']) && $params['start_time'] != '') { $where[] = ['gc.create_time','>=',strtotime($params['start_time'])]; } if (isset($params['end_time']) && $params['end_time'] != '') { $where[] = ['gc.create_time','<=',strtotime($params['end_time'])]; } return $where; } /** * @notes 服务评价列表 * @return array * @throws \think\db\exception\DataNotFoundException * @throws \think\db\exception\DbException * @throws \think\db\exception\ModelNotFoundException * @author ljj * @date 2022/2/9 6:00 下午 */ public function lists(): array { $where = self::where(); $lists = (new GoodsComment())->alias('gc') ->join('user u', 'u.id = gc.user_id') ->join('goods g', 'g.id = gc.goods_id') ->field('gc.id,gc.goods_id,gc.user_id,gc.order_goods_id,gc.service_comment,gc.comment,gc.reply,gc.status,gc.create_time,g.name as goods_name,g.image as goods_image') ->with(['user']) ->order(['gc.id'=>'desc']) ->where($where) ->append(['comment_level','status_desc','goods_comment_image']) ->limit($this->limitOffset, $this->limitLength) ->select() ->toArray(); foreach ($lists as &$list) { $list['goods_image'] = FileService::getFileUrl($list['goods_image']); } return $lists; } /** * @notes 服务评价总数 * @return int * @author ljj * @date 2022/2/9 5:59 下午 */ public function count(): int { $where = self::where(); return (new GoodsComment())->alias('gc')->join('user u', 'u.id = gc.user_id')->join('goods g', 'g.id = gc.goods_id')->where($where)->count(); } }