更新时间:2021-08-25 来源:黑马程序员 浏览量:
订单数据模型通常由订单编号、订单时间、商品编号、商品价格等数十个字段组成,模型中的指标越多,提供给分析人员可分析的维度就越多,如针对平台运维角度统计指标可以计算订单数据统计平台总销售额度、平台今日下单人数;针对商品销售角度统计指标可以计算每个商品的总销售额、每个商品的销售数量。在本项目模块开发中,需要计算每个商品总销售额,相应的维度数据在数据库中可以表示为bussiness::order::total字段,字段的名称设计可根据业务需求名称自定义设置。
首先在cn.itcast.createorder包下创建PaymentInfo.java文件,用于定义订单字段以及生成订单数据,具体代码如文件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; //订单编号 private String productId; //商品编号 private long productPrice; //商品价格 //无参构造方法 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+ ( //模拟订单数据 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; } }
模拟订单数据模块开发中,第6~8行代码设置了3个字段,分别是订单编号、商品编号、商品价格。第42~49行代码是模拟订单数据的核心方法,采用UUID模拟生成订单编号,UUID是由一组32位数的十六进制数字随机构成的字符串数据,商品编号是由0~9这10个数字组成,代表特定商品。在数据传输过程中,需要将对象转换成Json格式的字符串,这里采用了Fastjson 数据转换工具,调用JSONObject类的toJSONString()方法将PaymentInfo订单对象转换为Json格式的字符串,编写成功后,就可以在test目录中创建测试用例,最终随机生成的订单数据格式如下。
{"orderId":"b030e0dfb3b04cd18c3b32beac01ab25","productId" :"6","productPrice":834}
猜你喜欢: