Таблица oc_voucher
Таблица oc_voucher является центральным хранилищем данных о подарочных сертификатах (ваучерах) в OpenCart. Ваучеры представляют собой предоплаченные купоны с определенным номиналом, которые покупатели могут приобрести для себя или в подарок, а затем использовать при оплате заказов.
Поля
| Поле | Тип данных | Описание |
|---|---|---|
voucher_id |
int |
Уникальный идентификатор ваучера (первичный ключ, автоинкремент). |
order_id |
int |
ID заказа, в котором был приобретен данный ваучер. Внешний ключ, ссылается на таблицу oc_order.
|
code |
varchar(10) |
Уникальный код ваучера. Генерируется системой автоматически и используется для его активации при оформлении заказа. |
from_name |
varchar(64) |
Имя отправителя подарочного сертификата. |
from_email |
varchar(96) |
Email адрес отправителя. |
to_name |
varchar(64) |
Имя получателя подарочного сертификата. |
to_email |
varchar(96) |
Email адрес получателя. |
message |
text |
Текст поздравительного сообщения, которое отправитель указывает для получателя. |
amount |
decimal(15,4) |
Номинальная стоимость ваучера. |
status |
tinyint(1) |
Статус ваучера: 1 - активен, 0 - неактивен.
|
date_added |
datetime |
Дата и время создания ваучера. |
Как это работает
Подарочный сертификат в OpenCart - это по сути товар, который можно добавить в корзину и купить. При оформлении заказа, содержащего ваучер, система создает запись в таблице oc_voucher, связывая её с ID заказа (order_id). Одновременно генерируется уникальный код (code), который отправляется получателю на email.
Получив код, пользователь может ввести его на этапе оформления заказа в блоке "Подарочный сертификат". Система проверяет код в таблице oc_voucher на валидность (существует ли, активен ли, не исчерпан ли лимит) и применяет его номинал (amount) в качестве скидки к общей сумме заказа.
Ваучер может быть использован только один раз. После успешного применения его статус (status) изменяется на неактивный, чтобы предотвратить повторное использование. История использования ваучеров фиксируется в связанной таблице oc_voucher_history.
Управление ваучерами (создание, просмотр, активация/деактивация) осуществляется в админ-панели OpenCart в разделе "Продажи" → "Подарочные сертификаты".
Пример SQL-запроса
Выбрать все активные ваучеры, купленные в определенном заказе:
SELECT v.*, o.order_id, o.invoice_no
FROM oc_voucher v
LEFT JOIN oc_order o ON (v.order_id = o.order_id)
WHERE v.order_id = 42 AND v.status = 1;
Проверить ваучер по коду перед применением:
SELECT voucher_id, code, amount, status
FROM oc_voucher
WHERE code = 'ABC123DEF4' AND status = 1;
Смотрите также
-
таблицу
oc_voucher_history,
которая хранит историю использования подарочных сертификатов -
таблицу
oc_voucher_theme,
которая содержит шаблоны оформления подарочных сертификатов -
таблицу
oc_order,
которая хранит информацию о заказах, содержащих ваучеры -
таблицу
oc_coupon,
которая предназначена для хранения скидочных купонов