模拟网商订单生成器
1.订单数据格式:orderNumber:XX|orderDate:XX|paymentNumber:XX|paymentDate:XX|merchantName:XX|sku:[skuName:XXskuNum:XXskuCode:XXskuPrice:XXtotalSkuPrice:XX;skuName:XXskuNum:XXskuCode:XXskuPrice:XXtotalSkuPrice:XX;]|price:[totalPrice:XXdiscount:XXpaymentPrice:XX]
2.maven工程的pom.xml
junitjunit4.12testorg.apache.logging.log4jlog4j-slf4j-impl2.7org.apache.logging.log4jlog4j-core2.7
3.产生的订单日志
4.订单日志产生生成处理类
packagecom.yc.hadoop;importjava.text.SimpleDateFormat;importjava.util.Date;importjava.util.Random;importorg.apache.logging.log4j.LogManager;publicclassOrderLogGenerator{publicenumPaymentWays{Wechat,Alipay,Paypal;}publicenumMerchantNames{优衣库,天猫,淘宝,咕噜大大,快乐宝贝,守望先峰,哈毒妇,Storm,Oracle,Java,CSDN,跑男,路易斯威登, 暴雪公司,Apple,Sumsam,Nissan,Benz,BMW,Maserati;}publicenumProductNames{黑色连衣裙,灰色连衣裙,棕色衬衫,性感牛仔裤,圆脚牛仔裤,塑身牛仔裤,朋克卫衣,高腰阔腿休闲裤,人字拖鞋,沙滩拖鞋}float[]skuPriceGroup={299,399,699,899,1000,2000};float[]discountGroup={10,20,50,100};floattotalPrice;publicStringgeneratorOrderLog(){Datedate=newDate();SimpleDateFormatsdf=newSimpleDateFormat("yyyy-MM-ddHH:mm:ss");StringorderNumber=randNum(5)+date.getTime();StringorderDate=sdf.format(date);StringpaymentNumber=randPayment()+"-"+randNum(8);StringpaymentDate=sdf.format(date);StringmerchantName=randMerchantName();Stringsku=randSkuInfo();Stringprice=randPrice();returnString.format("orderNumber:%s|orderDate:%s|paymentNumber:%s|paymentDate:%s|merchantName:%s|sku:%s|price:%s",orderNumber,orderDate,paymentNumber,paymentDate,merchantName,sku,price);}privateStringrandPrice(){floatdiscount=discountGroup[(int)(Math.random()*discountGroup.length)];returnString.format("[totalPrice:%.2fdiscount:%.2fpaymentPrice:%.2f]",totalPrice,discount,totalPrice-discount);}privateStringrandSkuInfo(){Randomrand=newRandom();intskuCatagoryNum=rand.nextInt(5)+1;StringBuildersb=newStringBuilder("[");for(inti=0;i