Java生鮮電商平臺-促銷系統的架構設計與源碼解析

Java生鮮電商平臺-促銷系統的架構設計與源碼解析前端

 

說明:本文重點講解如今流行的促銷方案以及源碼解析,讓你們對促銷,納新有一個深刻的瞭解與學習過程.小程序

促銷系統是電商系統另一個比較大,也是比較複雜的系統,做爲一個賣貨的,當咱們準備好了店鋪、商品,那麼剩下的就是賣貨了。微信小程序

可是,賣的好很差,有時候並不取決與你的商品質量,而是會不會營銷,會不會作活動,甚至說即使你的商品質量很差。可是若是營銷活動作得好,那也是能夠賣的比別人掙錢的,因此促銷活動很重要。它須要分析市場結合自身條件合理的建立促銷活動,咱們理解的促銷活動多是優惠券,滿X減Y,和一些專題活動。微信

下面對促銷活動進行一個系統的總結:廣義上來講,一切爲了擴大商家銷售和用戶優點的行爲都屬於促銷活動。架構

鑑於軟件行業和電商系統的特徵,電商的促銷系統設計應該是分爲這幾個大的分類:促銷活動、CMS系統、優惠券、拼團。app

  • 優惠券:這你們可能很熟悉,設置優惠券的規則,而後進行發放,用戶能夠在購買商品的時候使用優惠券;
  • 拼團:這你們也很熟悉,好比:拼多多你們可能都用過,簡單來講須要設置拼團的人數,價格,當拼團人數達到時,拼團成功,而後進行發貨。
  • 促銷活動:促銷活動通常是與CMS系統一塊兒用的,促銷活動模塊用於設置活動的規則,而CMS系統用戶推廣活動。其實來講CMS系統對技術的要求是很高的,一些小的電商是不支持CMS的,那麼促銷活動就會經過廣告位進行推廣,或者不推廣。

先促銷活動,再說優惠券,再說拼團,下面詳細說說。學習

1、促銷活動

促銷活動是什麼呢?編碼

接觸電商系統設計的產品經理確定明白,促銷活動與優惠券相似,都是在購買商品時若是知足促銷條件或者優惠券的條件就會對用戶的購買進行優惠。spa

不一樣點在於:優惠券是具體的東西,他與商品是分離的,優惠券更加靈活,而促銷活動通常來講會與商品綁定,而且這種活動的制定可能還會與節日有關——清明節了,我要搞個促銷活動,促銷活動的目的性更強,既然是「活動」那麼也就註定了推廣的重要性。架構設計

這也就是爲何促銷活動要與CMS系統連用,能夠達到更好的宣傳效果,下面我從幾個方面說說促銷活動:

  1. 促銷活動都有哪些形式,每種形式的規則是什麼?
  2. 促銷活動具體的建立規則與業務流程?
  3. 促銷活動在訂單中的問題。
  4. 對促銷活動的管理。
  5. 促銷活動在產品中的具體設計方法。

1. 促銷活動的各類形式

滿減促銷:

滿減促銷是最多見的一種促銷活動,當訂單知足必定金額優惠必定金額,通常會產與多個訂單,好比:滿200減20。這樣,爲了可以得到優惠可能就會多買幾件,滿減促銷分爲兩種形式:每滿減和階梯滿減,在建立活動的時候只能選擇一種形式。

什麼每滿減呢?

——每滿X元減Y元,好比每滿100元減10元,若是訂單知足一個100元優惠10元,若是訂單知足兩個100元,優惠20元,以此類推。

什麼是階梯滿減呢?

——滿X1元減Y1元,滿X2元減Y2元,滿Xn元減Yn元,好比滿100減10元,滿200減300元,滿300減50元。

顯而易見階梯滿減是消費越多優惠比例越大,設置多個階梯,若是設置了每滿減同時設置階梯滿減確定會有衝突的,由於訂單金額相同時優惠金額可能不同,也就是說,不能共用。

單品促銷:

單品促銷就很簡單嘍,就是一件商品打折。

這裏說明一下哈,不只僅是這裏,全部的,你沒看錯,我是說全部的打折都支持兩種選擇,百分比打折和金額打折,在設置打折規則的時候進行單選百分比或者固定金額。

那麼,百分比打折和固定金額打折不一樣點在於哪呢?

差別化的形成主要體如今價格的變更上,當價格變更對摺扣打折是沒有影響的。由於是按比例計算,而對於固定金額打折就會有影響,不管價格的太高或者太低,都會形成優惠金額的不合理。可是,固定金額打折的優點是易於消費者理解,優惠價格可控,對於資金的掌控更加穩定。

在進行百分比打折的時候,前端同時顯示折扣比例和折扣金額。

套裝促銷:

套裝促銷就是多件商品捆綁銷售,設置套餐價格,可是在設置的時候其餘促銷形式有所不一樣。不一樣點主要體如今前端的展現上,其餘的促銷得到是依附在某個商品之上的,當咱們進入商品詳情頁就會看到促銷活動的介紹。而後選擇規格當,數量等信息,當選擇知足條件後就會實現優惠。

而套裝促銷是多商品,下面的贈品促銷,滿贈促銷也是同樣,這種多商品的促銷在展示形式上有所不一樣。

首先來講,咱們在設置套裝的時候確定選擇多個商品,而每個商品確定會有多個SKU信息,那麼說咱們在選擇商品的時候應該精確到商品的SKU,也就是把規格選出來。

爲何要這樣選呢?由於咱們最終要設置套餐價格,那麼這個套餐價格確定基於某個肯定的原價的,也就是每一個套裝商品的SUK價格。

其次,咱們要考慮到前端的展現問題。

既然是促銷活動,咱們如今還原一個場景:

小張沒有鞋穿了,要去商場買鞋,而鞋子確定有不少規格,小張要買43碼紅色的鞋子100元,若是選擇43碼黑色的鞋子可能就是200元了。

這個時候服務員告訴他:咱們如今搞套裝活動,紅色的鞋子加紅色的襪子一共110元,紅色的鞋子加紅色的襪子一共120元,黑色的鞋子加紅色的襪子一共210元,黑色的鞋子加黑色的襪子一共220元,紅色襪子單獨購買20元,黑色襪子單獨購買40元。

那麼,在這種場景下,小張的選擇是多樣化的,他能夠選擇任意的組合,而後給錢就好了。可是,若是把這種場景還原到產品設計中就會產生不少問題。

緣由很簡單:咱們在線下購買商品,當咱們提交訂單以前,咱們面向的是全部的商品。而在網上購物的時候,咱們要進入某一個具體的商品才能看到促銷活動——咱們在網上看到一雙鞋,而後活動是加上某個襪子110元,難道咱們要返回首頁在去尋找那個襪子嗎,顯然是不行的。

也就是說,套裝的選擇要在鞋子這個商品的詳情頁面完成,但是鞋子的商品詳情頁只能展現鞋子的,好比:尺碼,顏色;是沒法選擇襪子的規格信息的。

因此,通常來講有兩種處理方式:

  1. 直接把套裝作成商品。
  2. 在商品詳情頁面增長套裝選項。

直接把套裝作成商品:

這個跟商品的編輯流程是同樣的,咱們在定義商品標題的時候,直接把它寫成某個套餐,好比:化妝品套餐,而後利用規格設置不一樣的套餐價格。

比方說:套餐一牙刷+牙膏10元,套餐二牙刷+牙膏+杯子12元,套餐三單個牙刷5元,以此類推。可是,這種也能夠實現套裝促銷的效果,可是這種方式卻偏了促銷系統的設計規則。其實根本沒有促銷規則,商品自己的設定就是套裝也就沒有規則可言。

在商品詳情頁面增長套裝選項:

這種方式就是設置完套裝後,在相關商品的詳情頁面在選擇規格的時候增長套裝選項。當選擇某個套裝後顯示套裝信息,套裝信息是某個具體的SKU信息,套裝和主商只能二選一,選擇商品就不能購買套餐,選擇套裝就不能在選擇商品信息了。

下面舉一個例子:

有A B C D E 五個SKU信息,要進行不一樣的套裝組合,AB AC AD AE BC BD DE ,這是7個套裝。

那麼,在咱們進入A商品的詳情頁面時,套裝信息就會顯示全部的,由於跟它都有關。當咱們進入B商品的詳情頁面時,顯示AB BC 兩種套餐,由於B只有這兩種套裝。同理,當咱們進入E時,顯示AE DA ,也就是說只顯示跟當前商品有關的套裝信息。這是這種設置方式,其實來講產品的設計形式沒有固定的,咱們也總在尋求更好的解決方案。

贈品促銷:

贈品促銷也是多商品,當咱們在購買主商品知足贈品條件後,就會得到贈品,有兩種方式:

  1. 只要購買主商品就會得到贈品。
  2. 購買必定數量才能獲取贈品。

而贈送的形式也有兩種:所有贈送,贈送一件或者N件。

在設置的時候咱們首先要選擇主商品、滿贈條件——購買即贈仍是制定購買數量贈送。

而後選擇贈品——能夠選擇多個,是所有贈送仍是部分贈送,對於贈品只須要在專題頁面說明就能夠了,而後在詳情頁面介紹贈品信息。

加價優惠:

加價優惠是當咱們知足了必定金額,若是在多付必定的金額就會優惠多少,或者免費贈送什麼。

好比:咱們一共花了120元想去結帳,而後系統提示你,當訂單金額達到150元就是享受-20優惠,或者贈送某某商品。對於加價優惠要選擇商品,而後設置當滿X元,在加Y元時,優惠N元或者免費送F商品,這樣設置。

多買優惠促銷:

多買優惠促銷就是買的越多,優惠越大,能夠設置必定金額隨便買幾件,或者當幾件的時候極則,規則的核心是商品的件數——也就是多買。

這個地方既然是多買,那麼在設置活動的時候確定要設置活動的商品池——能夠逐個拉去,也能夠按分類拉去,多買優惠只有在這些商品上才能生效,其餘商品不生效,在設置規則的時候能夠設置。

  1. 訂單滿X件N折
  2. 訂單金額X元內任意購

根據具體狀況設定。

定金促銷:

定金促銷通常會出如今商品預售的時候,當商品進行預售時,設置定金促銷,用戶提早付定金能夠抵扣必定金額。

好比:定金30抵扣50,至關於優惠50元,當商品進行發售的時候付尾款便可完成訂單。

2. 促銷活動的建立規則與業務流程

促銷活動的建立分爲三個步驟:

  1. 設置活動基本信息:好比活動的標題,活動時間?
  2. 設置活動的規則:滿贈促銷仍是單品促銷,規則是什麼?
  3. 設置活動商品:參與活動的商品是什麼?

建立完成。

2.1 設置活動的基本信息

活動標題:設置活動的標題,能夠設置多個標題,不一樣標題的做用不一樣,根據需求看你須要幾個標題,而後每一個標題展現在哪裏。

活動編碼:活動的惟一編碼,建立活動是自動生成,這種編碼很常見,不只僅是這裏,好比訂單的編碼,帳單的編碼,這些編碼的規則,通常與時間,用戶,商品等聯繫進行組合設置。

活動時間:設置活動的時間,只有在時間範圍內活動才生效,若是活動時間未到可是活動開啓了,須要在前端進行倒計時提高。

推廣渠道:商城通常會有不少用戶端,選擇活動在哪裏投放:H5,公衆號,微信小程序,支付寶小程序,APP,PC端商城。

限購數量:商品的限購數量,從這幾個方面來考慮,每項都是默認不限購,之因此進行限購主要是考慮到庫存的緣由:

  1. 每一個商品的限購數量:當此商品賣出X件不在參與活動。
  2. 商品的總數量:參與活動全部的商品一共多少?
  3. 每一個用戶的限購數量:每一個用戶最多能夠購買多少件,達到上限不可繼續參與活動,

用戶範圍:活動的用戶範圍,當用戶在範圍內才能參與活動,不然沒法參與活動,默認不限制用戶範圍。

  1. 選擇指定用戶:從用戶列表進行獲取多個用戶。
  2. 用戶會員等級:選擇那個等級的會員才能夠參與活動。
  3. 用戶分組:那個用戶組才能夠參與活動。

對於用戶範圍的限定,主要看後臺是如何對用戶進行分類的,根據這些分類記性限購,若是用戶有標籤;也能夠根據標籤進行限購——若是分新用戶,老用戶,也能夠根據此限購,主要取決於系統的設置。

是否與優惠券通用:通常來講促銷活動是不與優惠券通用的,如今市面上的電商促銷活動又不會與優惠券通用,因此這個地方能夠再後臺寫死,只要是參與促銷活動的商品都不與優惠券通用。

推廣連接:建立活動時會自動生成活動連接和活動二維碼用戶推廣使用。

 

2.2 設置活動的規則

在上面已經介紹了活動的形式以及它們不一樣的規則,但咱們設置完活動的基本信息後就要設置活動的規則分類兩步:

  1. 選擇活動類型:滿減,單品,套裝,贈品,加價,多買,定金。
  2. 不一樣的活動其規則確定是不一樣的,而後設置活動的規則。

滿減:

選擇滿減類型:階梯滿減、每滿減

設置滿減規則:

  • 階梯滿減:滿X1減Y一、滿X2減Y二、滿Xn減Yn……
  • 每滿減:訂單每滿X元減Y元

單品:

選擇打折形式:百分比、指定金額

設置打折程度:

  • 百分比:X%
  • 指定金額:X元

套裝:設置套裝價格——X元

贈品:

  1. 設置贈送條件:買即贈、買X件即贈
  2. 選擇贈送數量:所有贈送,部分贈送(贈送幾件)

加價:

  1. 設置當滿X元時加Y元時生效
  2. 設置獎勵形式:減N員或者送F商品

多買優惠:設置多買形式——M件N折或者X元任意購

定金:設置定金金額X抵扣金額Y

2.3 設置活動商品

當咱們設置完促銷規則的時候就要選擇活動商品了,無論是什麼類型的活動都要選擇活動商品。只是不一樣的活動選擇商品的規則不同,咱們來看下:不一樣促銷活動他們選擇活動商品時,有什麼不一樣?

  • 滿減:選擇所有商品或者部分商品,部分商品能夠根據分類,品牌進行篩選,能夠手動制定某些商品。
  • 單品:選擇某一個商品。
  • 套裝:選擇多個商品組合,每一個組合表明一個套裝,這裏注意,套裝商品的選擇須要精確到SKU。
  • 贈品:選擇主商品,而後選擇贈品,贈品可多選可單選,贈品要精確到SKU。
  • 多買優惠:這個選擇商品的形式有所不一樣,要選擇商品池,構建一個商品的水池,水池裏的商品即爲活動商品的範圍,用戶參與活動必須到水池裏選擇商品。
  • 加價:設置商品範圍,若是獎勵形式是贈品,須要設置贈品。
  • 定金:選擇定金商品。

2.4 活動建立完成

KO,到如今爲止促銷活動的建立已經完成,咱們總結一些:

首先,定義活動的基本規則,這些基本規則確定是通用的,它不影響活動規則。

而後,設置活動規則,不一樣的活動有不一樣的形式,而不一樣的形式有不一樣的設置規則。

最後,根據不一樣的活動規則選擇參與活動的商品。

這樣活動就建立完成了,這是促銷活動的建立方式與流程。無論什麼樣的促銷活動均可以這樣來設置,要把基本設置,活動規則,參與商品相互分開,這樣有利於咱們理解。下面,最後說說促銷活動在訂單流程中的問題。

3. 促銷活動在訂單流程中的問題

當用戶進行下單的時候,首先要判斷:商品是否參與促銷活動?參與哪一個促銷活動?

而後,判斷:是否知足促銷規則?知足哪一個促狹規則?

最後,計算知足狀況下,優惠的金額是多少?在用戶訂單付款頁面要告訴用戶優惠金額是多少?

  • if(活動商品){哪一個活動}
  • if(規則1){優惠金額計算}
  • else if(規則2){優惠金額計算}
  • erse if(不是活動商品)(不計算優惠)

當用戶下單完成後,多個商品能夠放在一個訂單下統一發貨,不能統一發貨須要進行拆單,訂單的詳細問題如今先不說,之後會專門講訂單。

4. 對促銷活動的管理

促銷活動的管理是管理已經建立出來的活動列表,主要管理的是活動的狀態和編輯活動,刪除活動。

編輯活動:當活動建立完成後可能由於一些緣由須要修改,這個時候須要去編輯。

刪除:刪除活動後,活動將直接終止。

活動狀態管理:未開始,活動中,以結束,是否投放。

  • 未開始:活動時間未到。
  • 活動中:處在活動時間內。
  • 已結束:活動時間已過。

是否投放:當投放以後活動纔會生效,投放狀態與活動時間狀態(其餘三個狀態)相互獨立,互不影響,不管是否投放都有可能處在其餘三個狀態中的一個,時間狀態是沒法操做的,能夠操做投放狀態。

刪除:直接刪除活動,若是活動正在活動中,那麼活動將直接終止。

5. 促銷活動在產品中的具體設計方法

5.1促銷活動的前端展現

促銷活動在用戶端的展現主要體如今詳情頁面和列表頁面,當知足促銷活動是要在商品的列表頁面加上標籤。

好比:

  • 「滿減」:在商品的詳情頁面要加上促銷欄目。
  • 「促銷:滿100件10元」,讓用戶能夠看到,若是是套裝商品和贈品,須要展現每一個商品的SKU信息、商品圖片、價格、規格等。

5.2 促銷活動的後臺設計

促銷活動屬於促銷系統的一部分,對於後臺的設計,活動管理和建立活動兩個部分。

建立活動:一個建立活動的菜單,點擊進去就是建立頁面、填各類表單、最後保存,表單的內容上面已經說了,就是促銷活動的建立流程。

活動管理:一個活動管理菜單欄,點擊進去是活動列表,管理活動狀態、投放狀態、刪除。

2、優惠券

優惠券與促銷活動的不一樣點是:優惠券突出的是商品。

當咱們要買哪一個商品時,咱們會考慮用哪一個優惠券,而從設計上來講,專題活動要比優惠券難度高。

1. 優惠券的各類類型

現金券:優惠券直接抵扣現金,不設置使用門檻,好比:50元現金券,現金券之因此稱之爲現金券,就是由於它能夠當作現金直接使用,至關於你本身的錢,沒有訂單金額的限制。

滿減券:與促銷活動的滿減相似,當訂單知足必定金額纔可使用優惠券,好比:滿200減20元。

折扣券:在購買某些商品是能夠進行打折,好比8折,那麼100塊錢的東西就是80元。

單品券:單品券是針對特定的商品纔可使用,指定特定商品後能夠設置滿減或者折扣或者現金券。

分類券:分類券是針對特定分類的商品纔可使用,指定分類後設置滿減或者折扣或者現金券。

品牌券:品類券是針對特定品牌的商品纔可使用,指定品牌後設置滿減或者折扣或者現金券。

平臺券:平臺券適用於全部的店鋪的優惠券,不管在哪一個商家,哪一個店鋪,均可以使用,優惠金額由平臺承擔。

店鋪券:店鋪券是入駐平臺的商家本身發佈的優惠券,只在本店鋪有效,優惠金額由店鋪承擔。

2. 優惠券的設計規則

優惠券的設計規則分爲三步:

  1. 建立優惠券
  2. 領取優惠券
  3. 優惠券覈銷

2.1 建立優惠券

在建立優惠券的時候須要填寫相關的信息,以及選擇一些信息。

優惠券名稱:給優惠券起一個名稱。

選擇優惠券類型:現金券,折扣券,滿減券。

優惠券面值和使用條件:現金券(X元)、折扣券(滿X元Y折)、滿減券(滿X元減Y元)。

推廣渠道:優惠券的發放渠道:公衆號、小程序、app、PC端商城。

有效時間:優惠券的有效時間,這裏有兩種時間的設置方式,相對時間和絕對時間;相對時間(用戶領取後X天內有效)、絕對時間(開始時間——結束時間內有效),時間的設置應該應該精確到某年某月某時某分。

使用範圍:設置優惠券的使用範圍,所有商品可用,仍是部分商品可用,若是是部分商品可用能夠經過分類品牌進行篩選,最後能夠選擇指定商品不可用;也能夠直接指定某些商品可用。

返還規則:返還規則主要考慮到退款退貨的狀況,從訂單的流程上來講分爲正向流程和逆向流程。

  • 正向流程是指:用戶正常下單最後收穫,沒有退款退貨操做。計算訂單金額時須要減去優惠券的金額,告訴用戶優惠金額是多少
  • 逆向流程是指:用戶付款以後發生退款,退貨操做

逆向流程主要考慮到優惠券的返還問題——怎麼返還?

由於可能有不少個商品才同時知足優惠,用戶若是僅僅退某款商品該怎麼辦,退款的細節之後講訂單的時候再說還涉及到一些結帳分傭的問題,那麼如今在這個地方優惠券的返還規則。

  1. 統一不返還:優惠券用了就不能退了,無論你退貨仍是退款。
  2. 優惠分攤:當多個商品知足優惠券使用條件可是用戶退款某個商品時,以優惠券的形式返還給用戶改商品分攤的優惠金額。優惠券的使用條件不變,好比用戶用了一張滿200減60的優惠券,訂單有兩個商品——一個60元,一個120元,根據權重,這減的60元屬於60元商品20元,屬於120元商品40元,用戶退120元商品的就返還給用戶一張滿200減40的優惠券,那個也同樣。

2.2 領取優惠券

優惠券的領取方式有兩種:主動領取和被動領取。

主動領取:用戶須要在個人優惠券界面主動領取才可使用優惠券。

被動領取:直接發送給用戶,默認領取。

2.3 優惠券覈銷

當用戶下單時須要判斷提示用戶使用哪一種優惠券,邏輯上分爲如下幾個步驟:

  1. 從用戶的優惠券列表中篩選可用的優惠券,是不是有效時間,是否在商品範圍以內,這裏用戶未領取的優惠券一同計算。
  2. 若是有多種優惠券知足使用條件默認給用戶使用優惠金額最高的。
  3. 若是金額相同默認爲用戶選擇使用快過時的優惠券。

3. 優惠券的管理

優惠券的管理,主要是:統計優惠券的使用狀況。

優惠券發放了多少?用戶領取了多少?覈銷了多少?剩餘多少?這些操做對應的時間是何時?

4. 優惠券的產品設計方法

4.1 優惠券的前端展現問題

咱們主要考慮:優惠券在什麼地方展現?展現的形式是什麼?

——展現的位置主要有商品詳情頁面,我的優惠券中心頁面。

商品詳情頁面須要展現用戶領取的和未領取的包含在商品下的優惠券,只要是屬於商品下的優惠券都須要展現出來。

我的優惠券中心展現用戶全部的優惠券,已用的、沒有用戶,提供領取入口,用戶進入能夠領取優惠券。

4.2 優惠券管理的後臺設計方法

優惠券的後臺設計,分爲兩個菜單:建立優惠券,優惠券管理

  1. 建立優惠券:點擊建立優惠券菜單進入編輯頁面,須填寫先關信息,選擇相關信息,表單內容爲 2.2.1建立優惠券的各類信息能夠去上面看;建立完成點擊保存優惠券建立成功,在優惠券管理菜單裏顯示
  2. 優惠券管理:主要以列表的形式展現優惠券。

優惠券的管理,主要是對優惠券的統計做用列表信息爲下:

  • 優惠券信息:優惠券名稱,優惠券金額,使用條件
  • 推廣信息:展現推廣的渠道
  • 發放量、領取量、覈銷量。

若是是沒有發放完成的優惠券能夠執行中止發放或者繼續發放操做,還能夠執行刪除操做,刪除後前端的領券中心將沒有優惠券,同時從後臺的優惠券管理中刪除。

相關文章
相關標籤/搜索