Направление работ: AdmLk Код раздела: 3.6 Раздел: Управление > Модерация отзывов Статус: черновик Ответственный: Панкова Л.А. Версия: 0.3 Обновлено: 05.08.26


1. Назначение

Данный раздел обеспечивает сотруднику сервисного кабинета интерфейс для просмотра, поиска, фильтрации и модерации отзывов клиентов.

Сотрудник просматривает отзывы и связанные сведения о партнерской зоне, объекте, площадке, клиенте и заказе, открывает карточку отзыва, публикует или удаляет отзыв и при необходимости редактирует результат модерации.

Раздел зависит от Back: 8.7.2 Администрирование > Модерация > Отзывы и Back: 3.4 Заказы > Отзывы по заказам.

2. Ключевые понятия

Отзыв — оценка, текст и вложения, которые клиент оставляет по завершенному заказу.

Модерация отзыва — проверка отзыва сотрудником сервисного кабинета с последующей публикацией или удалением.

Статус отзыва — текущее состояние обработки отзыва: новый, отвеченный, измененный, на модерации, опубликованный или удаленный.

3. Scope

Входит

S1: Просмотр и фильтрация.

S2: Модерация.

S3: Дополнительные состояния экрана.

Не входит

4. BR

Связанные BR относятся к разделам Back: 8.7.2 Администрирование > Модерация > Отзывы и Back: 3.4 Заказы > Отзывы по заказам.

5. Функциональные требования (UC + FR)

IDСценарийФункциональное требованиеBRВесСтатус
S1: FR3.6-1Сотрудник открывает раздел «Модерация отзывов»Интерфейс открывает страницу «Модерация отзывов», показывает действие возврата в раздел «Управление», блок фильтров и таблицу отзывов.

При первой загрузке в фильтре «Статусы отзывов» установлено значение «На модерации», и в таблице показаны только отзывы на модерации.
1Реализовано (см. OQ3.6-4)
S1: FR3.6-2Сотрудник просматривает доступные инструментыИнтерфейс показывает:
- фильтр «Партнерская зона»;
- фильтр объектов и площадок;
- фильтр «Период»;
- фильтр «Статусы заказа»;
- фильтр «Статусы отзывов»;
- поле «Найти»;
- таблицу отзывов.
1Реализовано (см. OQ3.6-4)
S1: FR3.6-3Сотрудник просматривает список отзывовИнтерфейс показывает в таблице столбцы:
- «Оценка»;
- «Партнерская зона»;
- «Объект»;
- «Площадка»;
- «Отзыв»;
- «Клиент»;
- «Дата»;
- «Статус заказа»;
- «Статус отзыва».
1Реализовано (см. OQ3.6-4)
S1: FR3.6-4Сотрудник ищет отзывПоле «Найти» выполняет единый поиск по данным клиента, объекта и тексту отзыва и показывает подходящие записи в списке.2Реализовано
S1: FR3.6-5Сотрудник фильтрует отзывы по партнерской зонеИнтерфейс позволяет найти и выбрать конкретную партнерскую зону или значение «Все». Значение «Все» снимает ограничение по партнерской зоне.2Реализовано
S1: FR3.6-6Сотрудник фильтрует отзывы по объекту или площадкеИнтерфейс раскрывает иерархический список объектов и входящих в них площадок и позволяет выбрать объект или площадку для фильтрации отзывов.2Реализовано
S1: FR3.6-7Сотрудник фильтрует отзывы по датеИнтерфейс открывает календарь и позволяет выбрать одну дату или период дат.

Действие «Применить» применяет выбранное значение. Действие «Сбросить» отменяет текущий выбор.
2Реализовано
S1: FR3.6-8Сотрудник фильтрует отзывы по статусу заказаИнтерфейс позволяет выбрать значение:
- «Все»;
- «Закрыт»;
- «Отменен»;
- «Отменен со сбором».

Интерфейс показывает отзывы по заказам с выбранным статусом; значение «Все» снимает ограничение.
2Реализовано
S1: FR3.6-9Сотрудник фильтрует отзывы по статусу отзываИнтерфейс позволяет выбрать значение:
- «Все»;
- «Новые»;
- «Отвечено»;
- «На модерации»;
- «Удален».

Интерфейс показывает отзывы с выбранным статусом; значение «Все» снимает ограничение.
2Частично (см. OQ3.6-1)
S1: FR3.6-10Сотрудник применяет несколько условий отбораИнтерфейс совместно применяет поиск и выбранные фильтры и обновляет таблицу с учетом всех заданных условий.2Реализовано
S1: FR3.6-11Сотрудник просматривает отзывы с разными статусамиОтзывы со статусом «На модерации» визуально отличаются от остальных отзывов в таблице.2Реализовано
S1: FR3.6-12Сотрудник переходит к данным клиента из таблицыИмя клиента в таблице доступно как действие перехода. Интерфейс по этому действию открывает раздел AdmLk: 3.2.1 Управление > Клиенты > Карточка клиента для выбранного клиента.2Реализовано
S2: FR3.6-13Сотрудник выбирает отзыв в таблицеИнтерфейс открывает боковую панель «Отзыв на площадку» с подробными данными выбранного отзыва.1Реализовано (см. OQ3.6-5)
S2: FR3.6-14Сотрудник просматривает карточку отзываИнтерфейс показывает:
- карточку площадки;
- идентификатор заказа и действие копирования;
- действие «К заказу»;
- данные клиента и действие перехода в раздел AdmLk: 3.2.1 Управление > Клиенты > Карточка клиента;
- оценку и дату отзыва;
- текст отзыва;
- вложения;
- партнерскую зону и ее комментарий.
1Реализовано (см. OQ3.6-5, OQ3.6-3)
S2: FR3.6-15Сотрудник переходит к связанному заказуИнтерфейс по действию «К заказу» открывает карточку заказа с данными клиента и всеми данными заказа.

Из карточки заказа доступно действие «Перейти к отзыву» для возврата к выбранному отзыву.
2Реализовано
S2: FR3.6-16Сотрудник переходит к данным клиента из карточки отзываИнтерфейс по действию на имени клиента открывает раздел AdmLk: 3.2.1 Управление > Клиенты > Карточка клиента для выбранного клиента.2Реализовано
S2: FR3.6-17Сотрудник готовит решение по отзывуИнтерфейс позволяет ввести комментарий сотрудника и выбрать в поле «Действие» значение «Опубликовать» или «Удалить».1Реализовано (см. OQ3.6-6, OQ3.6-2)
S2: FR3.6-18Сотрудник публикует отзывИнтерфейс по отправке решения с действием «Опубликовать» публикует отзыв, обновляет его статус и добавляет решение сотрудника в историю модерации.1Реализовано (см. OQ3.6-6)
S2: FR3.6-19Сотрудник удаляет отзывИнтерфейс по отправке решения с действием «Удалить» переводит отзыв в удаленное состояние, визуально обозначает недоступность текста и вложений и добавляет в историю запись «Отзыв удален» с датой и временем.1Реализовано (см. OQ3.6-6)
S2: FR3.6-20Сотрудник управляет ранее отправленным решениемЕсли отзыв удален, интерфейс показывает у решения сотрудника меню с действиями «Редактировать» и «Удалить и вернуть отзыв». Если отзыв опубликован, доступно только действие «Редактировать».1Реализовано (см. OQ3.6-6, OQ3.6-2)
S2: FR3.6-21Сотрудник редактирует комментарий к решениюИнтерфейс по действию «Редактировать» открывает состояние «Редактирование», позволяет изменить текст комментария и сохранить изменения в истории модерации.2Реализовано (см. OQ3.6-6)
S2: FR3.6-22Сотрудник отменяет удаление отзываИнтерфейс по действию «Удалить и вернуть отзыв» удаляет ранее отправленное решение об удалении и возвращает отзыв для дальнейшей обработки.2Реализовано (см. OQ3.6-6, OQ3.6-2)
S2: FR3.6-23Сотрудник завершает просмотр карточки отзыва или заказаИнтерфейс позволяет закрыть боковую панель и вернуться к таблице с сохраненными условиями поиска и фильтрации.2Реализовано
S3: FR3.6-24Сотрудник открывает страницу, данные загружаютсяИнтерфейс показывает состояние загрузки для фильтров и ячеек таблицы до получения данных отзывов.2Реализовано
S3: FR3.6-25Сотрудник использует раздел на разных ширинах экранаИнтерфейс адаптирует страницу, фильтры, таблицу, боковую панель отзыва и карточку заказа для desktop, laptop и tablet без потери доступных функций.

В адаптивных состояниях фильтры «Статусы заказа» и «Статусы отзывов» доступны в компактной панели, которая открывается отдельным действием. Если столбцы не помещаются в доступную ширину, интерфейс позволяет прокручивать таблицу по горизонтали.
2Реализовано

6. Открытые вопросы

Пин: BRD 3.6 «Модерация отзывов» v0.3 · репозиторий musbooking.weblk.adminpanel · commit 3a107bd5278c71559b98c4701a1b47aa8b7ab0e0 · дата сверки 2026-09-08 · якорь: widgets/review-moderation/**, entities/review/**, features/review-moderation-composer/**, features/review-details-header/**, features/review-moderation-list/**, features/review-details-drawer/**, features/review-details-body/**, pages/management/review-edit.vue, shared/api-contracts/reviews/reviews.schema.ts, shared/api/ReviewsService.ts (+ кросс-слой в booking-monorepo, commit 82359296) Первая полная сверка. Маршрутизация без сверки с гайдбуком — раздел гайдбука не передан на вход. Сводка: 6 вопросов (Open: 3 · Подтверждено: 3) · отрезано находок обратного прохода: 0

IDИсточникВопросКомуСтатусРекомендацииИтоговое решение
OQ3.6-1Код FR3.6-9Требование говорит: фильтр «Статусы отзывов» должен предлагать пять значений — «Все», «Новые», «Отвечено», «На модерации», «Удален». В коде тот же фильтр дополнительно предлагает статусы «Измененные» и «Опубликован», которых в требовании нет; статус «Просмотрен» разработчики сознательно исключили отдельным комментарием в коде. \ entities/review/lib/reviewStatusLabels.ts:6-24, features/review-moderation-list/model/filterOptions.ts:25-37БизнесOpen(А) Оставить два дополнительных статуса в фильтре как есть и дополнить формулировку FR3.6-9 — рекомендуется, так как функциональность уже отдана сотрудникам и выглядит осознанным расширением, а не ошибкой; (Б) Убрать «Измененные» и «Опубликован» из фильтра, чтобы список строго соответствовал BRD.
OQ3.6-2Код вне BRD (относится к FR3.6-17–FR3.6-20)Что нашли: методы принятия решения по отзыву на бэкенде (публикация, удаление, редактирование решения, «удалить и вернуть отзыв») не проверяют права сотрудника — проверка прав реализована как пустая заглушка; в коде есть комментарий разработчиков, что раньше проверка тоже была фиктивной (ходила в заглушку, всегда возвращавшую «доступ разрешён»), а для этих операций ещё не заведён код в каталоге прав, поэтому проверку временно убрали совсем. Любой авторизованный вызов API может опубликовать, удалить или отредактировать решение по любому отзыву, независимо от того, к какой партнёрской зоне привязан сотрудник. \ booking-monorepo: src/services/booking.partner-management/src/PartnerZones.Application/Commands/ReviewMessage/AdminCreate/AdminCreateCommandHandler.cs:80-87, .../AdminUpdate/AdminUpdateCommandHandler.cs:78-85РазработкаOpenЗавести тикет в Bitrix: добавить проверку прав сотрудника для методов AdminCreateReviewMessage/AdminUpdateReviewMessage до того, как раздел модерации отзывов уйдёт в продакшен — отсутствие проверки прав напрямую влияет на безопасность и корректность модерации.
OQ3.6-3Код вне BRD (относится к FR3.6-14)Что нашли: боковая панель отзыва показывает два бейджа клиента, которых нет в перечне данных карточки отзыва из FR3.6-14, — предупреждающий значок о клиенте с «форфейтом» (проблемном клиенте) и признак Pro-статуса клиента. \ features/review-details-body/ui/ReviewDetailsBody.vue:15-21, features/review-details-drawer/model/useReviewDetailsDrawer.ts:191-195БизнесOpen(А) Зафиксировать оба бейджа в FR3.6-14 как часть данных клиента в карточке отзыва — рекомендуется, так как это полезный контекст для решения модератора; (Б) Считать лишним и убрать, если бейджи не должны влиять на решение по отзыву.
OQ3.6-4Код FR3.6-1, FR3.6-2, FR3.6-3Что подтверждено: страница «Модерация отзывов» открывается по маршруту /management/review-edit, кнопка возврата ведёт в раздел «Управление» (/management), при первой загрузке фильтр «Статусы отзывов» уже установлен в значение «На модерации», показаны все перечисленные в FR3.6-2 фильтры, а таблица содержит ровно те 9 столбцов, что перечислены в FR3.6-3. \ pages/management/review-edit.vue:1-12, shared/lib/useSafeBack.ts:42,73-87, shared/ui/button/BackButton.vue:60-65, features/review-moderation-list/model/useReviewModerationList.ts:59, features/review-moderation-list/ui/ReviewModerationList.vue:17-96, features/review-moderation-list/model/reviewModerationListColumns.ts:6-16—ПодтвержденоРасхождения нет.—
OQ3.6-5Код FR3.6-13, FR3.6-14Что подтверждено: клик по строке таблицы открывает боковую панель «Отзыв на площадку» с карточкой площадки, ID заказа и действием копирования, действием «К заказу», данными клиента со ссылкой на карточку клиента, оценкой и датой отзыва, текстом отзыва, вложениями и комментарием партнёрской зоны. \ features/review-moderation-list/ui/ReviewModerationList.vue:284-286, widgets/review-moderation/ui/ReviewModerationWidget.vue:56-59, features/review-details-drawer/ui/ReviewDetailsDrawer.vue:3, features/review-details-header/ui/ReviewDetailsHeader.vue:4-44, features/review-details-body/ui/ReviewDetailsBody.vue:31-83—ПодтвержденоРасхождения нет.—
OQ3.6-6Код FR3.6-17, FR3.6-18, FR3.6-19, FR3.6-20, FR3.6-21, FR3.6-22Что подтверждено: цепочка состояний решения по отзыву полностью соответствует описанию. Сотрудник вводит комментарий и выбирает действие «Опубликовать» или «Удалить» в поле «Действие». «Опубликовать» переводит отзыв в статус «Опубликован» и записывает решение в историю. «Удалить» переводит отзыв в статус «Удален»: в интерфейсе текст и вложения визуально гаснут (снижена непрозрачность, блокирован клик), в истории появляется запись с датой и временем удаления. Если решение «Удален» — у решения сотрудника доступны действия «Редактировать» и «Удалить и вернуть отзыв»; если решение «Опубликован» — доступно только «Редактировать». «Редактировать» открывает состояние «Редактирование» и позволяет изменить текст решения, сохранив изменение. «Удалить и вернуть отзыв» архивирует прежнее решение и возвращает отзыв в статус «На модерации» для дальнейшей обработки — ровно так, как описано в FR3.6-22. Бэкенд (агрегат отзыва) реализует те же переходы статусов независимо от фронта, то есть это не имитация на клиенте. \ features/review-moderation-composer/ui/ReviewModerationComposer.vue:19-60, features/review-details-drawer/model/moderationActionOptions.ts:5-11, features/review-details-drawer/model/useReviewDetailsDrawer.ts:236-283,319-401, features/review-details-body/ui/ReviewDetailsBody.vue:31,85-128, booking-monorepo: src/services/booking.partner-management/src/PartnerZones.Domain/ReviewAggregate/ReviewAggregate.cs:176-253—ПодтвержденоРасхождения нет; см. отдельно OQ3.6-2 про отсутствие проверки прав на этих же методах.—

0 items under this folder.