电商项目笔记之六:订单操作



手里的项目没有支付宝相关的代码 比较遗憾, 刚才网上查了一下 貌似支付宝和struts的接口也不是太难 ,有机会再试试吧


一:提交订单

	public String add() throws Exception {
		order.setName(getLoginCustomer().getUsername());
		order.setAddress(getLoginCustomer().getAddress());
		order.setMobile(getLoginCustomer().getMobile());
		return ADD;
	}


付款方式前台传到后台就没处理
<input type="radio" name="paymentWay" value="货到付款">货到付款

我看支付宝的帮助,要在action里准备一个Map,然后put进一系列认证号 然后是总价 最后是成功后返回的url (这些应该在订单的保存之后执行, 成功与否都要在数据库中再更新一下)




二:订单的保存


	public String save() throws Exception {
		if(getLoginCustomer() != null){//如果用户已登录
			order.setOrderId(StringUitl.createOrderId());// 设置订单号
			order.setCustomer(getLoginCustomer());// 设置所属用户
			Set<OrderItem> cart = getCart();// 获取购物车
			if(cart.isEmpty()){//判断条目信息是否为空
				return ERROR;//返回订单信息错误提示页面
			}
			// 依次将更新订单项中的商品的销售数量
			for(OrderItem item : cart){//遍历购物车中的订单条目信息
				Integer productId = item.getProductId();//获取商品ID
				ProductInfo product = productDao.load(productId);//装载商品对象
				product.setSellCount(product.getSellCount() + item.getAmount());//更新商品销售数量
				productDao.update(product);//修改商品信息
			}
			order.setOrderItems(cart);// 设置订单项
			order.setOrderState(OrderState.DELIVERED);// 设置订单状态
			float totalPrice = 0f;// 计算总额的变量
			for (OrderItem orderItem : cart) {//遍历购物车中的订单条目信息
				totalPrice += orderItem.getProductPrice() * orderItem.getAmount();//商品单价*商品数量
			}
			order.setTotalPrice(totalPrice);//设置订单的总价格
			orderDao.save(order);//保存订单信息
			session.remove("cart");// 清空购物车
		}
		return findByCustomer();//返回消费者订单查询的方法
	}



	public String findByCustomer() throws Exception {
		if(getLoginCustomer() != null){//如果用户已登录
			String where = "where customer.id = ?";//将用户id设置为查询条件
			Object[] queryParams = {getLoginCustomer().getId()};//创建对象数组
			Map<String, String> orderby = new HashMap<String, String>(1);//创建Map集合
			orderby.put("createTime", "desc");//设置排序条件及方式
			pageModel = orderDao.find(where, queryParams, orderby , pageNo, pageSize);//执行查询方法
		}
		return LIST;//返回订单列表页面
	}












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值