Java生鮮電商平臺-優惠券系統的架構設計與源碼解析前端
電商後臺:實例解讀促銷系統sql
電商後臺系統包括商品管理系統、採購系統、倉儲系統、訂單系統、促銷系統、維權系統、財務系統、會員系統、權限系統等,各系統之間相互關聯、相互依託,爲前端的正常業務流轉創建結實穩固的基礎。數據庫
促銷系統的主要目的是便於運營設置各類促銷方式,以提升商品的銷量、用戶的客單價等。後端
在後臺各系統中,促銷系統和商品管理系統、訂單系統關聯最大,商品管理系統爲促銷系統提供活動商品,用戶下單後,促銷優惠信息會展現在訂單系統中。架構
促銷系統主要包括促銷活動管理和促銷類型管理。網站
一、促銷活動管理包含活動信息和活動狀態管理:ui
活動信息spa
活動狀態架構設計
按照活動時間,可分爲未開始、進行中、已結束。設計
二、促銷類型通常包括:滿減、滿贈、滿折、加價購、特價、套餐、預售、秒殺等。
後臺建立促銷活動的流程通常是:
下面以示例來對各個促銷類型的建立進行簡單說明。
設置階梯滿減時,能夠對滿減額度作監控,以避免高額度的滿減值低於低額度的滿減值狀況出現。
上文有提過,各個電商平臺對於贈品的定義是不同的。有些平臺的贈品不會對外銷售,所以將贈品也做爲一個商品類型,僅用做贈送活動;而有些平臺則可將正常售賣商品做爲贈品。所以需根據平臺業務來定義贈品:如果第一種,則選擇贈品時,只顯示類型爲贈品的商品;如果第二種,則選擇贈品時,顯示全部的商品。
加價購活動的設置中,購買「活動商品」的金額達到加購設置的滿額時,能夠以加購價購買「加價購商品」。通常加價購商品的價格須要高於設置的加購價,所以選擇商品時,可對價格作監控,防止有商品價格太低。
注意:套餐價格不能超過套餐商品原價的總和。
預售是如今主流電商平臺常用的促銷手段。預售促銷不只能夠用定金抵押來刺激用戶購買商品,同時還能夠根據用戶的消費意願,判斷商品的市場,以此來有效規避庫存積壓。
秒殺促銷一般做爲引流利器,在某個秒殺時間段內吸引大量用戶前來搶購。
以上介紹的都是基礎的促銷方式,要讓促銷發揮其最大的優點,須要運營人員結合實際業務狀況、用戶需求進行設置。
系統化的產品經理逐漸在變得愈來愈重要,並非之前單純的頁面和交互來作產品,而是經過功能一步步延伸到模塊,再從模塊趨變於系統的架構。
當系統化變得愈來愈重要時,咱們就應該思考怎麼從大方向來思考產品,如何搭建產品架構?
咱們能夠回想:總體系統的搭建尤爲是以電商系統爲藍本,產品確定是要商業化,商業化就離不開電商變現,也就會涉及到電商管理系統。而如今電商後臺的體系成熟化、完整化,對咱們去理解系統自己都有很強的參考意義。
然而,每次逛電商網站,總有一大堆促銷活動。加上如今移動端社交電商的崛起,拉新和促活就是變得尤其重要。能夠說促銷活動的多樣化是平常運營的重要部分。
那麼,其實咱們在思考一下:爲何你們如此熱衷於促銷活動?
促銷的形態是基於已有商品管理的角度上針對於商品進行有關聯的促銷形態展現。商品中心的展現就變得尤其重要,對應的商品SKU、商品類目和商品價格(原價、促銷價)等有關商品的數據都須要有基礎展現。
促銷的方式有不少種,剛開始是把線下的促銷形式搬到了線上,好比:滿減促銷、贈品促銷、單品促銷、多買優惠促銷和定金促銷等。
而如今的促銷方式包含1元奪寶、秒殺活動、團購活動、拍賣活動、拼團等形態。接下來,就一一聊下這些形態的配置和展現形態。
B端商品常常會有批發模式,前端的展現:
經過模型描述:(針對單一的SKU造成組合,單一商品SKU和批發商品造成的「多對多」關係)
則後臺怎麼配置呢?
(1)批發商品列表(包含商品名稱、商家名稱、起訂量、是否啓用、產品審覈狀態和操做「查看、編輯和刪除」)
(2)編輯和新增批發商品展現界面
字段1:批發商品名稱是從商品列表中去選擇。
字段2:批發商品分類是從商品分類中選擇。
後續的字段:顯示採購、價格模式(階梯價格)、最小起訂量、庫存和商品屬性都是和批發活動對應的字段。
由此,能夠看出:「商品樣式——促銷類型——用戶關係信息」三者造成了促銷體系對應的內容。固然這個只是針對於單一的批發促銷方案,若爲o2o商城,能夠分爲自營和商家對應促銷管理。
優惠券是電商產品中最多見的促銷方式,不管是產品在哪一個階段都是最有效的促銷手段。優惠券的總體模型爲:
優惠券的基本展現樣式:(固然這只是一種展現樣式)
則後臺的配置和設置:
(1)通用券(主要針對於商品面值和使用門檻,以及每人限領張數),若商家發放的 一樣能夠添加指定商家等
(2)一樣購物券(場景主要是針對用戶購買商品後,給用戶返的優惠券)
主要增長了用戶獲取優惠券的門檻(購物滿XX元和容許參加的會員,容許參加的會員就須要和會員體系打通)
拼多可能是拼團活動的集大成者,規則是指定數量的人一塊兒購買某商品,能夠經過比較低廉的價格得到此商品。
拼團的邏輯爲:
前端的基本展現樣式爲:
那後端的開團列表爲:
編輯和新增拼單開團:
拍賣方式一直都有,只不過應用在商品中的樣式仍是比較少的,這裏稍微的介紹下:
前端展現樣式:
後臺須要建立拍賣列表:
對應的拍賣商品的編輯和新增:
固然這兒只列舉了這幾種優惠促銷的方案。還有不少種優惠促銷的方案,後面能夠一塊兒聊聊。
總結一下:
代碼與數據庫下載:
用於存儲優惠券信息,須要注意的是優惠券的使用類型:0->全場通用;1->指定分類;2->指定商品,不一樣使用類型的優惠券使用範圍不同。
create table sms_coupon ( id bigint not null auto_increment, type int(1) comment '優惠卷類型;0->全場贈券;1->會員贈券;2->購物贈券;3->註冊贈券', name varchar(100) comment '名稱', platform int(1) comment '使用平臺:0->所有;1->移動;2->PC', count int comment '數量', amount decimal(10,2) comment '金額', per_limit int comment '每人限領張數', min_point decimal(10,2) comment '使用門檻;0表示無門檻', start_time datetime comment '開始使用時間', end_time datetime comment '結束使用時間', use_type int(1) comment '使用類型:0->全場通用;1->指定分類;2->指定商品', note varchar(200) comment '備註', publish_count int comment '發行數量', use_count int comment '已使用數量', receive_count int comment '領取數量', enable_time datetime comment '能夠領取的日期', code varchar(64) comment '優惠碼', member_level int(1) comment '可領取的會員類型:0->無限制', primary key (id) );
用於存儲會員領取及使用優惠券的記錄,當會員領取到優惠券時,會產生一條優惠券的記錄,須要注意的是它的使用狀態:0->未使用;1->已使用;2->已過時。
create table sms_coupon_history ( id bigint not null auto_increment, coupon_id bigint comment '優惠券id', member_id bigint comment '會員id', order_id bigint comment '訂單id', coupon_code varchar(64) comment '優惠券碼', member_nickname varchar(64) comment '領取人暱稱', get_type int(1) comment '獲取類型:0->後臺贈送;1->主動獲取', create_time datetime comment '建立時間', use_status int(1) comment '使用狀態:0->未使用;1->已使用;2->已過時', use_time datetime comment '使用時間', order_sn varchar(100) comment '訂單號碼', primary key (id) );
用於存儲優惠券與商品的關係,當優惠券的使用類型爲指定商品時,優惠券與商品須要創建關係。
create table sms_coupon_product_relation ( id bigint not null auto_increment, coupon_id bigint comment '優惠券id', product_id bigint comment '商品id', product_name varchar(500) comment '商品名稱', product_sn varchar(200) comment '商品條碼', primary key (id) );
用於存儲優惠券與商品分類的關係,當優惠券的使用類型爲指定分類時,優惠券與商品分類須要創建關係。
create table sms_coupon_product_category_relation ( id bigint not null auto_increment, coupon_id bigint comment '優惠券id', product_category_id bigint comment '商品分類id', product_category_name varchar(200) comment '商品分類名稱', parent_category_name varchar(200) comment '父分類名稱', primary key (id) );
代碼與數據庫下載,請進QQ羣下載。(793305035)