Мой клиент работает на рынках и хочет начать продавать онлайн
Когда он получает заказ, он должен подтвердить, действительно ли товар есть в наличии и может ли он удовлетворить спрос.
update> У меня уже есть несколько обратных вызовов, которые проверяют наличие товаров в наличии или нет, но ... Мне действительно нужна какая-то двойная проверка ... (сначала по обратному вызову, который выполняется, а затемвручную ... Но я не знаю, как я могу отредактировать OrderItem как продавца ....
(Может случиться, что когда вы работаете на рынке, у вас нет времени для регистрацииВаши продажи или даже некоторые предметы могут быть украдены ... Так что это испортит запас)
update> Как мне отредактировать полученный заказ, если предмет отсутствует (имеется в видучто акция была неправильной)
Мои модели:
Size
belongs_to :product
Order
has_many :order_items
OrderItem
belongs_to :order
belongs_to :product
belongs_to :size
Product
has_many :order_items
has_many :sizes
Атрибуты OrderItem: :id, :quantity, :product_id, :user_id, :size_id, :order_id
Позволяет сказать, что заказ поступил:
#here is how are orders are created
order_1 = Order.create(
payment: "{'stub','stripe'}",
created_at: 1.day.ago,
user_id: 1,
token: SecureRandom.hex(8),
status: 1,
shipping_fees: 5,
sub_total: [product_1.price + product_1.price].sum ,
total: 135
)
order_item_1 = OrderItem.create(
price: product_1.price,
order_id: order_1.id,
product_id: 10,
quantity: 1,
size_id: 3
)
order_item_2 = OrderItem.create(
price: product_2.price,
order_id: order_1.id,
product_id: 42,
quantity: 2,
size_id: 8
)
В order_item_2 клиенту нужны 2 товара, но мой клиентне могу понять, что у него остался только один ...
Мой клиент хотел бы что-то вроде контрольного списка, который говорит для каждого элемента:
- да, это доступно
- woops У меня остался только один
- он больше не доступен
Затем он обновит запас и отправит электронное письмо клиенту, чтобы предупредить его, что какой-то товар недоступен и т. д...
Каков наилучший способ сделать это?
Возможно ли управлять этим в контроллере заказов?или я должен создать контроллер счета?
Все предложения приветствуются.