您的位置:首页 > 编程语言 > Go语言

Goods:生成订单

2015-09-10 10:26 447 查看
OrderServlet #createOrder

/*
*
* 生成订单
*/
public String createOrder(HttpServletRequest req, HttpServletResponse resp)
throws ServletException, IOException {
//获取所有购物车条目ID 查询之
String cartItemIds=req.getParameter("cartItemIds");
List<CartItem> cartItemList=cartItemService.loadCartItems(cartItemIds);
//创建订单 order
Order order=new Order();
order.setOid(CommonUtils.uuid());

order.setOrdertime(String.format("%tF %<tT", new Date()));
order.setStatus(1);//表示未付款
order.setAddress(req.getParameter("address"));
User owner=(User) req.getSession().getAttribute("sessionUser");
order.setOwner(owner);

BigDecimal total=new BigDecimal("0");
for(CartItem cartItem:cartItemList)
{
total=total.add(new BigDecimal(cartItem.getSubtotal()+""));
}
order.setTotal(total.doubleValue());

//创建List<OrderItem>
List<OrderItem> orderItemList =new ArrayList<OrderItem>();
for(CartItem cartItem:cartItemList)
{
OrderItem orderItem=new OrderItem();
orderItem.setOrderItemId(CommonUtils.uuid()); //设置主键
orderItem.setQuantity(cartItem.getQuantity());
orderItem.setSubtotal(cartItem.getSubtotal());
orderItem.setBook(cartItem.getBook());
orderItem.setOrder(order);
orderItemList.add(orderItem);

}
order.setOrderItemList(orderItemList);

//调用service完成添加
orderService.createOrder(order);

//删除购物车条目
cartItemService.batchDelete(cartItemIds);
//保存订单
req.setAttribute("order", order);
return "f:/jsps/order/ordersucc.jsp";

}


OrderDao

public void add(Order order) throws SQLException
{

//插入订单
String sql="insert into t_order values(?,?,?,?,?,?)";
Object[] params={order.getOid(),order.getOrdertime(),
order.getTotal(),order.getStatus(),order.getAddress(),order.getOwner().getUid()    };
qr.update(sql);

//循环遍历订单的所有条目 让每个条目生成一个object数组 多个条目生成object[][]数组  执行批处理 完成插入订单条目

sql="insert into t_orderitem values(?,?,?,?,?,?,?,?)";
int len=order.getOrderItemList().size();
Object[][] objs=new Object[len][];
for(int i=0;i<len;i++)
{

OrderItem item=order.getOrderItemList().get(i);
objs[i]=new Object[]{item.getOrderItemId(),item.getQuantity(),
item.getSubtotal(),item.getBook().getBid(),
item.getBook().getBname(),item.getBook().getCurrPrice(),
item.getBook().getImage_b(),order.getOid()};
}

qr.batch(sql,objs);
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: