• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      輕量級促銷活動系統(tǒng)

      2023-07-10 13:45:55齊云浩
      計算機應(yīng)用文摘·觸控 2023年11期
      關(guān)鍵詞:設(shè)計模式

      關(guān)鍵詞:Java Web;促銷規(guī)則引擎;促銷活動;設(shè)計模式

      中圖法分類號:F721 文獻標識碼:A

      1基本設(shè)計方案

      1.1功能模塊結(jié)構(gòu)設(shè)計

      1.1.1后端功能

      (1)促銷活動動態(tài)配置。

      促銷活動通過配置頁面,配置不同的促銷規(guī)則,可以配置促銷的基本信息、促銷類型、時間周期、疊加規(guī)則、促銷范圍、促銷商品等。

      (2)促銷活動自啟和自停。

      系統(tǒng)定時掃描完成配置的促銷活動,在時間規(guī)則命中的范圍內(nèi)自動啟用,在時間規(guī)則范圍外自動失效。

      (3)促銷算價。

      實時算價:在PC端收銀臺或小程序結(jié)算頁面,基于購買商品,實時計算本次結(jié)算最優(yōu)金額,即命中的最優(yōu)促銷活動。

      1.1.2前端功能

      (1)促銷活動配置。

      前端構(gòu)建促銷活動配置頁面,基于不同的促銷類型切換不同的配置方式,主要包含促銷基本信息配置、促銷類型配置、時間周期規(guī)則配置、促銷范圍配置、促銷商品配置,以及活動頁展示配置等,

      (2)收銀臺支持促銷算價。

      推薦算價:支持展示推薦的最優(yōu)算價,內(nèi)部集成促銷活動,會員等級折扣,優(yōu)惠券等優(yōu)惠方式下的最優(yōu)價格。

      手工算價:支持切換促銷活動,會員等級或優(yōu)惠券等單一優(yōu)惠方式。

      1.2系統(tǒng)框架結(jié)構(gòu)設(shè)計

      1.2.1促銷概念定義

      (1)促銷大類。

      單品促銷:針對指定商品,進行單一化的促銷。

      買贈促銷:針對指定商品,進行贈品附加贈送。

      條件促銷:針對指定商品,在滿足某種規(guī)則條件下,才可以命中促銷優(yōu)惠,其中條件包含滿減促銷,滿件促銷,第N件折扣等。

      (2)促銷類型。

      單品促銷:只針對商品緯度的單一化促銷方式,例如,特價商品,即一口價商品;固定折扣比例商品,即打折商品。

      買贈促銷:針對指定商品的購買,進行贈品贈送的促銷活動,贈品可以有多個也可以任選一個。

      滿減促銷:滿減,針對指定商品的購買,商品總價滿X元,進行減免Y元的促銷活動;每滿減,針對指定商品的購買,商品總價每滿X元,多次減免Y元的促銷活動;滿額折扣,針對指定商品的購買,商品總價滿X元,進行打Y折扣的促銷活動;階梯滿減,針對指定商品的購買,商品總價滿足多個不同的門檻金額,進行對應(yīng)不同的減免金額的促銷活動。

      滿件促銷:M件N元,針對指定商品的購買,商品總件數(shù)滿M件,則支付N元的促銷活動,例如,某商品3件10元;滿M件折扣,針對指定商品的購買,商品總件數(shù)滿M件,進行打N折扣的促銷活動,例如,某商品3件6折;滿M件免,針對指定商品的購買,商品總件數(shù)滿M件,則進行減免Ⅳ件價格的促銷活動,例如,某商品買2送1,即滿3件免1件;滿M件立減,針對指定商品的購買,商品總件數(shù)滿M件,進行減免Ⅳ元的促銷活動。同時,以上指定商品包含任意商品,相同商品和不同商品3種情況。

      第N件打折:第N件折扣,針對指定商品的購買,商品購買N件,則對第N件商品進行打X折扣的促銷活動;第N件立減,針對指定商品的購買,商品購買N件,則對第N件商品進行減免X元的促銷活動;第N件特價,針對指定商品的購買,商品購買Ⅳ件,則對第N件商品進行特價的促銷活動。

      1.2.2基礎(chǔ)模型設(shè)計

      (1)促銷基礎(chǔ)信息。

      用于配置促銷活動的基本信息,包含促銷名稱、促銷大類、促銷類型、促銷級別、疊加規(guī)則等基礎(chǔ)信息。

      (2)促銷規(guī)則定義。

      用于配置促銷的核心規(guī)則,抽象為RULE和ACTION兩個概念。

      RULE:促銷條件規(guī)則,即在滿足什么條件下,促銷才可以生效,為空代表無條件。

      ACTION:促銷行為,即消費活動滿足Rule后,將執(zhí)行的優(yōu)惠動作規(guī)則。

      (3)促銷時間規(guī)則。

      用于配置促銷活動生效的時間范圍。

      普通時間段:指定開始時間和結(jié)束時間。

      限制時間段:在普通日期時間段下,可以進行進一步的細化,可指定某些時間范圍內(nèi)不可命中促銷活動,例如,2022年12月1日~2022年12月31日,每天或某幾天的15:00至16:00不可命中促銷活動。

      (4)促銷覆蓋人群。

      用于配置促銷活動能夠覆蓋的人群范圍,可基于會員級別指定范圍或基于標簽人群指定范圍。

      (5)促銷商品。

      用于配置促銷活動覆蓋的商品范圍。其商品覆蓋范圍分為基于商品維度的選擇、基于商品主類別維度的選擇、基于商品多級品類維度的選擇、從細粒度到粗粒度的多種選擇方式。

      1.2.3基于設(shè)計模式的架構(gòu)模型設(shè)計(見圖1)

      (1)上下文模型。

      促銷處理器工廠:使用設(shè)計模式之工廠模式,工廠類根據(jù)傳入的標記,創(chuàng)建對應(yīng)產(chǎn)品的實例.即創(chuàng)建一個促銷處理器生成工廠,通過傳入的促銷處理器類型,創(chuàng)建對應(yīng)類型的促銷處理器實例。

      促銷處理器執(zhí)行鏈:使用設(shè)計模式之責任鏈模式,將請求的發(fā)送者和請求的處理者解耦合,使多個處理者都有機會處理這個請求,即創(chuàng)建一個促銷處理器責任鏈,將命中的多個由促銷處理器工廠創(chuàng)建出來的促銷處理器實例,按照順序規(guī)則掛載到此促銷處理器責任鏈上,使得促銷算價請求,可以被多個促銷處理器依此處理。

      核心計算模型:使用設(shè)計模式之中介者模式,用一個中介對象來封裝一系列的對象交互,即創(chuàng)建一個促銷計算單元對象,其中封裝了鏈路促銷信息、促銷商品信息、促銷疊加規(guī)則等,作為促銷計算的核心單元。

      (2)處理器抽象模型。

      促銷執(zhí)行器接口:使用設(shè)計模式之策略模式,使用一系列的算法,將一些對象封裝起來,使其可以在不同的場景進行切換,即通過一個促銷處理器上層接口,其中定義一系列算法規(guī)則,不同的促銷處理器實現(xiàn)類實現(xiàn)同一個上層接口,并實現(xiàn)具體的算法邏輯。

      促銷執(zhí)行器抽象類:使用設(shè)計模式中的模板模式,定義一個算法結(jié)構(gòu),并將一些步驟延遲到子類實現(xiàn),即創(chuàng)建一個促銷處理器抽象類,其中定義一些計算方法結(jié)構(gòu),內(nèi)部實現(xiàn)公共計算邏輯,同時將一些差異計算邏輯下放到實現(xiàn)此促銷處理器抽象類的子類促銷處理器中,并具體實現(xiàn)。

      (3)處理器實現(xiàn)模型。

      促銷執(zhí)行器(單品促銷-特價):實現(xiàn)單品促銷中特價計算邏輯。

      促銷執(zhí)行器(單品促銷-折扣):實現(xiàn)單品促銷中折扣計算邏輯。

      促銷執(zhí)行器(條件促銷-滿減促銷-滿減):實現(xiàn)滿減促銷中的滿減計算邏輯。

      促銷執(zhí)行器(條件促銷-滿減促銷-每滿減):實現(xiàn)滿減促銷中的每滿減計算邏輯。

      促銷執(zhí)行器(條件促銷-滿減促銷-階梯滿減):實現(xiàn)滿減促銷中的階梯滿減計算邏輯。

      促銷執(zhí)行器(條件促銷-滿減促銷-滿額折扣):實現(xiàn)滿減促銷中的滿額折扣計算邏輯。

      促銷執(zhí)行器(條件促銷-滿件促銷-滿M件折扣):實現(xiàn)滿件促銷中的滿M件折扣計算邏輯。

      促銷執(zhí)行器(條件促銷-滿件促銷-滿M件立減):實現(xiàn)滿件促銷中的滿M件立減計算邏輯。

      促銷執(zhí)行器(條件促銷-滿件促銷-M件N元):實現(xiàn)滿件促銷中的M件N元計算邏輯。

      促銷執(zhí)行器(條件促銷-滿件促銷-滿M件免):實現(xiàn)滿件促銷中的滿M件免計算邏輯。

      促銷執(zhí)行器(買贈促銷-買贈促銷-贈品任選1):實現(xiàn)買贈促銷中贈品任選1計算邏輯。

      促銷執(zhí)行器(條件促銷-第N件促銷-第N件特價):實現(xiàn)第N件促銷中第N件特價計算邏輯。

      促銷執(zhí)行器(條件促銷-滿件促銷-第N件立減):實現(xiàn)第N件促銷中第N件立減計算邏輯。

      促銷執(zhí)行器(條件促銷-滿件促-第N件折扣):實現(xiàn)第N件促銷中第N件折扣計算邏輯。

      2詳細實現(xiàn)過程

      2.1技術(shù)框架引入

      2.1.1后端技術(shù)

      (1)程序?qū)崿F(xiàn)語言。

      Java:Java是一種面向?qū)ο蟮母呒壋绦蛘Z言,且具有大部分編程語言所共有的一些特征,其被用在互聯(lián)網(wǎng)的分布式環(huán)境中。

      (2)數(shù)據(jù)庫。

      MySQL:MySQL是一個關(guān)系型數(shù)據(jù)庫管理系統(tǒng),通過字段維度關(guān)聯(lián),表示數(shù)據(jù)間的關(guān)系,是一個主流的關(guān)系型數(shù)據(jù)庫系統(tǒng)。

      (3) Web應(yīng)用服務(wù)器。

      Tomcat:Web應(yīng)用服務(wù)器,用來部署Web應(yīng)用,對外提供HTTP訪問服務(wù)。

      2.1.2前端技術(shù)

      (1)程序?qū)崿F(xiàn)語言。

      VUE:-款用于構(gòu)建用戶界面的JavaScript框架。它基于標準Html,CSS和JavaScript構(gòu)建,并提供了一套聲明式、組件化的編程模型,幫助開發(fā)者高效地開發(fā)用戶界面。

      (2)后臺頁面UI框架。

      ELEMENTUI:ELEMENTUI是一套UI框架,封裝了后臺管理頁面常用組件,與Vue完美契合,可以快速構(gòu)建功能型頁面。

      2.2設(shè)計模式引入

      2.2.1單例模式

      定義:確保某一個類只有一個實例,而且自行實例化并向整個系統(tǒng)提供這個實例。

      使用:通過使用Spring框架中的單例模式,將交給Spring IOC容器管理的Bean定義為單例對象,并通過依賴注入DI的方式,提供訪問點。

      2.2.2工廠模式

      定義:定義一個用于創(chuàng)建對象的接口,讓子類決定實例化哪一個類。工廠方法使一個類是實例化延遲到其子類。

      使用:定義用于生成促銷處理器的促銷處理器工廠類,用于實例化具體的促銷處理器對象。

      2.2.3策略模式

      定義:定義一組算法,將每個算法都封裝起來,并使他們之間可以互換。

      使用:將不同的促銷處理器的邏輯封裝成不同的算法對象,使得不同的促銷處理器計算邏輯相互沒有影響,通過結(jié)合靜態(tài)工廠的方式,將這些促銷處理器算法對象進行統(tǒng)一管理,并使用Java多態(tài)特性,通過不同的關(guān)鍵字KEY,使得不同的促銷處理器對象可以相互替換使用。

      2.2.4責任鏈模式

      定義:使多個對象都有機會處理請求,從而避免請求的發(fā)送者和接受者之間的耦合關(guān)系,將這些對象連成一條鏈,并沿著這條鏈傳遞更改請求,直到有對象處理它。

      使用:促銷活動的業(yè)務(wù)場景存在一次消費行為命中多個促銷活動的情況,并且促銷活動可相互疊加,類比為一個請求,需要被多個促銷處理器對象處理,并且按照一定規(guī)則順序處理;創(chuàng)建一條執(zhí)行鏈,將命中的促銷處理器掛載到鏈上,請求沿著執(zhí)行鏈傳遞計算。

      2.2.5中介者模式

      定義:用一個中介對象來封裝一系列的對象交互,中介者使得各對象不需要顯式的相互作用,從而使其耦合松散,而且可以獨立改變它們之間的交互。

      使用:定義一個促銷處理單元對象,在促銷執(zhí)行鏈執(zhí)行的過程中,單元對象將過程中使用到的相關(guān)元數(shù)據(jù)進行封裝和處理。

      2.2.6模板模式

      定義:定義一個操作中算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變一個算法的結(jié)構(gòu)即可重新定義該算法的某些特定步驟。

      使用:定義一個促銷執(zhí)行器抽象類,用于規(guī)范促銷執(zhí)行器的算法結(jié)構(gòu),并且在其中實現(xiàn)一些公共的算法邏輯,同時一些結(jié)構(gòu)性的方法交給子類去重載實現(xiàn),保證不會改變促銷執(zhí)行器計算的邏輯步驟。

      2.3數(shù)據(jù)庫設(shè)計

      數(shù)據(jù)庫設(shè)計如圖2所示。

      2.4核心業(yè)務(wù)邏輯設(shè)計

      2.4.1創(chuàng)建促銷活動

      創(chuàng)建促銷活動如圖3所示。

      2.4.2消費行為命中促銷

      消費行為命中促銷如圖4所示。

      2.5核心代碼實現(xiàn)邏輯

      2.5.1促銷處理器上層接口

      作用:用來定義算法結(jié)構(gòu),規(guī)范實現(xiàn)類的算法結(jié)構(gòu)邏輯。

      接口:IPromotionHandler

      方法:void embark(Promotionlnfo promotionlnfo);∥裝載促銷信息

      Uhandler f PromotionHandlerChain promotionHandlerChain,U unit);∥沿鏈執(zhí)行

      IPromotionHandler clone();∥克隆促銷處理器

      2.5.2促銷處理器靜態(tài)工廠

      作用:用來存取促銷處理器實現(xiàn)類的實例化對象的靜態(tài)集合。

      工廠類:PromotionHandlerFactory

      方法:public static void register(args){}∥注冊促銷處理器實例化對象到靜態(tài)工廠

      public static IPromotionHandler get(args){}∥獲取促銷處理器實例化對象

      2.5.3促銷處理器責任鏈

      作用:用來定義促銷處理器執(zhí)行的鏈路,促銷處理器沿著此鏈路執(zhí)行。

      責任鏈類:PromotionHandlerChain

      2.5.4促銷處理器抽象類

      作用:用來定義促銷處理器的算法結(jié)構(gòu),并將一些邏輯延遲到子類實現(xiàn)。

      抽象類:AbstractPromotionHandler implements IPromotionHandler

      方法:protected abstract Class getRuleClazz();∥促銷定義規(guī)則class獲取

      protected abstract Class getActionClazz();∥促銷定義動作class獲取

      protected abstract PromotionModeEnumembarkPromotionMode();∥當前促銷模式

      protected abstract BigDecimal calclnfo(args){}∥促銷計算

      public PromotionCalcUnit handler(args){}∥促銷執(zhí)行

      2.5.5促銷處理器實現(xiàn)類

      作用:“單品促銷.特價優(yōu)惠”的具體實現(xiàn)。

      實現(xiàn)類:SpecialSalePromotionHandler extendsAbstractPromotionHandler

      方法:protected ClassgetRuleClazz(){return Rule.class;}

      protected Class getActionClazz() {returnAction.class:}

      protected PromotionModeEnumembarkPromotionMode(){return SPECIAL_SALE;}

      protected abstract BigDecimal calclnfo(args){}∥具體促銷計算邏輯

      3構(gòu)建Web應(yīng)用

      3.1后端服務(wù)

      3.1.1網(wǎng)絡(luò)資源環(huán)境

      (1)申請域名。

      基于一級域名www.xxx. com,申請后端二級域名promotion-api.xxx.com,并將此二級域名和內(nèi)網(wǎng)lP映射到NGINX反向代理服務(wù)器。

      (2)SSL安全證書。

      基于二級域名promotion. xxx.com,申請SSL安全證書,支持HTTPS安全協(xié)議訪問,并將此證書配置到NGINX反向代理服務(wù)器中的此域名下。

      3.1.2應(yīng)用服務(wù)環(huán)境

      部署促銷活動服務(wù)。促銷系統(tǒng)的核心服務(wù)就是將代碼基于Jenkins構(gòu)建成可執(zhí)行JAR包,通過Java-jar的命令,運行此JAR包,在Tomcat應(yīng)用服務(wù)器中,對外提供支持HTTPS協(xié)議訪問的服務(wù)。

      3.2前端應(yīng)用

      3.2.1網(wǎng)絡(luò)資源環(huán)境

      (1)申請域名。

      基于一級域名www. xxx.com,申請前端二級域名promotion.xxx.com,并將此二級域名和公網(wǎng)lP地址映射到DNS服務(wù)器中。

      (2)配置指向。

      在NGINX反向代理服務(wù)器中,將二級域名promotion.xxx.com配置指向一個靜態(tài)文件目錄,以請求訪問該目錄下的靜態(tài)資源。

      3.2.2靜態(tài)資源環(huán)境

      靜態(tài)資源上傳?;贜PM打包前端代碼,生成加密后的靜態(tài)資源,并將此靜態(tài)資源上傳到服務(wù)器的靜態(tài)資源目錄下,對外提供訪問服務(wù)。

      3.2.3前端頁面展示

      促銷配置頁面如圖5所示。

      4結(jié)束語

      在互聯(lián)網(wǎng)的浪潮下,電商業(yè)務(wù)成為互聯(lián)網(wǎng)行業(yè)中最前沿的業(yè)務(wù),在面向C端用戶的場景中,如何提升銷售業(yè)績,如何更好地為用戶服務(wù),成為最重要的課題。促銷活動系統(tǒng)在其中扮演著不可或缺的角色,本文構(gòu)建的輕量級促銷活動系統(tǒng),具有支持分布式環(huán)境、高可用、高并發(fā)、可拓展等特性,同時在新促銷方式的二次開發(fā)上,也具有較好的復(fù)用性和可擴展性,基本滿足主流電商業(yè)務(wù)中的促銷場景。

      作者簡介:

      齊云浩(1993—),本科,研究方向:互聯(lián)網(wǎng)電子商務(wù)、微服務(wù)架構(gòu)、分布式服務(wù)、人機交互系統(tǒng)、基于設(shè)計模式構(gòu)建輕量級促銷活動系統(tǒng)。

      猜你喜歡
      設(shè)計模式
      仿生設(shè)計模式的創(chuàng)新應(yīng)用探索
      玩具世界(2023年6期)2024-01-29 12:14:36
      “1+1”作業(yè)設(shè)計模式的實踐探索
      設(shè)計模式挖掘的有效性評估策略
      三維協(xié)同設(shè)計模式下的航天項目管理實踐與展望
      交通機電工程設(shè)計模式創(chuàng)新探討
      互動式設(shè)計模式研究
      梅河口市| 松滋市| 黎川县| 班玛县| 托克托县| 名山县| 晋城| 米脂县| 蒲城县| 那坡县| 凤阳县| 盐边县| 吴忠市| 崇明县| 大足县| 舒兰市| 新化县| 西乌珠穆沁旗| 资阳市| 镇江市| 庆阳市| 柞水县| 通城县| 乌拉特后旗| 民和| 惠州市| 钟祥市| 肥西县| 攀枝花市| 汉寿县| 丽江市| 马龙县| 怀集县| 贡嘎县| 饶平县| 盈江县| 万荣县| 南平市| 大庆市| 商河县| 繁峙县|