2016-06-08 4 views
4

У меня есть простой инструмент управления бэкэнд, написанный на PHP, который извлекает заказы из базы данных WooCommerce и представляет их на нашу кухню для обработки поставок.Каковы частичные возмещения, хранящиеся в базе данных WooCommerce?

Я всегда мог выделить строку таблицы, у которой был статус, отличный от 'wc-completed', для обработки любой дополнительной обработки, которая может потребоваться. Однако сегодня мне было сообщено, что один заказ был возвращен по одной позиции. A частичный возврат не изменяет статус заказа, поэтому мне нужно вывести информацию о возврате из другой таблицы в базе данных.

Я проверил все таблицы, я не знаю, связанные с обработкой заказов - wp_posts, wp_postmeta, wp_woocommerce_order_items и wp_woocommerce_order_itemmeta, но никаких признаков какой-либо информации о процедуре возврата. Фактически, itemmeta, содержащаяся в последней таблице, даже не корректирует количество, что делает мои сообщения неправильными для частичных заказов, подобных этому.

Когда вы просматриваете сводку заказа в бэкэнде woocommerce, он показывает количество 1 для данного товара, а затем -1 прямо под ним. Я полагаю, на основании этого, что где-то в базе данных есть записи возврата, связанные с заказами, но я не могу найти его. Даже сумма заказа в wp_postmeta не отражает частичное возмещение.

Кто-нибудь знает, где эти данные возмещения хранятся в базе данных wordpress?

Спасибо.

ответ

4

частичный возврат заказов хранятся в базе данных, как нормальные: В wp_posts стол с 'post_type' = 'shop_order_refund' и 'post_parent' = order_ID (number), где order_ID является ссылка на оригинальный 'shop_order'.

Чтобы узнать, какой из этих возвратов неравнодушны, вам нужно значение _refund_amount сумму, которую можно найти под wp_post_meta для этого 'refund_order' и его соответствующие 'shop_order' со значением _order_total тоже:

если ('refund_order' =>_refund_amount)! = ('shop_order' =>_order_total): затем это частично.

, если ('refund_order' =>_refund_amount) == ('shop_order' =>_order_total): то это нормально (не частично).

Примечания:

  • Вы можете иметь один или несколько частичных возвратов для одного заказа.
  • Существует для возврата заказов_order_total элемента в таблице wp_postmeta с отрицательным значением, всегда отражающая положительное значением _refund_amount пункта. Это значение _order_total не имеет отношения к связанному с родителем 'shop_order' => '_order_total' значение.

    Это противоположность (отрицательное) значения связанных с родительским'shop_order' => '_order_total' значения по только при заказе возврата не ЧАСТИЧНЫЙ.

  • В wp_woocommerce_order_items и wp_woocommerce_order_itemmeta таблиц, есть связанные подробные данные о продукции в заказах и возвращенные заказы ...
+0

Отлично! Спасибо, это была только информация, в которой я нуждался. Очень признателен. –