更新時(shí)間:2021-08-25 來源:黑馬程序員 瀏覽量:
訂單數(shù)據(jù)模型通常由訂單編號(hào)、訂單時(shí)間、商品編號(hào)、商品價(jià)格等數(shù)十個(gè)字段組成,模型中的指標(biāo)越多,提供給分析人員可分析的維度就越多,如針對平臺(tái)運(yùn)維角度統(tǒng)計(jì)指標(biāo)可以計(jì)算訂單數(shù)據(jù)統(tǒng)計(jì)平臺(tái)總銷售額度、平臺(tái)今日下單人數(shù);針對商品銷售角度統(tǒng)計(jì)指標(biāo)可以計(jì)算每個(gè)商品的總銷售額、每個(gè)商品的銷售數(shù)量。在本項(xiàng)目模塊開發(fā)中,需要計(jì)算每個(gè)商品總銷售額,相應(yīng)的維度數(shù)據(jù)在數(shù)據(jù)庫中可以表示為bussiness::order::total字段,字段的名稱設(shè)計(jì)可根據(jù)業(yè)務(wù)需求名稱自定義設(shè)置。
首先在cn.itcast.createorder包下創(chuàng)建PaymentInfo.java文件,用于定義訂單字段以及生成訂單數(shù)據(jù),具體代碼如文件9-1所示。
文件9-1 PaymentInfo.java
import com.alibaba.fastison.JSONObject; import java.Util.Random; import java.util.UUID; public class PaymentInfo private static finallong serialVersionuid =1L; //序列化ID private String orderId; //訂單編號(hào) private String productId; //商品編號(hào) private long productPrice; //商品價(jià)格 //無參構(gòu)造方法 public PaymentInfo() { } public static long getSerialVersionUID() { return serialVersionUID; } public String getOrderId(){ return orderId; public void setOrder (String OrderId){ this.orderId =ordertdi } public string getProductId() ( return productId; public void setPrroductId(String productId) this.productId=productId; } public long getProductPricel() return productPrice; } public void setProductPrice (long poductPrice) { this.productPrice =productPrice; } QOverride public String toString(){ return "PaymentInfo{" + "orderId="+orderId + '\ ''+ ",productId="+productId + '\ ''+ ,productPrice="+productPrice+ ( //模擬訂單數(shù)據(jù) public String random(){ Random r =new Random(); this.orderId=UUID.randomUUID().toString().replaceAll("-"'”") this.productPrice=r.nextInt (1000); this.productId=r.nextInt(10)+""; JSONObject obj=new JSONObject(); string jsonString = obj.toJsoNString(this); return jsonString; } }
模擬訂單數(shù)據(jù)模塊開發(fā)中,第6~8行代碼設(shè)置了3個(gè)字段,分別是訂單編號(hào)、商品編號(hào)、商品價(jià)格。第42~49行代碼是模擬訂單數(shù)據(jù)的核心方法,采用UUID模擬生成訂單編號(hào),UUID是由一組32位數(shù)的十六進(jìn)制數(shù)字隨機(jī)構(gòu)成的字符串?dāng)?shù)據(jù),商品編號(hào)是由0~9這10個(gè)數(shù)字組成,代表特定商品。在數(shù)據(jù)傳輸過程中,需要將對象轉(zhuǎn)換成Json格式的字符串,這里采用了Fastjson 數(shù)據(jù)轉(zhuǎn)換工具,調(diào)用JSONObject類的toJSONString()方法將PaymentInfo訂單對象轉(zhuǎn)換為Json格式的字符串,編寫成功后,就可以在test目錄中創(chuàng)建測試用例,最終隨機(jī)生成的訂單數(shù)據(jù)格式如下。
{"orderId":"b030e0dfb3b04cd18c3b32beac01ab25","productId" :"6","productPrice":834}
猜你喜歡: