精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

可裝配的優(yōu)惠券系統(tǒng)設(shè)計(jì)與實(shí)踐

開發(fā) 前端
通過不斷的開發(fā)積累組件化控件,使得運(yùn)營可以更靈活的設(shè)計(jì)營銷方案,極大的提高了代碼復(fù)用和系統(tǒng)靈活性和效率,優(yōu)惠券模板只需拖拽即可完成人機(jī)交互功能。

1. 背景簡介

優(yōu)惠券系統(tǒng)是互聯(lián)網(wǎng)電商時(shí)代最為常用運(yùn)營手段,拉新,促活,留存,在運(yùn)營的過程中,能快速的、靈活的支持運(yùn)營頻繁多變的營銷需求。傳統(tǒng)的實(shí)現(xiàn)方案,不僅開發(fā)周期長、成本大,并且不能及時(shí)影響運(yùn)營多變的需求,運(yùn)營活動復(fù)用的效率較低。

車服務(wù)優(yōu)惠券系統(tǒng)提供了一種可裝配且通用優(yōu)惠券核心框架的實(shí)現(xiàn),快速搭建滿足業(yè)務(wù)需要的優(yōu)惠券模板功能。僅需開發(fā)一次自定義業(yè)務(wù)組件,可靈活裝配多優(yōu)惠券模板,發(fā)券用券驗(yàn)券接口無需二次開發(fā),平行無縫對接第三方商家券,節(jié)省開發(fā)資源,減少開發(fā)成本,提高了運(yùn)營效率。

圖片

2. 系統(tǒng)設(shè)計(jì)

2.1優(yōu)惠券的生命周期

組件創(chuàng)建:定義表單元素,生成自定義組件,存入組件庫中。

裝配模板:運(yùn)營按業(yè)務(wù)需求,選擇組件,組合裝配在一起,生成優(yōu)惠券模板。

生成批次:選擇模板,關(guān)聯(lián)配置業(yè)務(wù)券,比如:加油券,充電券,洗車券,代步券等。模板組合裝配在一起,生成優(yōu)惠券批次。

投放活動:配置運(yùn)營活動,關(guān)聯(lián)批次券信息。可組合裝配成券包,或單張券,投放客戶端或H5頁面。

兌換領(lǐng)取:發(fā)放形式,可分為3種,兌換碼兌換,運(yùn)營活動用戶登錄領(lǐng)券,運(yùn)營后臺定向發(fā)券,滿足業(yè)務(wù)規(guī)則,比如新注冊用戶,業(yè)務(wù)新老用戶,首單用戶發(fā)券進(jìn)行間接發(fā)券。

核銷使用:用戶購買商品下單,拉取可用券,下單鎖定券,支付核銷券。

取消訂單還券:訂單取消,返還用戶券,券可再次使用。

券快過期提醒:推送提醒用戶使用。

結(jié)算:生成優(yōu)惠券,平臺與商家承擔(dān)比例,執(zhí)行結(jié)算補(bǔ)貼。

2.2優(yōu)惠券系統(tǒng)設(shè)計(jì)思維導(dǎo)圖

圖片

圖 2-3

2.3優(yōu)惠券系統(tǒng)基本流程圖示

 組件創(chuàng)建 >> 裝配模板 >> 裝配批次 >> 裝配活動 >> 發(fā)券 >> 核銷券 >> 結(jié)算

圖片

圖 2-4

2.4優(yōu)惠券系統(tǒng)架構(gòu)圖示

圖片

圖 2-5

3. 核心功能

3.1創(chuàng)建自定義組件

 自定義組件:創(chuàng)建優(yōu)惠券組件,生成優(yōu)惠券模板必要條件,因?yàn)槟0迳蓵r(shí),需要加載裝配相關(guān)的表單組件。 

創(chuàng)建組件所需元素信息為:組件表單名稱,Placeholder文本信息,JS驗(yàn)證功能,數(shù)據(jù)源,組件類型(包含文本框,數(shù)值框,下拉列表框,多選列表框控件,聯(lián)選日期控件,滿減金額控件,數(shù)據(jù)列表模態(tài)選擇框等常用組件),表達(dá)式關(guān)鍵詞等。其中配置Js驗(yàn)證功能,需要預(yù)先開發(fā)JS驗(yàn)證插件,集成常用的驗(yàn)證插件庫中,用于模板生成時(shí)自動檢查表單中元素。其中配置表達(dá)式關(guān)鍵詞,用于生成規(guī)則條件表達(dá)式。其中設(shè)置數(shù)據(jù)源,用于初始化組件下拉列表,數(shù)據(jù)可選模態(tài)框等。組件生成后,保存到組件庫表中,提供給模板創(chuàng)建使用。

解決的問題:

自定義組件的實(shí)現(xiàn),存入組件庫中,提高了代碼復(fù)用性,常用的組件,任何業(yè)務(wù)券都可以復(fù)用,避免多次開發(fā),增加了業(yè)務(wù)的靈活性,對系統(tǒng)進(jìn)行解耦,也可以分組開發(fā),部署。后臺優(yōu)惠券模板可以自由組合,根據(jù)運(yùn)營需求,快速自行裝配。提高運(yùn)營工作效率,支持多業(yè)務(wù)券場景配置。

優(yōu)惠券自定義組件生成,方便快速構(gòu)建業(yè)務(wù)優(yōu)惠券模板,需求靈活實(shí)現(xiàn)。不管是優(yōu)惠類型,還是業(yè)務(wù)需求方可變的條件,我們都能從設(shè)計(jì)層面去實(shí)現(xiàn)它。來節(jié)約開發(fā)運(yùn)營成本。并且生成可配置的多規(guī)則條件表達(dá)式。下單使用時(shí),一次驗(yàn)證,所有的條件是否可達(dá),滿足優(yōu)惠券下單使用。使優(yōu)惠券系統(tǒng)結(jié)構(gòu)簡潔清晰,同時(shí)將可變的部分,完全開放給使用者,提供了非常大的靈活性。

創(chuàng)建組件頁面圖示如下:

圖片

圖:3-1-1

組件創(chuàng)建流程圖示如下:

圖片

圖 3-1-2

3.2創(chuàng)建自定義模板

自定義模板創(chuàng)建:由3.1中創(chuàng)建的組件,按業(yè)務(wù)需求,進(jìn)行動態(tài)裝配。優(yōu)惠券模板可設(shè)置3種類型,分別為商家券模板,平臺券模板,公共模板。用于批次生成時(shí),對運(yùn)營進(jìn)行不同角色權(quán)限隔離使用。其中配置業(yè)務(wù)類型,用于客戶端拉券時(shí)按業(yè)務(wù)隔離展示使用。配置滿減券,立減券,折扣券,用于區(qū)分券的使用條件。模板可選組件分為兩部分,固定區(qū)域,可變區(qū)域。固定區(qū)域?yàn)閮?yōu)惠券中的常用組件區(qū)域,系統(tǒng)自動加載固定類型組件信息,見圖3-2-1所示,固定類型組件是每張優(yōu)惠券共有的屬性。比如:優(yōu)惠券標(biāo)題,面額,庫存數(shù)量,使用時(shí)間,平臺與商家承擔(dān)比例,折扣,最高金額,使用跳轉(zhuǎn)Url等。可變區(qū)域?yàn)檫\(yùn)營活動用券時(shí)需要驗(yàn)證的組件區(qū)域,比如限制的商家,門店,滿減條件等組件。若組件庫中組件元素為非固定類型,系統(tǒng)會區(qū)分當(dāng)前組件為可變組件,展示在選擇組件區(qū)域,提供運(yùn)營人員按業(yè)務(wù)券的需求,可從組件庫中進(jìn)行拖拉組件到指定可變區(qū)域中。最后模板生成,系統(tǒng)會保存模板庫中,以供批次創(chuàng)建生成使用。至此,模板再次加載或編輯時(shí),其中的業(yè)務(wù)部分,基礎(chǔ)屬性部分,可變部分,系統(tǒng)會根據(jù)所存的模板信息,關(guān)聯(lián)到批次中,同時(shí)相應(yīng)的加載出元素組件。

解決的問題:

運(yùn)營人員可根據(jù)業(yè)務(wù)券需求,自定義裝配優(yōu)惠券模板。通過界面,進(jìn)行拖拉組件,支持組件元素拖拉排序,快速生成優(yōu)惠券模板,簡潔快捷,動態(tài)裝配。存入模板庫中。提供運(yùn)營創(chuàng)建批次時(shí),多次復(fù)用,減少開發(fā)成本,提高工作效率。

創(chuàng)建模板頁面圖示如下:

圖片

 圖 3-2-1

模板流程圖示:

圖片

圖 3-2-2 

3.3創(chuàng)建自定義批次券包

  •  自定義批次:設(shè)定批次的通用屬性,動態(tài)加載優(yōu)惠券模板,自動校驗(yàn)表單控件三部分組成。
  • 通用屬性配置:發(fā)券的形式,包含直接領(lǐng)取券與兌換券碼形式。限制領(lǐng)取次數(shù),可限當(dāng)天每人領(lǐng)取次數(shù),或者批次總領(lǐng)取次數(shù)。領(lǐng)取人群的配置限制,包含業(yè)務(wù)新老用戶限制,注冊新老用戶的限制。短信釘釘提醒功能配置,過期券預(yù)提配置,運(yùn)營庫存提醒配置。商家單位配置,財(cái)務(wù)PR單號配置等。預(yù)提醒功能技術(shù)實(shí)現(xiàn),通過延遲隊(duì)列,定時(shí)任務(wù)執(zhí)行實(shí)現(xiàn)。
  • 動態(tài)優(yōu)惠券模板:
  • 優(yōu)惠券批次創(chuàng)建,加載可用的優(yōu)惠券模板。運(yùn)營可根據(jù)需求,在下拉列表中選擇優(yōu)惠券模板。此處優(yōu)惠券模板,是根據(jù)可視化組件,分布式控件動態(tài)加載渲染呈現(xiàn),去除了冗余的模板組件。可以無限制的加載需要配置的優(yōu)惠券。比如:加油,充電,洗車。
  • 自動校驗(yàn)證表單:
  • 由于模板是動態(tài)加載的組件,多個(gè)優(yōu)惠券模板,會有很多組件,組件類型不同,一個(gè)個(gè)寫表單校驗(yàn),會顯得很繁瑣,代碼臃腫,維護(hù)復(fù)雜 。現(xiàn)對所有的元素組件,進(jìn)行動態(tài)提取組件配置的JS,然后根據(jù)JS校驗(yàn)類庫,自動加載表單驗(yàn)證,維護(hù)簡單,代碼簡潔。

解決問題:

批次可以多張券模板組合,最終生成一個(gè)券包。支持不同業(yè)務(wù)券組合,相同業(yè)務(wù)券組合。支持批次復(fù)制,模板復(fù)用。發(fā)券可以按券包形式發(fā),也可以按單張券針對性發(fā)放。批次創(chuàng)建,是由模板動態(tài)加載自定義組件完成。多個(gè)券模板,如果按傳統(tǒng)模式開發(fā),會很多組件元素要書寫,js功能也要逐個(gè)書寫,每當(dāng)有新券需求,或者券限制條件升級變動,都會需要大量的控件開發(fā),費(fèi)時(shí)費(fèi)力。本批次的設(shè)置,代碼簡潔,界面明了,所見即所得,無須過度開發(fā),一勞永逸。

批次創(chuàng)建圖示如下:

圖片

圖 3-3-1

模板加載圖示如下:

圖片

圖 3-3-2

批次創(chuàng)建流程圖:

圖片

圖 3-3-3

3.4創(chuàng)建自定義活動

創(chuàng)建活動,可以配置整個(gè)業(yè)務(wù)的領(lǐng)券中心。聚合所有待領(lǐng)取的券,券包展示,同時(shí)提供對外輸出領(lǐng)券接口關(guān)鍵配置,需要設(shè)置活動名稱,活動的起始時(shí)間,活動KEY,互斥KEY,活動限制數(shù)量,活動的跳轉(zhuǎn)鏈接,活動所投放平臺渠道。可選擇關(guān)聯(lián)不同的券批次模板,通過活動KEY的領(lǐng)取維度,鎖定不同的批次券包,鎖定整個(gè)活動領(lǐng)取量,進(jìn)行發(fā)券。通過互斥KEY的維度,鎖定不同的活動,用戶在活動A中可以領(lǐng)取哪些券,在活動B可以領(lǐng)取哪些券。通過活動中啟動,停止進(jìn)行領(lǐng)取功能的控制,將活動中配置信息進(jìn)行保存,存入活動領(lǐng)取中心庫中。

解決的問題:

適應(yīng)于一個(gè)或多個(gè)活動場景,比如領(lǐng)券中心,領(lǐng)單張券,券包,一鍵批量領(lǐng)券,新老用戶領(lǐng)券。通過活動Key,關(guān)聯(lián)出整個(gè)活動配置的券包。通過活動控制券上線下線功能。對外輸出領(lǐng)券接口,提供領(lǐng)券的活動標(biāo)識隨機(jī)碼Key,保證業(yè)務(wù)的保密性、可控性、復(fù)用性。

活動創(chuàng)建圖示3-4如下:

圖片

圖 3-4-1

      活動配置流程圖示:

圖片

圖 3-4-2

4. 技術(shù)難點(diǎn)

4.1技術(shù)如何實(shí)現(xiàn)自定義組件

圖片

圖 4-1-1

創(chuàng)建模板時(shí),是由多個(gè)組件裝配完成。新創(chuàng)建模板時(shí),如何動態(tài)渲染加載多個(gè)組件?編輯模板如何對組件進(jìn)行賦值?模板組件從技術(shù)層面是由多個(gè)Freemark模板視圖文件組合而成,比如圖 4-1-1 中propType_text.ftl 文件,propType_List.ftl文件,propType_Select.ftl文件等,在創(chuàng)建模板中頁面中,會根據(jù)組件池中,根據(jù)組件類型,通過<#include>進(jìn)行文件加載傳遞數(shù)據(jù)完成。如下圖 4-1-2所示。 

圖片

圖 4-1-2

模板視圖文件需要Html+Freemark+Jquery 預(yù)先開發(fā)創(chuàng)建好。其中表單控件中name為組件生成時(shí)配置的name屬性,文件中所有的${}語法屬性,均對應(yīng)組件生成時(shí)配置屬性。比如4-1-3中:${prop.placeholder} 文本框描述提示信息,${prop.flagword} 是使用條件占位符,${prop.jsfunction} js自定義驗(yàn)證功能方法名,${prop.id} 組件Id,${prop.type} 組件類型,${prop.formnameExt} 模板Id+組件名稱,${prop.datasource}等不再一一列舉。

動態(tài)組件插件示例:舉個(gè)文本框組件propType_Text.ftl 示例:后端讀取模板中文本框?qū)傩灾祩鬟f賦值。

圖片

圖4-1-3

模板視圖文件中 ${prop}是整個(gè)頁面渲染控件主要引擎對象。又是后端模板通用對象模型,對應(yīng)的后端開發(fā)類名為:CouponTempPropView ,如下面代碼所示。后端接口通過模板Id,關(guān)聯(lián)所有模板中的組件屬性信息。然后封裝成CouponTempPropView數(shù)據(jù)對象,進(jìn)行初始化值賦值。若模板頁面首次新頁面加載,后端接口HandlAdapter處理適配器響應(yīng)CouponTempPropView對象數(shù)據(jù),通過ViewResolver視圖解析器初始化組件頁面表單,進(jìn)行渲染呈現(xiàn)。若模板頁面編輯時(shí),需要對組件表單input元素進(jìn)行賦值。由${prop}對象取CouponTempPropView對象數(shù)據(jù)中的${prop.formvalue},然后jquery查找當(dāng)前prop.formvalue的input隱藏域控件的value值,該value是由多個(gè)屬性值組合而成,根據(jù)當(dāng)前組件,需要進(jìn)行拆解,然后將值傳遞給name=${prop.formnameExt}的input控件,進(jìn)行傳遞賦值。到此組件技術(shù)裝配屬性完成。創(chuàng)建批次時(shí),選擇優(yōu)惠券模板,動態(tài)加載標(biāo)簽自定義組件呈現(xiàn)后臺UI,如何加載模板的相關(guān)的組件信息呢,同樣是引用模板視圖文件完成的。技術(shù)運(yùn)用了動靜分離技術(shù)手段及組件化模板插件響應(yīng),運(yùn)營人員選擇優(yōu)惠券業(yè)務(wù)模板,后端數(shù)據(jù)根據(jù)運(yùn)營的選擇模板,程序進(jìn)行準(zhǔn)備模板及控件所需數(shù)據(jù)。通過模板數(shù)據(jù)裝載,初始化需要加載的模板中關(guān)聯(lián)組件,前端頁面不需要堆積實(shí)現(xiàn)未知的組件,僅根據(jù)后端數(shù)據(jù),注入到模板關(guān)聯(lián)組件的插件中,傳遞數(shù)據(jù),需要呈現(xiàn)哪一塊插件,就會渲染所關(guān)聯(lián)的組件,完全數(shù)據(jù)來驅(qū)動實(shí)現(xiàn)組件的呈現(xiàn),實(shí)現(xiàn)方式和現(xiàn)在的Vue想法一致。完全數(shù)據(jù)初始化控件,數(shù)據(jù)傳遞控件的實(shí)現(xiàn)。

編輯批次時(shí),關(guān)聯(lián)多個(gè)模板信息,后端如何進(jìn)行動態(tài)傳值:由批次信息,找到批次所關(guān)聯(lián)的一個(gè)或多個(gè)模板信息,再由模板查找,加載出模板對應(yīng)的組件信息,組件信息包含表單元素,通過批次信息表中的存儲的字段值,轉(zhuǎn)化成Key-value,key為表單元素,value為對應(yīng)值。對模板組件屬性結(jié)構(gòu)類型進(jìn)行一一映射,通過Action傳遞前端頁面進(jìn)行渲染優(yōu)惠券模板組件視圖。最終實(shí)現(xiàn)和創(chuàng)建模板時(shí)的加載視圖文件一致,不再詳細(xì)贅述。

4.2技術(shù)如何動態(tài)生成條件表達(dá)式

由于優(yōu)惠券批次包含多個(gè)優(yōu)惠券模板,每個(gè)優(yōu)惠券模板的使用條件是隨業(yè)務(wù)需求變化,所以我們?nèi)绻鎯@樣動態(tài)可變的值,數(shù)據(jù)表中每次需升級擴(kuò)展字段,同時(shí)又要升級系統(tǒng)的數(shù)據(jù)讀取Mybatis文件,以及優(yōu)惠券模板文件中限制條件規(guī)則等。顯然這種方式比較笨拙,粗曠,又不利于優(yōu)惠券系統(tǒng)的維護(hù)。我們自定義的規(guī)則條件表達(dá)式,應(yīng)運(yùn)而生。

? 什么是規(guī)則條件表達(dá)式:

它是多個(gè)模板組件使用限制內(nèi)容組合一起,生成一種可變的自定義表達(dá)式。參考借鑒逆波蘭表達(dá)式生成規(guī)則而設(shè)置。

? 如何生成:

創(chuàng)建優(yōu)惠券批次時(shí),通過模板Id關(guān)聯(lián)出多個(gè)組件信息,封裝到數(shù)據(jù)模型中ListpropDtoList,然后根據(jù)條件表達(dá)式方法,篩選出組件prop.getType()類型,比如數(shù)值類型,獲取prop.getFlagword條件表達(dá)式關(guān)鍵字為coupon_cityid,prop.getFlagdesc=10010。拼裝生成條件表達(dá)式為:(coupon_cityid=10010)。生成使用描述為:限城市為北京使用。其他類型視條件生成表達(dá)式。示例如下:

 ? 舉車品券生成示例:

在創(chuàng)建優(yōu)惠券時(shí),業(yè)務(wù)限定多條件表達(dá)式隨批次動態(tài)生成,舉例:車品券表達(dá)式:[coupon_city]_in(111010,120000)&&(coupon_[order]>10&&coupon_[order]<100)&&[coupon_tag]in(123),表達(dá)式條件翻譯為:優(yōu)惠券滿足城市北京或天津,訂單金額滿10元小于1000元,且優(yōu)惠券品類標(biāo)簽為123的商品使用,提交保存,生成優(yōu)惠券批次相關(guān)信息,生成驗(yàn)證優(yōu)惠券表達(dá)式,存儲數(shù)據(jù)表中,及緩存中。

驗(yàn)證券表達(dá)式條件,解析表達(dá)式代碼如下:

用戶下單使用券,系統(tǒng)校驗(yàn)券的使用條件,由條件表達(dá)式多條件驗(yàn)證,從用券接口取出訂單號,訂單金額,訂單商品,商家信息,運(yùn)費(fèi)服務(wù)費(fèi)等作為檢驗(yàn)條件,將請求參數(shù)存入Map字典中,驗(yàn)證用戶優(yōu)惠券時(shí),通過Map中對應(yīng)名稱,正則匹配組件中標(biāo)簽名、標(biāo)簽參數(shù)、操作符、操作數(shù)值進(jìn)行標(biāo)簽名的替換,執(zhí)行commonBLL.EvalExpr表達(dá)條件運(yùn)算,結(jié)果滿足條件,當(dāng)前券可進(jìn)行下單結(jié)算使用。否則,將不能使用。

舉例,車品券表達(dá)式:

([coupon_city]in(10110)&&(coupon_[order]>10&&coupon_[order]<100)&&[coupon_tag]in(123)),[coupon_city]:10110, coupon_[order]:20 , [coupon_tag]:123,最終替換為(10110=10110)&& 20>10 && 20<100 && 123 =123)。

表達(dá)式執(zhí)行完成后,生成訂單,省去傳統(tǒng)多個(gè)字段,循環(huán)迭代的邏輯驗(yàn)證,有些字段關(guān)聯(lián)的屬性可能比較多,驗(yàn)證的時(shí)候加載的時(shí)間會加長。有條件表達(dá)式,我們不用再做上面的多次驗(yàn)證。只需要根據(jù)訂單參數(shù),替換可變參數(shù),執(zhí)行表達(dá)式規(guī)則計(jì)算,完成所需要的條件驗(yàn)證。

4.3技術(shù)如何實(shí)現(xiàn)發(fā)券,限制超發(fā)并發(fā)

運(yùn)營活動配置券包,客戶端進(jìn)行活動發(fā)券。用戶登錄領(lǐng)券,領(lǐng)券接口驗(yàn)證當(dāng)前請求參數(shù),首先請求攔截進(jìn)行簽名校驗(yàn),網(wǎng)關(guān)授權(quán)認(rèn)證,并發(fā)管控請求限流桶,分布式Redis鎖。然后進(jìn)行登錄用戶及風(fēng)控校驗(yàn),校驗(yàn)通過,讀取活動關(guān)聯(lián)的批次券包,讀取用戶領(lǐng)券信息存入Redis中HashTable,通過領(lǐng)券信息HashMap集合進(jìn)行批次限制校驗(yàn),包含新老用戶,批次是否停止使用,批次每天領(lǐng)取量,總的領(lǐng)取限制量,活動是否停止校驗(yàn),校驗(yàn)通過后,組合領(lǐng)券基本信息,存入jetcache+redis 二級緩存中,然后異步發(fā)送MQ。MQ消費(fèi)者讀取信息入庫,同時(shí)創(chuàng)建多線程進(jìn)行同步通知第三方券入庫,領(lǐng)券完成。

解決的問題:

領(lǐng)取接口整個(gè)流程,增加分布式Redis鎖+請求限流桶,比如秒殺券活動,短時(shí)間會增加百萬+的流量,由于服務(wù)器數(shù)據(jù)承載響應(yīng)能力,帶寬流量有限,加入切面攔截請求,做容錯(cuò)處理,同時(shí)加入分布式Redis原子鎖,進(jìn)行并發(fā)控制,防止券因并發(fā)而超發(fā)的現(xiàn)象發(fā)生。同時(shí)驗(yàn)證領(lǐng)取限制條件,解決了并發(fā)領(lǐng)取,權(quán)限領(lǐng)取,異步領(lǐng)取,攔截了一些風(fēng)險(xiǎn)用戶,實(shí)時(shí)反饋給用戶領(lǐng)取結(jié)果信息。整個(gè)過程,從1級,2級緩存中讀取更新數(shù)據(jù),根據(jù)后臺配置分層進(jìn)行校驗(yàn),極大提高了請求的響應(yīng)速度,代碼更加簡潔,安全性、可擴(kuò)展性、可維護(hù)性增強(qiáng)。

領(lǐng)券流程圖示如下:

圖片

圖 4-3-1

? 如何互斥?

一般在秒殺商品,直降商品,下單用券時(shí),會進(jìn)行拉取可用券列表時(shí),對優(yōu)惠券列表先進(jìn)行按金額排序 ,輪循驗(yàn)證當(dāng)前券金額,與秒殺金額,直降金額進(jìn)行比較,取最優(yōu)惠的價(jià)格給用戶展示使用。節(jié)省運(yùn)營投入成本。

有時(shí)平臺券與商家券,如果都是平臺采購券的運(yùn)營場景,也需要用互斥規(guī)則。分別拉取平臺券,與商家券可用券列表,再進(jìn)行取最大的券進(jìn)行比對。擇取優(yōu)惠力度最大券提供給用戶使用。

? 如何疊加?

平臺券與商家券,通常下單時(shí),可以共同疊加使用。下單時(shí),需要同時(shí)關(guān)聯(lián)兩張券的權(quán)益碼。兩張券同時(shí)變成核銷狀態(tài)。需要同時(shí)驗(yàn)證訂單的總金額是否滿足券使用條件,一般用在滿減或湊單時(shí)使用。

? 如何平臺券轉(zhuǎn)發(fā)多家商家券?

車服務(wù)加油業(yè)務(wù),油站屬于不同供應(yīng)商,運(yùn)營采購多家供應(yīng)商的券,由于采購庫存有限。如何讓用戶在選擇油站用券時(shí),僅能給用戶發(fā)一張商家券使用,不浪費(fèi)采購庫存,又能促進(jìn)業(yè)務(wù)拉新。我們在系統(tǒng)引用了平臺券關(guān)聯(lián)多商家券的模式,最終落地使用商家券。

比如:加油優(yōu)惠券模板,新增供應(yīng)商選擇組件,在運(yùn)營后臺創(chuàng)建加油券時(shí)候,選擇關(guān)聯(lián)三家供應(yīng)商。用戶通過領(lǐng)券活動得到一張平臺券,這張平臺券使用條件限制了三家供應(yīng)商,用戶下單用這張券時(shí),根據(jù)油站所屬供應(yīng)商,平臺券校驗(yàn)當(dāng)前供應(yīng)商可用條件,校驗(yàn)通過調(diào)用商家發(fā)券接口發(fā)對應(yīng)供應(yīng)商商家券,商家券核銷完成后,更新當(dāng)前平臺券。到此完成平臺券轉(zhuǎn)發(fā)商家券的邏輯。配置如圖所示:

圖片

圖 4-3-2

4.4技術(shù)如何實(shí)現(xiàn)用券驗(yàn)券

 用戶請求下單,拉取用戶可用券,從緩存中取出用戶所有券,根據(jù)業(yè)務(wù)規(guī)則動態(tài)加載請求參數(shù),比如加油券,驗(yàn)證訂單金額,油品類型,供應(yīng)商,油站等條件,利用鍵值對key-value的形式,存儲請求參數(shù),然后讀取每一張券的規(guī)則條件表達(dá)式。比如(coupon_seller in(12,23)) &&([order]>=50)&&(oil_product=3),通過正則表達(dá)式,取表達(dá)式中標(biāo)簽占位符,由鍵值對中獲取key值替換占位符,然后執(zhí)行表達(dá)式檢驗(yàn),完成驗(yàn)券拉券過程。

用戶選擇券,進(jìn)行創(chuàng)建訂單時(shí),再次請求驗(yàn)證當(dāng)前券,判斷表達(dá)式條件是否滿足,券是否過期,是否被停用,檢驗(yàn)領(lǐng)券賬戶,防止被篡改。然后訂單表中鎖定當(dāng)前券碼。

用戶支付時(shí),支付成功回調(diào),再次驗(yàn)證當(dāng)前券碼是否可用,核銷當(dāng)前券碼,券碼表中同時(shí)更新訂單號,使用時(shí)間,用券金額,券變更為核銷狀態(tài)。當(dāng)支付失敗,視訂單未完成,訂單將定時(shí)自動取消,券被歸還。

解決的問題:

接口中根據(jù)業(yè)務(wù)不同,用券的場景不同,傳遞的參數(shù)通過鍵值對形式動態(tài)傳遞。用于替代券條件表達(dá)式占位符,快速驗(yàn)券。不用關(guān)心哪個(gè)業(yè)務(wù),哪個(gè)條件進(jìn)行固定判斷。完全依賴Key-value中請求參數(shù),動態(tài)驗(yàn)證,實(shí)現(xiàn)接口裝配。核銷的時(shí)候,訂單與券進(jìn)行雙向綁定,增加安全性,可靠性。

用券流程圖示如下:

圖片

圖 4-4-1

5. 總結(jié) 

本系統(tǒng)將優(yōu)惠券業(yè)務(wù)進(jìn)行了高度的提煉和抽象,將系統(tǒng)中的變與不變進(jìn)行了完全隔離。

通過不斷的開發(fā)積累組件化控件,使得運(yùn)營可以更靈活的設(shè)計(jì)營銷方案,極大的提高了代碼復(fù)用和系統(tǒng)靈活性和效率,優(yōu)惠券模板只需拖拽即可完成人機(jī)交互功能。

通過對優(yōu)惠券系統(tǒng)模板的高度提煉抽象,使其與業(yè)務(wù)系統(tǒng)完全解耦,從上面的介紹中我們可以看到,業(yè)務(wù)系統(tǒng)只有一個(gè)動作,整理配置屬性參數(shù),獲取結(jié)果,除此之外,業(yè)務(wù)系統(tǒng)不需要知道優(yōu)惠券系統(tǒng)的任何其他細(xì)節(jié),這就保證了兩個(gè)系統(tǒng)完全分離,分開開發(fā)、獨(dú)立部署,互不影響,提高開發(fā)效率和系統(tǒng)穩(wěn)定性。

本系統(tǒng)具有明顯的降低開發(fā)成本、提高開發(fā)效率、提升系統(tǒng)穩(wěn)定性的優(yōu)點(diǎn)。更重要的是提供完全開放的優(yōu)惠券可定義的控件,自由可變優(yōu)惠券模板生成,即使后期業(yè)務(wù)需求變更,也不會重新回歸測試開發(fā)。只需要修改模板條件。即可0開發(fā)成本新增優(yōu)惠券玩法,極大的滿足了運(yùn)營頻繁多變的優(yōu)惠券營銷需求。

作者簡介

圖片

吳彥斌

■ 曾任職于服務(wù)端研發(fā)部-服務(wù)端買用技術(shù)團(tuán)隊(duì)-用車組。

■  高級研發(fā)工程師,2015年加入公司,主要從事優(yōu)惠券系統(tǒng)的研發(fā),訂單系統(tǒng)的研發(fā),物流管理系統(tǒng)的研發(fā)。

圖片

張東生

■ 服務(wù)端研發(fā)部-服務(wù)端買用技術(shù)團(tuán)隊(duì)-用車組。

■ 服務(wù)端買用技術(shù)團(tuán)隊(duì)用車組組長,負(fù)責(zé)之家用戶用車場景的各用車服務(wù)權(quán)益產(chǎn)品及用車工具產(chǎn)品的研發(fā)和架構(gòu)工作。

責(zé)任編輯:武曉燕 來源: 之家技術(shù)
相關(guān)推薦

2017-12-15 17:37:23

sd

2012-07-16 09:48:49

手機(jī)優(yōu)惠券優(yōu)惠券

2023-06-07 08:25:41

2022-04-18 10:54:49

券系統(tǒng)緩存 RedisMySQL

2012-04-25 17:11:52

優(yōu)惠券

2021-11-24 10:31:39

人工智能AI深度學(xué)習(xí)

2021-11-30 22:35:23

人工智能零售業(yè)自動化

2012-03-20 09:37:27

手機(jī)優(yōu)惠券NFC

2013-04-07 10:11:26

O2O優(yōu)惠券

2011-11-24 09:04:26

靈客風(fēng)優(yōu)惠券

2021-12-03 10:10:16

價(jià)格歧視用戶分級開發(fā)

2018-07-06 11:47:31

高德地圖

2025-08-28 02:12:00

2015-12-11 15:51:18

榮耀

2022-02-21 16:41:32

設(shè)計(jì)解決方案UI

2018-08-24 19:42:00

商派
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號

亚洲精品二区| 欧亚精品在线观看| 爱情岛论坛亚洲自拍| 狂野欧美激情性xxxx欧美| 99re视频这里只有精品| 国产91网红主播在线观看| 久久爱一区二区| 国产精品巨作av| 欧美日韩国产大片| 国产av天堂无码一区二区三区| 国产在线色视频| 国产成人av自拍| 国产精品麻豆va在线播放| 国产亚洲精久久久久久无码77777| 蜜桃成人av| 日韩女优毛片在线| 天堂中文视频在线| а√天堂中文在线资源8| 国产精品电影一区二区三区| 蜜桃麻豆www久久国产精品| 国产精品久久久久毛片| 久久在线精品| 国内精品久久影院| 裸体武打性艳史| av资源久久| 日韩精品在线视频美女| 特种兵之深入敌后| 亚洲欧美专区| 欧美视频日韩视频| 激情五月开心婷婷| 天堂av在线网| 午夜影院久久久| 成年在线观看视频| av网址在线看| 国产精品久久久久三级| 日本亚洲欧洲精品| 青梅竹马是消防员在线| 粉嫩一区二区三区性色av| 91久久国产精品91久久性色| 亚洲视频一区二区三区四区| 免费日本视频一区| 国产成人aa精品一区在线播放| 丰满少妇乱子伦精品看片| 伊人久久综合| 久久久久久久久网站| 国产在线视频第一页| 欧美午夜一区| 欧美激情中文字幕在线| 九九九在线视频| 国内揄拍国内精品久久| 欧美多人乱p欧美4p久久| 欧美成人综合色| 欧美高清一区| 久久99国产综合精品女同| 日本中文字幕免费在线观看| 自拍偷拍欧美专区| 欧美成人激情视频免费观看| 五月天婷婷色综合| 黄色成人av网站| 欧美激情中文字幕乱码免费| 中日韩精品视频在线观看| 99视频精品| 日本精品久久久| 成年人晚上看的视频| 美女国产一区二区三区| 91久久国产婷婷一区二区| 亚洲AV无码成人片在线观看| 成人自拍视频在线观看| 久久66热这里只有精品| 户外极限露出调教在线视频| 国产精品午夜在线| 国产高潮呻吟久久久| 日本aa在线| 黑人巨大精品欧美一区二区免费| 精品视频无码一区二区三区| 国产精品天堂蜜av在线播放 | 国产69精品久久久久久久久久| 亚洲一区日韩在线| 国产精品日韩专区| 精品人妻aV中文字幕乱码色欲| 不卡的av在线| 亚洲 日韩 国产第一区| 超碰在线网址| 婷婷亚洲久悠悠色悠在线播放| 日韩免费高清在线| 视频国产精品| 亚洲人成电影在线| 性欧美videos| 新狼窝色av性久久久久久| 国产精品香蕉av| www.综合色| 国产亚洲人成网站| 国产日产欧美一区二区| 亚洲美女尤物影院| 91精品国产一区二区| 欧产日产国产精品98| 欧美精选视频在线观看| 欧美精品久久久久a| 中文字幕在线日亚洲9| 99视频超级精品| 色中文字幕在线观看| 日韩影院在线| 日韩欧美国产成人一区二区| 国产肥白大熟妇bbbb视频| 午夜视频精品| 国产精品一区二区三区免费视频| 人妻无码中文字幕| 国产精品夫妻自拍| 成人在线激情网| 福利在线一区| 超碰97人人做人人爱少妇| 欧美一区免费看| 成人福利视频网站| 国产女主播av| 四虎在线精品| 揄拍成人国产精品视频| 五月天婷婷久久| 国产v综合v亚洲欧| 综合久久国产| av免费在线一区| 日韩电影中文字幕av| 欧洲猛交xxxx乱大交3| 精品制服美女久久| 热re99久久精品国产99热| 国产盗摄——sm在线视频| 欧美一区二区三区影视| 疯狂撞击丝袜人妻| 秋霞av亚洲一区二区三| 欧美久久综合性欧美| a国产在线视频| 亚洲成人av片在线观看| 青青操国产视频| 国产精品原创巨作av| 一区不卡视频| 日韩一级特黄| 色偷偷888欧美精品久久久| 波多野结衣影片| 久久精品视频一区二区三区| 1024精品视频| 五月综合久久| 欧美孕妇性xx| 深夜视频在线免费| 高潮白浆女日韩av免费看| 亚洲av无码一区二区三区网址| 最新日韩欧美| 久久手机视频| 桃子视频成人app| 国产一区二区动漫| 无码人妻一区二区三区免费| 国产日韩欧美精品综合| 天美星空大象mv在线观看视频| 精品视频免费| 久久中文字幕一区二区三区| 国语自产在线不卡| 亚洲精品视频91| 五月婷婷综合在线| 黄色正能量网站| 久久久久看片| 日韩欧美在线观看强乱免费| 成人久久网站| 欧美插天视频在线播放| 亚洲av综合色区无码一二三区| 性欧美大战久久久久久久久| 特级西西人体wwwww| 久久亚洲精品伦理| 中文字幕日韩精品一区二区| 久久精品一级| 97久久久免费福利网址| 同心难改在线观看| 欧美亚洲图片小说| 91香蕉视频在线播放| 成人18精品视频| 无码人妻丰满熟妇区五十路百度| 成人激情在线| 99在线高清视频在线播放| 国产精品yjizz视频网| 亚洲欧洲美洲在线综合| 一级特黄aaa大片在线观看| 一区二区在线观看免费视频播放| 超碰caoprom| 青青草国产成人99久久| 日韩欧美视频一区二区三区四区| 日韩亚洲国产免费| 国语自产在线不卡| 欧美激情免费| 日韩国产在线播放| 国产精品自偷自拍| 偷窥少妇高潮呻吟av久久免费| 99久久99久久精品免费| 成人激情免费网站| 15—17女人毛片| 激情欧美一区| 亚洲视频电影| 日本中文字幕在线一区| 91精品免费久久久久久久久| av资源在线播放| 精品国产一区二区在线 | 亚洲精品色婷婷福利天堂| 国产裸体美女永久免费无遮挡| 亚洲免费在线播放| 国产又粗又猛又爽视频| 国产盗摄精品一区二区三区在线| 国产裸体舞一区二区三区| 欧美精品偷拍| 一区二区三区av| 伊人久久综合影院| 波多野结衣久草一区| 国产香蕉久久| 日韩av电影手机在线| 2021天堂中文幕一二区在线观| 日韩中文字幕精品视频| 你懂的免费在线观看| 精品久久国产97色综合| 国产乱码精品一区二区| 色八戒一区二区三区| 99视频在线看| 一级做a爱片久久| 午夜爽爽爽男女免费观看| 日本一区二区三区dvd视频在线| 久久久久成人精品无码中文字幕| 国产在线精品一区二区不卡了 | 中文字幕一区二区三区四区五区六区 | 免费a v网站| 国产激情一区二区三区桃花岛亚洲| 少妇人妻互换不带套| 欧美亚洲一区| www.com毛片| 亚洲久久一区二区| 国产一区 在线播放| 一区二区在线| 在线免费观看成人| 日韩国产一区| 亚洲二区三区四区| 精品视频黄色| 日韩欧美一区二区在线观看 | 国产精品69久久久| 欧美激情第二页| a级片一区二区| 中文字幕免费一区二区三区| 最近免费观看高清韩国日本大全| 婷婷激情综合| 一区二区三区一级片| 国产精品x453.com| 妞干网这里只有精品| 欧美精品国产| 精品国产一区二区三区无码| 激情国产一区| 欧美性大战久久久久xxx| 国产亚洲一级| 国产淫片av片久久久久久| 久久中文在线| 亚洲一级免费在线观看| 国内精品久久久久影院薰衣草 | 91视频你懂的| 丰满圆润老女人hd| 国产精品色婷婷| 国产真实乱在线更新| 亚洲在线视频网站| 国偷自拍第113页| 在线免费不卡电影| 伊人免费在线观看| 欧美一级欧美一级在线播放| 欧美 日韩 国产 在线| 日韩精品中文字幕在线观看| 精彩国产在线| 久久精品99久久香蕉国产色戒| 在线观看三级视频| 69久久夜色精品国产69乱青草| 日韩电影网站| 成人黄色片在线| 国产精品99久久免费观看| 欧美日本国产精品| 91综合久久一区二区| 久久精品视频1| 欧美性猛交xxxx免费看| 国产精品xxxxxx| 91麻豆精品国产91久久久资源速度| 午夜精品一二三区| 日韩av在线天堂网| 午夜伦全在线观看| 欧美黄色小视频| 国精产品一区二区三区有限公司 | 99久久99久久久精品齐齐| 女女互磨互喷水高潮les呻吟| 日韩美女精品在线| 日韩三级小视频| 欧美视频你懂的| 亚洲伦理在线观看| 中文字幕精品久久| ririsao久久精品一区| 国产精品女主播| 超碰97久久| 伊人久久大香线蕉综合75| 亚洲美女色禁图| 中文字幕成人免费视频| aa级大片欧美| 九九精品视频免费| 色综合久久久网| 亚洲美女福利视频| 色偷偷9999www| 成人短视频app| 91九色极品视频| 区一区二视频| 日本免费黄视频| 成人av资源在线观看| 久久一级免费视频| 欧美日韩另类字幕中文| 超碰在线播放97| 日韩综合视频在线观看| 成人免费看黄| 精品国产乱码久久久久| 亚洲欧美综合国产精品一区| 亚洲三级视频网站| 91麻豆福利精品推荐| 久久在线视频精品| 欧美电影一区二区三区| h视频在线观看免费| 日本高清+成人网在线观看| 福利片一区二区| 男人c女人视频| 国产一区欧美日韩| 国产在线免费av| 欧美在线视频日韩| 欧洲毛片在线| 欧美一区第一页| 久久午夜影院| 国产 日韩 欧美在线| 国产电影一区在线| 欧美 日韩 国产 一区二区三区| 欧美三级日韩三级国产三级| 久草在现在线| 欧洲精品久久久| 美女毛片一区二区三区四区最新中文字幕亚洲 | 欧美精品福利| 亚洲天堂小视频| 亚洲美女精品一区| 99er热精品视频| 九九精品在线播放| 亚洲免费一区三区| av一区二区三区免费观看| 国产成人综合自拍| 欧洲猛交xxxx乱大交3| 日韩你懂的在线播放| 亚洲男同gay网站| 成人av资源| 亚洲看片一区| aaaaa一级片| 色94色欧美sute亚洲13| 国产黄在线观看免费观看不卡| 日韩免费在线播放| 欧美限制电影| 亚洲少妇久久久| 中文字幕日本不卡| 精品国产99久久久久久宅男i| 美女av一区二区| 51vv免费精品视频一区二区| 日本熟妇人妻xxxx| 91丨porny丨蝌蚪视频| 免费黄色一级大片| 久久久成人精品视频| 午夜日韩影院| 欧美 丝袜 自拍 制服 另类| 久久只精品国产| 中文字幕视频免费观看| 久久精品视频在线播放| 中文字幕一区二区三区中文字幕| 免费看国产一级片| 久久久高清一区二区三区| 这里只有精品6| 欧美精品久久久久a| 中文字幕精品影院| 91国内在线播放| 亚洲6080在线| 成年在线观看免费人视频| 91免费视频网站| 亚洲欧美激情诱惑| 婷婷社区五月天| 亚洲第一区第一页| 成人精品三级| 青青在线免费观看| 国产欧美一区二区在线观看| 国产强被迫伦姧在线观看无码| 97精品国产91久久久久久| 欧美一级精品| 蜜臀aⅴ国产精品久久久国产老师| 欧美性感美女h网站在线观看免费| 99青草视频在线播放视| 国产精品视频免费观看| 日韩专区一卡二卡| 欧美成人免费观看视频| 一区二区欧美激情| 亚洲精品a区| 天堂中文视频在线| 亚洲成人激情自拍| 秋霞成人影院| 欧美污视频久久久| 国产iv一区二区三区| 国产精品露脸视频| 午夜精品蜜臀一区二区三区免费| 久久激情电影|