По договоренности
Есть доработанная база. Необходимо, чтобы цены рассчитывались из новых колонок согласно новым правилам. Сделано для взаимодействия с 1С и системой установления скидок. Я сделал поля, нужно прописать взаимодействие.
Задачи по сайту:
1. Обеспечить, чтобы цена доставки бралась из поля `y8flq_virtuemart_product_prices`.`product_shipping_price`(Цена доставки товара). Цены складываются при покупке.
2. Обеспечить систему скидок и бонусов.(Работает если override_flag = 1)
2.1 Если покупатель выбрал 2й товар того же поставщика, что и 1й(поле поставщика `y8flq_virtuemart_product_prices`.`product_price_supplierid`, то цена продажи должна указываться
`y8flq_virtuemart_product_prices`.`product_shipping_price2`(Цена со скидкой 2), если она присутствует и не равна
другим ценам(`y8flq_virtuemart_product_prices`.`product_price`(Основная цена), `y8flq_virtuemart_product_prices`.`product_override_price`(Цена со скидкой 1)). Соответственно предыдущая цена будет перечеркнута. То же происходит и с ценой доставки ( `y8flq_virtuemart_product_prices`.`product_shipping_price2`, `y8flq_virtuemart_product_prices`.`product_shipping_price`). То есть измениться может как цена товара, так и цена доставки, что тоже должно быть отражено перечеркиванием. Если `y8flq_virtuemart_product_prices`.`product_shipping_price2` нет, то и цена доставки остается прежняя.
2.2 Так же покупателю зачисляются бонусы при выборе товара(бонусы хранятся, но не показываются). При покупке бонусы сохраняются в базе. Если товар покупается по пункту 2.1, то из поля `y8flq_virtuemart_product_prices`.`product_bonuses2`, в остальных случаях из поля `y8flq_virtuemart_product_prices`.`product_bonuses`.
Алгоритм начисления бонусов:
Если при выборе товара у покупателя ненулевой баланс бонусов, тогда берется текущая цена, от нее отнимается сумма бонусов, далее в таблице `likeshop`.`y8flq_virtuemart_product_add_discount` находится минимальная цена, не меньшая, чем получившаяся цена с учетом бонусов. Если такая запись есть эта запись будет текущей записью продажи. Если нет то то оставляем предыдущую запись, бонусы не расходуются. Цена доставки не меняется.
3. Если при выборе товара оказались товары с ценой. отличной от цены сайта, то нужно уведомить об этом пользователя, что есть товары по акции для данного заказа и при подтверждении пользователя, отобразить их.
4. Товары, у которых цена товара или доставки отличаются, должны быть выделены каким-то образом(значком "Акция!", восклицательным знаком).
Подробности в личку или в skype. Прошу простить, но выхожу на связь вечерами ненадолго, серьезно обсудить получится в выходные. В другое время готов переписываться.