毕业论文论文范文课程设计实践报告法律论文英语论文教学论文医学论文农学论文艺术论文行政论文管理论文计算机安全
您现在的位置: 毕业论文 >> 论文 >> 正文

基于JSP网上书店系统 第6页

更新时间:2008-3-23:  来源:毕业论文

基于JSP网上书店系统 第6页

2)证明是合法用户后,就必须给这个用户一个购物车,用户每次选中一本书,点击“放入购物车”,就必须添加一个订购单。这就相当于把用户要买的书放入购物车里,insertOrder()就是用来实现这些的,其主要代码如下:

    public void insertOrder()//insert intoDataBase

       {

              try

              {

              if(orderPrice==0)

                     return;

              OrderEntity oe=new OrderEntity("null",userName,"null",Integer.toString(orderPrice));

              //insert order

              orderId=oe.insertOrder();

//创建一个购物车,并且获得它的id

              //insert order items

              for(int i=0;i<orderItem.size();i++)

              {

                     OrderItemEntity oi=(OrderItemEntity)orderItem.elementAt(i);

                     oi.setOrderId(orderId);

                     oi.insertOrderItem();

              }

             

              }

              catch(SQLException ex)

              {

                     System.err.println("InsertOrder executeQuery: " + ex.getMessage());

              }

              //clear order variable

              orderItem.removeAllElements();

              orderPrice=0;

       }

orderPrice==0,说明用户还没有开始买书,在这个时候创建购物车,并且获得它的id号,保存在orderId这个变量里。一个客户可以有很多张订购单,但是购物车id号是一样的,所以在插入订购单的时候,必须把其购物车的id号设置为orderId

3addOrderItem(String productId,String productPrice)实现的是购买一种商品多次:

    public void addOrderItem(String productId,String productPrice)

       {

              for(int i=0;i<orderItem.size();i++)

              {

                     OrderItemEntity oi=(OrderItemEntity)orderItem.elementAt(i);

                     String pId=oi.getProductId();

                     if(pId.compareTo(productId)==0)

                     {

                            int num=Integer.parseInt(oi.getProductNum());

                            ++num;

                            oi.setProductNum(Integer.toString(num));

//修改购买productId的书的数量

                            this.orderPrice+=Integer.parseInt(productPrice);

               //总价格要加上新买的书的价格

                            return;

                     }

              }

              OrderItemEntity oiNew=new OrderItemEntity("null","null",productId,"1",Integer.parseInt(productPrice));

              orderItem.add(oiNew);

              this.orderPrice+=Integer.parseInt(productPrice);

}

因为每点击一次“放入购物车”,只能购买相应的商品一次,并且数量之能为1。但是购买的是同一个商品,其productId是一致的,要重新写入一张订购单,就必须把原来productId的订购单修改一下就可以了。比较用户确实是买的一样id的书:pId.compareTo(productId),如果是,则修改订购单的数量,num++,把总价格加上本书的价格:

this.orderPrice+=Integer.parseInt(productPrice); 通过以上的操作,把修改后的结果作为新的属性重新插入成新的订购单。

4)用户可以购买一种书多次,那么当它放入购物车后,发现拿多了,也应该可以把多余的退出来,其实现原理和addOrderItem是一样的,其具体代码陈列如下:

       public void deleteOrderItem(String productId)

       {

              for(int i=0;i<orderItem.size();i++)

              {

                     OrderItemEntity oi=(OrderItemEntity)orderItem.elementAt(i);

                     String pId=oi.getProductId();

                     if(pId.compareTo(productId)==0)

                     {

                            int num=Integer.parseInt(oi.getProductNum());

                            --num;

                            oi.setProductNum(Integer.toString(num));

                           

                            if(num==0)

                                   orderItem.removeElementAt(i);

上一页  [1] [2] [3] [4] [5] [6] [7] [8] [9] 下一页

基于JSP网上书店系统 第6页下载如图片无法显示或论文不完整,请联系qq752018766
设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优文论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。