国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

公式系統(tǒng)在電子商務(wù)網(wǎng)站中的應(yīng)用

2013-10-27 01:31楊立波
關(guān)鍵詞:優(yōu)惠券數(shù)據(jù)模型訂單

楊立波

(太原學(xué)院計(jì)算機(jī)工程系,山西 太原 030032)

0 引言

網(wǎng)站因頻繁推出各種商業(yè)促銷(xiāo)活動(dòng),并隨著活動(dòng)臨近上線(xiàn),技術(shù)開(kāi)發(fā)人員不得不添加新的代碼或修改程序以滿(mǎn)足新活動(dòng)的要求。促銷(xiāo)活動(dòng)的流程是這樣的,活動(dòng)的期間、參與活動(dòng)的商品范圍和活動(dòng)規(guī)則由市場(chǎng)和運(yùn)營(yíng)部一起定制,由技術(shù)部門(mén)實(shí)現(xiàn)和測(cè)試,最后由市場(chǎng)和運(yùn)營(yíng)進(jìn)行驗(yàn)收,然后部署到生產(chǎn)環(huán)境。但由于活動(dòng)規(guī)則的無(wú)規(guī)律性,技術(shù)部門(mén)在設(shè)計(jì)活動(dòng)時(shí)很難做到擴(kuò)展性和復(fù)用性俱佳的設(shè)計(jì),調(diào)整程序是不可避免的,使得每次促銷(xiāo)活動(dòng)必須相應(yīng)調(diào)整很多代碼。經(jīng)初步分析,程序調(diào)整將涉及到商品展示、購(gòu)物車(chē)和下訂單,這些調(diào)整幾乎涉及到了網(wǎng)站的所有展示前臺(tái)。

1 公式系統(tǒng)解析模型

1.1 促銷(xiāo)活動(dòng)的傳統(tǒng)實(shí)現(xiàn)方式

促銷(xiāo)活動(dòng)的傳統(tǒng)實(shí)現(xiàn)方式中,開(kāi)發(fā)和測(cè)試所花的時(shí)間是整個(gè)過(guò)程中最長(zhǎng)的,壓力也是最大的,如圖1所示。

圖1 傳統(tǒng)實(shí)現(xiàn)方式的周期

1.2 促銷(xiāo)活動(dòng)新的實(shí)現(xiàn)方式

針對(duì)于傳統(tǒng)方式的不利因素,技術(shù)部門(mén)提出了一種新的解決方法,將各種活動(dòng)規(guī)則由運(yùn)營(yíng)人員“翻譯”成公式,開(kāi)發(fā)人員提供一個(gè)能影響活動(dòng)結(jié)果的公式“插件”,“插入”到需要受活動(dòng)影響的地方。從圖2中我們可以看到,按新的解決方案執(zhí)行前后的主要階段和所花費(fèi)的人力和時(shí)間相對(duì)先前的傳統(tǒng)模式、公式的編寫(xiě)和測(cè)試的周期相對(duì)技術(shù)部門(mén)的開(kāi)發(fā)周期要短很多,所以不會(huì)導(dǎo)致市場(chǎng)和運(yùn)營(yíng)部門(mén)過(guò)大的壓力,但是對(duì)運(yùn)營(yíng)者角色提出了更高的要求,需要學(xué)習(xí)掌握怎樣編寫(xiě)公式,但是相對(duì)于整體實(shí)現(xiàn)周期的大大縮短,這樣付出是很值得的。

圖2 新實(shí)現(xiàn)方式的周期

1.3 公式系統(tǒng)

Sun JDK6+增加了對(duì)腳本語(yǔ)言的支持,實(shí)現(xiàn)包含了一個(gè)基于Mozilla Rhino的腳本語(yǔ)言引擎,即支持JavaScript,JDK6+支持腳本的基本原理是將腳本語(yǔ)言在運(yùn)行時(shí)編譯成字節(jié)碼,因此腳本上下文能融入到JVM環(huán)境中,即能使用或改變Java Bean的狀態(tài)。腳本的動(dòng)態(tài)性和強(qiáng)大的功能能滿(mǎn)足各種復(fù)雜的需求,但在實(shí)際操作環(huán)節(jié),讓市場(chǎng)和運(yùn)營(yíng)人員掌握腳本語(yǔ)言會(huì)花費(fèi)很大的學(xué)習(xí)成本,而且按照技術(shù)開(kāi)發(fā)人員的要求去要求運(yùn)營(yíng)人員是不太實(shí)際的。另外,如果使用腳本引擎,可能只會(huì)用到腳本引擎中不到百分之一的功能和特性,但如果使用自定義公式系統(tǒng),可以確保公式的解析和執(zhí)行效率都是程序員可控的,整體效率會(huì)比腳本引擎高很多。因此非常有必要自定制一套高效的公式系統(tǒng)。

1.3.1 公式系統(tǒng)目標(biāo)

·表達(dá)式運(yùn)算(賦值,運(yùn)算和邏輯),表達(dá)式中支持函數(shù),變量

·支持控制結(jié)構(gòu):if condition1{}else if condition2{}else if..else{}

·支持循環(huán)控制結(jié)構(gòu):while(condition){loop}

·支持/* */注解

·支持從外部注冊(cè)函數(shù),函數(shù)支持參數(shù)數(shù)目動(dòng)態(tài)可變

·支持與外部交換公式變量(注:這里的外部指運(yùn)行公式的具體項(xiàng)目環(huán)境)

實(shí)現(xiàn)以上目標(biāo)后就能對(duì)類(lèi)似如下的幾行公式進(jìn)行處理:

例如:公式示例

/*訂單金額超過(guò)1000送500元優(yōu)惠券*/

IF[S_ORDERSUM]- 1000 >-0.001{giveCoupon([MB_ID],201010);}

/* 送積分*/

givePoint([MB_ID],[S_POINTSUM]);

通過(guò)公式解析執(zhí)行后能執(zhí)行這樣一段業(yè)務(wù):參加某活動(dòng)的訂單金額滿(mǎn)1000元的送500元優(yōu)惠券,積分100倍返還。

1.3.2 公式系統(tǒng)的實(shí)現(xiàn)過(guò)程

公式系統(tǒng)的實(shí)現(xiàn)過(guò)程主要實(shí)現(xiàn)以下幾個(gè)主要步驟:

解析。掃描被解析字符串,將中綴式轉(zhuǎn)化為后綴式,拆解為最小運(yùn)算單元,然后將拆解的運(yùn)算單元壓入隊(duì)列,在這個(gè)過(guò)程中需要提前確定運(yùn)算符號(hào)和邏輯符號(hào)。

運(yùn)算。對(duì)后綴式隊(duì)列中的運(yùn)算單元進(jìn)行計(jì)算,借助堆棧這種數(shù)據(jù)結(jié)構(gòu)能很方便地實(shí)現(xiàn)運(yùn)算處理。

處理異常。一個(gè)完整的公式系統(tǒng)必須有一套完備的異常體系來(lái)支撐,異常體系的設(shè)計(jì)好壞決定了公式系統(tǒng)的可用性。因此有必要分別為解析過(guò)程定義一套解析時(shí)異常,為運(yùn)算過(guò)程定義一套運(yùn)算時(shí)異常類(lèi),完備的公式異常使公式調(diào)試、測(cè)試更加輕松,讓公式系統(tǒng)更加完整可靠。

建立公式幫助類(lèi)。為方便在實(shí)際項(xiàng)目環(huán)境中運(yùn)用公式系統(tǒng),還需要建立了一個(gè)公式幫助類(lèi),以方便處理各種存在形式的公式,為增強(qiáng)公式的表達(dá)力,引入了對(duì)if condition1{}else if condition2{}else if..else{}的控制結(jié)構(gòu)的支持,如果有需要,還可以加入對(duì)for循環(huán)等 loop結(jié)構(gòu)的支持。

從以上可以知道,自定義公式系統(tǒng)包含兩個(gè)關(guān)鍵部分:解析和運(yùn)算,前者負(fù)載掃描公式文本,識(shí)別出操作數(shù)和操作符并封裝為集合對(duì)象,然后按后綴式的遍歷順序存入隊(duì)列;后者將借助堆棧對(duì)解析產(chǎn)生的隊(duì)列進(jìn)行運(yùn)算。同時(shí)還可以向公式環(huán)境中注冊(cè)自定義函數(shù)。一類(lèi)擴(kuò)展能讓項(xiàng)目與公式交換變量,二類(lèi)擴(kuò)展提供了讓公式直接操作項(xiàng)目Bean的能力。

2 公式系統(tǒng)在促銷(xiāo)活動(dòng)中的應(yīng)用

2.1 促銷(xiāo)活動(dòng)分析

2.1.1 促銷(xiāo)活動(dòng)影響分析

例如:

(1)降低銷(xiāo)售價(jià)格:降價(jià)的方式可以很復(fù)雜,直接折扣,如7折;按條件折扣,如滿(mǎn)100打九折,滿(mǎn)200減100,成交的前5件商品5折,等等。

(2)贈(zèng)送商品:如滿(mǎn)1000送一件指定的牛仔褲。

(3)贈(zèng)積分,優(yōu)惠券,抽獎(jiǎng)機(jī)會(huì)。

(4)免運(yùn)費(fèi)。

(5)提升用戶(hù)會(huì)員級(jí)別,如從普通到VIP。

分析促銷(xiāo)活動(dòng)的影響面,如表1:

其中展示貨架和購(gòu)物車(chē)環(huán)節(jié)是只讀模式的,即僅是提示作用。促銷(xiāo)活動(dòng)的結(jié)果不會(huì)持久化,與購(gòu)物車(chē)不同的是下訂單時(shí)促銷(xiāo)活動(dòng)的結(jié)果不僅要提示,而且必須記錄下來(lái),并跟客戶(hù)定單號(hào)關(guān)聯(lián),在支付成功后生效,這樣就可以考慮用一個(gè)活動(dòng)結(jié)果類(lèi)用來(lái)收集不同場(chǎng)合下的活動(dòng)結(jié)果,至于結(jié)果的處理(只讀,可寫(xiě)),再根據(jù)具體情況而定。

2.2.2 促銷(xiāo)活動(dòng)業(yè)務(wù)抽取

分析影響面中名詞類(lèi)型的關(guān)鍵字,可以分析出如下公式可調(diào)用的變量:

商品單價(jià),訂購(gòu)數(shù)目,參與活動(dòng)的商品總金額、折扣總額、積分總額。

表1 促銷(xiāo)活動(dòng)影響面

從以上影響面中過(guò)濾出動(dòng)詞類(lèi)型的關(guān)鍵字,編目為公式可調(diào)用的外部函數(shù):送積分,送優(yōu)惠券,從總額總減除折扣。在分析完活動(dòng)的影響后,需要將活動(dòng)以公式的形式編寫(xiě)出來(lái),并讓一個(gè)執(zhí)行機(jī)構(gòu)在需要活動(dòng)的地方執(zhí)行。這些受影響的地方分別是:

(1)商品展示管理

(2)購(gòu)物車(chē)管理

(3)訂單管理

2.2 促銷(xiāo)活動(dòng)的數(shù)據(jù)模型和舉例

2.2.1 促銷(xiāo)活動(dòng)數(shù)據(jù)模型

促銷(xiāo)活動(dòng)數(shù)據(jù)模型,如圖3。

2.2.2 促銷(xiāo)活動(dòng)舉例

例如:國(guó)慶之前,市場(chǎng)部準(zhǔn)備策劃了一個(gè)大型商業(yè)活動(dòng)“國(guó)慶大派送”,參與此活動(dòng)的商品一律5折,積分100倍返還(金額乘以100),如果訂單金額超過(guò)1000元送500元優(yōu)惠券(優(yōu)惠券編號(hào)為201010)。

(1)添加一條活動(dòng)記錄,活動(dòng)名稱(chēng)“10.1國(guó)慶大派送活動(dòng)”,活動(dòng)時(shí)間 2010.09.3021:00 -2010.10.0623:59。

圖3 促銷(xiāo)數(shù)據(jù)模型

(2)編寫(xiě)活動(dòng)內(nèi)商品公式

[E_SUM]=[P_PRICED]*[P_ORDER_NUM];/*E_SUM是臨時(shí)變量*/

[S_DISCOUNTSUM]=[S_DISCOUNTSUM]+[E_SUM]*0.5;/*統(tǒng)計(jì)當(dāng)前商品折扣總額*/

[S_POINTSUM]=[S_POINTSUM]+[E_SUM]*100;/* 統(tǒng)計(jì)當(dāng)前商品所送總積分*/

[S_ORDERSUM]= [S_ORDERSUM]+[E_SUM];/* 統(tǒng)計(jì)活動(dòng)商品的訂單總額*/

(3)編寫(xiě)活動(dòng)匯總公式

/*訂單金額超過(guò)1000送500元優(yōu)惠券*/

IF[S_ORDERSUM]- 1000 >-0.001{giveCoupon([MB_ID],201010);}

/* 送積分*/

givePoint([MB_ID],[S_POINTSUM]);/*折扣*/

discount([S_DISCOUNTSUM]);

3 結(jié)束語(yǔ)

對(duì)于電子商務(wù)網(wǎng)站,促銷(xiāo)活動(dòng)是一類(lèi)重要的業(yè)務(wù),就像商場(chǎng)和超市離不開(kāi)促銷(xiāo)一樣,其重要性是不言而喻的。在準(zhǔn)備構(gòu)建電子商務(wù)網(wǎng)站項(xiàng)目之初,應(yīng)該充分考慮促銷(xiāo)業(yè)務(wù)對(duì)于項(xiàng)目架構(gòu)的影響,選擇合適的實(shí)現(xiàn)方案。本文在傳統(tǒng)系統(tǒng)的基礎(chǔ)上,給出了促銷(xiāo)另一種實(shí)現(xiàn)方案,考慮到促銷(xiāo)手段的多樣性以及多變性,通過(guò)建立一個(gè)公式體系,并將這段業(yè)務(wù)抽取出來(lái),通過(guò)促銷(xiāo)活動(dòng)“插件”來(lái)執(zhí)行,從而達(dá)到讓業(yè)務(wù)獨(dú)立于程序開(kāi)發(fā),實(shí)現(xiàn)業(yè)務(wù)公式化,縮短了業(yè)務(wù)實(shí)現(xiàn)周期。

猜你喜歡
優(yōu)惠券數(shù)據(jù)模型訂單
春節(jié)期間“訂單蔬菜”走俏
訂單農(nóng)業(yè)打開(kāi)廣闊市場(chǎng)
淘寶直播優(yōu)惠券怎么設(shè)置
巧用優(yōu)惠券
面板數(shù)據(jù)模型截面相關(guān)檢驗(yàn)方法綜述
“最確切”的幸福觀(guān)感——我們的致富訂單
一張打動(dòng)消費(fèi)者的優(yōu)惠券背后有兩個(gè)隱藏的秘密
經(jīng)濟(jì)全球化對(duì)我國(guó)勞動(dòng)收入份額影響機(jī)制研究——基于面板數(shù)據(jù)模型
怎樣做到日訂單10萬(wàn)?
基于數(shù)據(jù)模型的編程應(yīng)用