电商-10天的新巴巴运动网day_第1页
电商-10天的新巴巴运动网day_第2页
电商-10天的新巴巴运动网day_第3页
电商-10天的新巴巴运动网day_第4页
电商-10天的新巴巴运动网day_第5页
已阅读5页,还剩18页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、新巴巴运动网总结笔记 day07项目第七天(课程安排)1.1购物车要求关闭浏览器,再打开时还要有商品,并且不登陆也要有商品购物车对象的创建,购物子项对象的创建购物车中属于最小单元的同类商品,商品数量增加,不同类商品加入购物车结算1)2)3)判断此时此刻是否有库存判断是否为登陆状态判断购物车中是否有商品1按钮跳转到购物车第一步:要求加入购物车的在没有登陆的时候起来或Ses可采用最后或数据库进行进行采用第二步:编写 front_page/product/productDetail.jsp按钮/立即参数商品ID第三步:创建 FrontCartController 类并编写方法第 步

2、:编写进行数据测试准备/* 购物车在*/中的名称public sic final String BUYCART_= buyCart_;实例化-1 关闭浏览器消毁0 立即消毁/实例化,并指定= new的名称(Constants.BUYCART_,str.toString();/1)给设置时间,如果不设置时间,默认下 时间为 -1四/*购物车author lx*/ Controllerpublic class FrontCartController /RequestMap(value = /shop/buyCart.shtml)public String buyCart(eger skuId,eg

3、er amount,eger buyLimit,egroductId,HttpServletResponse response,HttpServletRequest request, MMap m)function buy(id)window.location.href = /shop/buyCart.shtml?skuId= + skuId + &amount= + $(#num).val() + &buyLimit= + buyLimit + &productId=+ id;-1表示关闭浏览器会自动掉.setMaxAge(60*60*24);.setPath(/);/将发送到浏览器resp

4、onse.add();第五步:跳转购物车页面第六步:创建购物车对象位置购物项对象 BuyItem购物车对象 BuyCart/*购物车author lx*/public class BuyCart /*购物的商品,项author lx*/public class BuyItem /最小销售单元 private Sku sku ;/买多少件 数量privateamount = 1;/省略set get 添加购物项删除购物项/删除购物项public void removeItem(BuyItem item) if(items.contains(item)items.remove(item);/添加购

5、物项public void addItem(BuyItem item) if(items.contains(item)for(BuyItem it : items) if(it.equals(item)amount = item.getAmount() + it.getAmount(); if(amount = it.getSku().getSkuUpperLimit()it.setAmount(it.getSku().getSkuUpperLimit() -1);elseit.setAmount(item.getAmount() +it.getAmount();break;elseitems

6、.add(item);/有多个购物项privaist items = new ArrayList();/留言private String note;/最后一次加入购物车时的商品Id privateegroductId;/省略 set get 消空购物车商品数量商品金额商品运费/商品运费 JsonIgnorepublic Double getFee() Double result = 0.00;if(getProductPrice() 0) result = true;return result;/应付金额 JsonIgnorepublic Double getTotalPrice() Doub

7、le result = 0.00;result += getProductPrice() + getFee(); return result;第八步:从象中取出 Value 并反序列化为购物车对/购物车对象BuyCart buyCart = null;/把对象在中需要将对象序列化成字符串ObjectMapper om = new ObjectMapper();/序列化的字符串中不要有Null om.setSerializationInclu(Inclu.NON_NULL);s = request.gets(); if(null !=s)for(:s)if(Constants.BUYCART_.

8、equals(.getName()String value =.getValue();/System.out.prln(value);buyCart = om.readValue(value, BuyCart.class);/用户对象Buyer b = new Buyer(); b.setUsername(fbb2014);/对象序列化字符串/ObjectMapper om = new ObjectMapper(); om.setSerializationInclu(Inclu.NON_NULL);StringWriter str = new StringWriter();/om.writeV

9、alue(str, b); System.out.prln(str.toString();/反序列化过程/字符串转成对象Buyer readValue = om.readValue(str.toString(), Buyer.class);System.out.prln(readValue.toString();第九步:如果是第一步加入购物车,没有第十步:将购物车序列化成 JSON 并在中if(null != skuId)/实例化SKUSku sku = new Sku();/将SkuID设置给Sku对象 sku.setId(skuId);/设置限购 sku.setSkuUpperLimit(

10、buyLimit);/实例化购物车BuyItem item = new BuyItem();/将Sku对象设置给购物项 item.setSku(sku);/将商品数量设置给购物项 item.setAmount(amount);/将商品Id加入购物车 buyCart.setProductId(productId);/添加购物购物车buyCart.addItem(item); /同类产品需要比较如果SkuId一样视为相同产品/实例化一个字符串的流,序列化后的字符串StringWriter str = new StringWriter();/开始序列化 om.writeValue(str, buyC

11、art);/实例化,并指定的名称= new (Constants.BUYCART_,str.toString();/1)给设置时间,如果不设置时间,默认下 时间为 -1-1表示关闭浏览器会自动掉.setMaxAge(60*60*24);.setPath(/);/实例化购物车只为第一次购物if(null = buyCart) buyCart = new BuyCart();第十一步:把购物车装满,显示在购物车页面上第十二步:购物车页面 front_page/product/cart.jsp显示商品部分的代码$ -$item. -$item.sku.size 【赠品】丝带/将购物车里的数据装满,为

12、了在购物车页面显示的数据全都有/加载SkuId对应的属性List items = buyCart.getItems(); for(BuyItem it : items)Sku skuByKey = skuService.getSkuByKey(it.getSku().getId(); it.setSku(skuByKey);/将购物车m到购物车页面上去m.addAttribute(buyCart, buyCart);/将最后添加的商品ID 传回页面m.addAttribute(productId, buyCart.getProductId();return product/cart;/将发送到

13、浏览器response.add();购物车统计处代码第十三步:删除购物车金额小计:(共$buyCductAmount 个商品)商品金额:¥$buyCductPrice 元运费:¥$buyCart.fee 元应付总额:¥$buyCart.totalPrice 元¥$item.sku.skuPrice-+删除页面Js:删除购物项之后刷新页面重新加载购物中的数据/删除购物车中的购物项RequestMap(value = /shop/delItem.shtml) public String delItem(eger skuId,HttpServletRequestrequest,HttpServlet

14、Response response) throws JsonParseException, JsonMapException, IOException/购物车对象BuyCart buyCart = null;/把对象在中需要将对象序列化成字符串ObjectMapper om = new ObjectMapper();/序列化的字符串中不要有Null om.setSerializationInclu(Inclu.NON_NULL);s = request.gets(); if(null !=s)for(:s)if(Constants.BUYCART_.equals(.getName()Strin

15、g value =.getValue();/System.out.prln(value);buyCart = om.readValue(value, BuyCart.class);/实例化购物车只为第一次购物if(null != buyCart)Sku sku = new Sku();/删除商品function delProduct(skuId) if(confirm(你确定要删除此商品吗?)window.location.href = /shop/delItem.shtml?skuId= +skuId;删除第十三步:+ - 按钮页面Js+/添加商品数量 (skuid , 限购)functio

16、n addProductAmount(skuId,upperLimit) var num = $(#num + skuId).val();/alert(num);num+;-+sku.setId(skuId);BuyItem item = new BuyItem(); item.setSku(sku); buyCart.removeItem(item);/实例化一个字符串的流,序列化后的字符串StringWriter str = new StringWriter();/开始序列化 om.writeValue(str, buyCart);/实例化,并指定的名称= new (Constants.B

17、UYCART_,str.toString();/1)给设置时间,如果不设置时间,默认下 时间为 -1-1表示关闭浏览器会自动掉.setMaxAge(60*60*24);.setPath(/);/将发送到浏览器response.add();return redirect:/shop/buyCart.shtml;Js-/添加购物车中的商品数量/减少商品数量function subProductAmount(skuId,upperLimit) var num = $(#num + skuId).val();num-; if(num = 0)delProduct(skuId); return;$(#n

18、um + skuId).val(num);/更改购物车中的数据 更改中的数量var url = /shop/addCart.shtml;var params = skuId : skuId,buyLimit : upperLimit,amount : -1;$.t(url,params,function(data)$(#productAmount).html(ductAmount);$(#productPrice).html(ductPrice);$(#fee).html(data.fee);$(#totalPrice).html(daotalPrice);,json);if(num = up

19、perLimit)alert(此款商品不允许买 + upperLimit + 件); return ;$(#num + skuId).val(num);/更改购物车中的数据 更改中的数量var url = /shop/addCart.shtml;var params = skuId : skuId,buyLimit : upperLimit,amount : 1;$.t(url,params,function(data)$(#productAmount).html(ductAmount);$(#productPrice).html(ductPrice);$(#fee).html(data.fe

20、e);$(#totalPrice).html(daotalPrice);,json);RequestMap(value = /shop/addCart.shtml)public void addCart(eger skuId,eger amount,egerbuyLimit,HttpServletRequest request,HttpServletResponse response)throwsJsonParseException, JsonMap/实例化SkuSku sku = new Sku();sku.setId(skuId);Exception, IOExceptionsku.set

21、SkuUpperLimit(buyLimit);/实例化购物项BuyItem item = new BuyItem(); item.setSku(sku);item.setAmount(amount);/获取/购物车对象中的购物车BuyCart buyCart=null;中需要将对象序列化成字符串new ObjectMapper();/把对象在ObjectMapper om=/序列化的字符串中不要有Null om.setSerializationInclu(Inclu.NON_NULL);if(null != for(s= request.gets)s();:s)if(Constants.BU

22、YCART_String.equals(value =.getName().getValue(); ln(value);/System.out.prbuyCart = om.readValue(value,BuyCart.class);/实例化购物车只为第一次购物if(null = buyCart)buyCart = new BuyCart();/添加购物购物车buyCart.addItem(item); /同类产品需要比较如果SkuId一样 视为相同产品/实例化一个字符串的流,序列化后的字符串StringWriter str = new StringWriter();/开始序列化 om.wr

23、iteValue(str, buyCart);/实例化,并指定= new的名称(Constants.BUYCART_,str.toString();第十步:消空购物车页面Js/消空购物车四/1)给设置时间,如果不设置时间,默认下 时间为 -1-1表示关闭浏览器会自动掉.setMaxAge(60*60*24);.setPath(/);/将发送到浏览器response.add();/将购物车里的数据装满,为了在购物车页面显示的数据全都有/加载SkuId对应的属性List items = buyCart.getItems(); for(BuyItem it : items)Sku skuByKey

24、= skuService.getSkuByKey(it.getSku().getId(); it.setSku(skuByKey);DecimalFormat df = new DecimalFormat(.00);/回调数据JSONObject jo = new JSONObject();/商品数量jo.put(productAmount, buyCart.getProductAmount();/商品金额jo.put(productPrice, df.format(buyCart.getProductPrice();/商品运费jo.put(fee, df.format(buyCart.get

25、Fee();/商品应付金额jo.put(totalPrice, df.format(buyCart.getTotalPrice();ResponseUtils.renderJson(response, jo.toString();RequestMap(value = /shop/clearCart.shtml)JsonMapException, IOException/设置时间,让浏览器器上的对应的马上失效 设置0马上失效/.setMaxAge(0);/response.add();/把对象在中需要将对象序列化成字符串om.setSerializationInclu(Inclu.NON_NUL

26、L); s = request.gets();if(null != s) if(Constants.BUYCART_.equals(.getName()String value = .getValue();/System.out.prln(value);/实例化一个字符串的流,序列化后的字符串/实例化,并指定的名称 = new(Constants.BUYCART_,str.toString();StringWriter str = new StringWriter();/开始序列化 om.writeValue(str, buyCart);buyCart = om.readValue(value

27、, BuyCart.class);/实例化购物车只为第一次购物if(null != buyCart) buyCart.clearItem();for( : s)ObjectMapper om = new ObjectMapper();/序列化的字符串中不要有Null/购物车对象BuyCart buyCart = null;/ = new (Constants.BUYCART_,null); public String clearCart(HttpServletRequest request, HttpServletResponse response) throws JsonParseExcep

28、tion,/消空购物车function clearCart()window.location.href = /shop/clearCart.shtml;消空后页面显示部分不消空时显示的部分第十五步:继续购物去首页挑选喜欢的商品/1)给设置时间,如果不设置时间,默认下 时间为 -1-1表示关闭浏览器会自动掉.setMaxAge(60*60*24);.setPath(/);/将发送到浏览器response.add();return redirect:/shop/buyCart.shtml;2加入购物车按钮按钮中第十三步相同,在这里不写了此按钮与3结算按钮页面Js判断用户是否登陆-此功能已经在用户登

29、陆处已经完成了,可复用-结算请求路径需要以/buyer/开始/结算RequestMap(value = /buyroductOrder.shtml)public String productOrder(HttpServletRequest request,MMap m,HttpServletResponse response) throws JsonParseException, JsonMapException, IOException/判断登陆 由buyer完成了/判断购物车中是否有东西/判断购物车中的东西是否还有库存/购物车对象BuyCart buyCart = null;/把对象在中需

30、要将对象序列化成字符串ObjectMapper om = new ObjectMapper();/结算function trueBuy()window.location.href = /buyroductOrder.shtml;判断购物车是否存在商品,如果有商品是否还有库存/实例化购物车只为第一次购物if(null != buyCart)/判断购物车是否有商品 if(buyCart.isExitItem()/判断商品是否还有库存for(BuyItem item : buyCart.getItems()Sku sku = skuService.getSkuByKey(item.getSku().

31、getId();if(sku.getStockInventory() = 0) buyCart.removeItem(item);/实例化一个字符串的流,序列化后的字符串StringWriter str = new StringWriter();/开始序列化 om.writeValue(str, buyCart);/实例化,并指定的名称= new (Constants.BUYCART_,str.toString();/1)给设置时间,如果不设置时间,默认下 时间为 -1-1表示关闭浏览器会自动掉.setMaxAge(60*60*24);.setPath(/);/将发送到浏览器response.add();else/序列化的字符串中不要有Null om.setSerializationInclu(Inclu.NON_NULL);s = request.gets(); if(null !=s)for(:s)if(Constants.BUYCART_.equals(.getName()String value =.getValue();/System.out.prln(value);buyCart =

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论