request->param(); // // 参数验证 $validate = $this->validate($param, [ 'page' => 'number', 'limit' => 'number', ]); if (true !== $validate) { return $this->error($validate); } $where = []; if(!empty($param['group_id'])){ $where['a.group_id'] = $param['group_id']; } $query = Db::name('politics') ->field([ 'a.*', // 使用 CASE 表达式处理 user_name Db::raw('CASE WHEN a.open_status = 1 THEN "匿名" ELSE w.nickname END AS user_name'), 'p.name AS user_group_name' ]) ->alias('a') ->join('user w','a.user_id = w.id','LEFT') ->join('user_group p','a.group_id = p.id','LEFT') ->where($where) ->where('a.deletetime', 'null') ->order('a.id', 'asc'); // 分页查询 $list = $query->paginate([ 'page' => $param['page'] ?? 1, 'list_rows' => $param['limit'] ?? 10, ]); // 处理返回数据 $data = [ 'total' => $list->total(), 'list' => $list->items(), ]; return $this->success('查询成功', $data); } /** * 编辑投诉建议 * @param int $id 记录ID */ public function update() { $param = $this->request->param(); $id = $param['id'] ?? 0; // 参数验证 $validate = $this->validate($param, [ 'id' => 'require|number', 'acceptance_content' => 'require', ]); if (true !== $validate) { return $this->error($validate); } $param['acceptance_status'] = 2; $param['acceptance_time'] = date('Y-m-d H:i:s'); // 更新数据 $result = Db::name('politics') ->where('id', $id) ->update($param); if ($result === false) { return $this->error('编辑失败'); } return $this->success('编辑成功'); } }