Адрес фактического проекта электронной коммерции SpringBoot (18k+star):GitHub.com/macro-positive/…
Резюме
В этой статье в основном анализируется соответствующая таблица функций корзины покупок и представлен весь процесс от добавления продукта в корзину до размещения заказа, включая процесс расчета скидки корзины, процесс создания подтверждения заказа, процесс размещения заказа и процесс отмены заказа.
корзина стол
Он используется для хранения информации о каждом продукте в корзине и может использоваться для расчета суммы скидки на продукт.
create table oms_cart_item
(
id bigint not null auto_increment,
product_id bigint comment '商品的id',
product_sku_id bigint comment '商品sku的id',
member_id bigint comment '会员id',
quantity int comment '购买数量',
price decimal(10,2) comment '添加到购物车的价格',
sp1 varchar(200) comment '销售属性1',
sp2 varchar(200) comment '销售属性2',
sp3 varchar(200) comment '销售属性3',
product_pic varchar(1000) comment '商品主图',
product_name varchar(500) comment '商品名称',
product_brand varchar(200) comment '商品品牌',
product_sn varchar(200) comment '商品的条码',
product_sub_title varchar(500) comment '商品副标题(卖点)',
product_sku_code varchar(200) comment '商品sku条码',
member_nickname varchar(500) comment '会员昵称',
create_date datetime comment '创建时间',
modify_date datetime comment '修改时间',
delete_status int(1) default 0 comment '是否删除',
product_category_id bigint comment '商品的分类',
product_attr varchar(500) comment '商品销售属性:[{"key":"颜色","value":"银色"},{"key":"容量","value":"4G"}]',
primary key (id)
);
Процесс заказа покупок
Общая схема процесса
Отображение процесса мобильного терминала
- Участник выбирает характеристики продукта
- Выберите товары в корзине для оформления заказа
- Посмотреть подтверждение
- Оплатить заказ
- оплата прошла успешно
- проверить заказ
реализовать логику
добавить в корзину
Основной функцией корзины покупок является хранение информации о продукте, выбранном пользователем, и расчет скидок на товары в корзине.
Процесс расчета скидки в корзине
Соответствующие точки внимания
- Поскольку скидки на товары рассчитываются в единицах товаров, а не в единицах товара, скидки на товары должны рассчитываться в единицах товаров;
- Логику реализации кода см. в методе calcCartPromotion в классе OmsPromotionServiceImpl.
Создать подтверждение
Форма подтверждения в основном используется для подтверждения пользователем информации о продукте, предпочтительной информации и информации о цене заказа, а также для выбора адреса доставки, выбора купонов и использования баллов.
Создать процесс подтверждения заказа
Соответствующие точки внимания
- Расчет общей суммы: общая стоимость всех товаров в корзине;
- Расчет скидки за активность: суммируется сумма скидки всех товаров в корзине;
- Расчет суммы к оплате: сумма к оплате = общая сумма - скидка за активность;
- Логику реализации кода см. в методе generateConfirmOrder в классе OmsPortalOrderServiceImpl.
Генерировать заказы
Информация в корзине обрабатывается, и заказ формируется путем синтеза информации о пользователе, разместившем заказ.
Процесс заказа
Соответствующие точки внимания
- Блокировка инвентаря: инвентарь был удален из
pms_sku_stock
Таблица запрашивается, поле lock_stock указывает количество заблокированных запасов, а количество элементов, видимых участниками, представляет собой реальный запас за вычетом заблокированного запаса; - Обработка дезагрегированного количества купонов: Рассчитайте дезагрегированное количество купонов, общих для всех сайтов, определенных категорий и определенных продуктов:
- Универсальность: все заказанные товары в корзине будут разделены поровну;
- Указанная категория: Товары соответствующей категории в корзине распределяются поровну;
- Указанные товары: указанные товары, включенные в корзину, распределяются поровну.
- Расчет фактической суммы оплаты для каждого товара в заказе: исходная цена - акционная скидка - вычет по купону - вычет баллов, акционная скидка - это сумма скидки, рассчитанная в процессе расчета скидки в корзине;
- Генерация номера заказа: используйте Redis для генерации, правила генерации: 8-значная дата + 2-значный номер платформы + 2-значный способ оплаты + 6-значный идентификатор автоинкремента;
- После использования купона необходимо изменить статус использования купона;
- Логика реализации кода может ссылаться на метод generateOrder в классе OmsPortalOrderServiceImpl.
отменить заказ
После создания заказа необходимо запустить задачу задержки, чтобы отменить заказ на сверхурочную работу.
Процесс отмены заказа
Соответствующие точки внимания
- Логику реализации кода см. в методе cancelOrder в классе OmsPortalOrderServiceImpl.
публика
проект торгового центраПолный набор учебных пособий сериализуется,Обратите внимание на общедоступный номерПолучите это прямо сейчас.