加入购物车和立即购买


details.html

<form    action="addCart" th:object="${goodsForm}" method="post">

<div class="col-sm-6">

<input type="hidden" name="commodityId" th:value="${goodsForm.commodityId}"/>

<h4 class="yh detailsT"><span th:text="${goodsForm.commodityName}">裕道府东北有机小米食用米 粗粮黄小米 五谷杂粮月子米</span></h4>

<dl class="dl-horizontal detailsInfo cf">

       <dt>零售价:</dt>

       <dd class="price yh"><i>¥</i><span th:text="${goodsForm.retailPrice}">128</span></dd>

       <dt>运 费 :</dt>

       <dd>8元</dd>

       <dt>品  牌:</dt>

       <dd><span th:text="${goodsForm.brandName}">日思</span></dd>

       <dt>经销商:</dt>

       <dd><span th:text="${goodsForm.supplierName}">天津日思优质小站稻开发公司</span></dd>

       <dt>规  格:</dt>

       <dd>每<span th:text="${#strings.concat(goodsForm.unit).concat(goodsForm.specifications)}">袋5kg</span></dd>

       <dt>库  存:</dt>

       <dd><span th:text="${goodsForm.stock}">99</span></dd>

       <dt>数  量:</dt>

       <dd style="height:32px;">

       <div class="chooseAmount mt5">

       <a οnclick="subNum();" href="javascript:void(0)"></a>

       <input type="text" name="count" id="count" class="fl inp-t" value="1"/>

       <a οnclick="addNum();"  href="javascript:void(0)"></a>

       </div>

       </dd>

   </dl>

   <p class="mt20"><button class="btnBlue yh "  name="buy">立即购买</button><button class="btnYellow yh" name="add" >加入购物车</button></p>

</div>

</form>

</div>

cartController.java

@RequestMapping(value = "addCart", method = RequestMethod.POST,params="buy")
	    public String alipayConfirmaddCart(Model model, HttpSession session, Device device) {
			GoodsForm goodsForm=new GoodsForm();
//			goodsForm.setType("粮食");
//			model.addAttribute("goodsForm", goodsForm);
			List<GoodsForm> commodityType = goodsService.getType();
	    	goodsForm.setCommodityTypeId(commodityType.get(0).getCommodityTypeId());
	    	model.addAttribute("goodsForm", goodsForm);
	    	model.addAttribute("commodityType", commodityType);
	    	log.info("确认支付");
	    	CartForm cartForm = new CartForm();
	    	UVO uvo = (UVO)session.getAttribute("UVO");
	    	if (uvo == null || StringUtils.isEmpty(uvo.getGuestId())) {
	    		return "redirect:/initGuestLogin";
	    	}
	    	cartForm.setGuestId(uvo.getGuestId());
	    	List<CartForm> list = cartService.searchCartList(cartForm);
	    	AlipayForm alipayForm = new AlipayForm();
	    	String body = "您购买的商品如下:";
	    	Double price = 0d;
	    	for (CartForm item : list) {
	    		body = body + "品名:" + item.getCommodityName() +", 数量:"+ item.getCount() +", 总价:"+ String.valueOf(Double.valueOf(item.getCount())*Double.valueOf(item.getRetailPrice())) +";";
	    		price = price + Double.valueOf(item.getCount())*Double.valueOf(item.getRetailPrice());
	    	}
	    	alipayForm.setBody(body);
	    	alipayForm.setOutTradeNo(list.get(0).getCartId());
	    	// 不满88元加8元邮费
	    	if(price < 88) {
	    		price = price + 8;
	    		body = body + "(由于本次订单未满88元,加收您邮费8元)";
	    	}
	    	alipayForm.setPrice(price.toString());
	    	alipayForm.setReceiveAddress(uvo.getAddress());
	    	alipayForm.setReceiveMobile(uvo.getMobile());
	    	alipayForm.setReceiveName(uvo.getGuestName());
	    	alipayForm.setReceivePhone(uvo.getPhone());
	    	alipayForm.setReceiveZip(uvo.getZip());
	    	String host = env.getProperty("host.web");
	    	alipayForm.setShowUrl(host + "/initCart");
	    	alipayForm.setSubject(body);
	    	model.addAttribute("alipayForm", alipayForm);
	    	cartForm.setGuestId(uvo.getGuestId());
	    	model.addAttribute("cartList", cartService.searchCartList(cartForm));
	        if(device.isNormal()) {
	    		return "shop/cart/cart-2";
	    	} else {
	    		return "mobile/alipay/alipayConfirm";
	    	}
	    }
	
    @RequestMapping(value = "addCart", method = RequestMethod.POST,params="add")
    public String executeAddCart(Model model, HttpSession session, CartForm cartForm, Device device) throws SQLException {
    	log.info("追加购物车");
    	GoodsForm goodsForm = new GoodsForm();
		goodsForm.setCommodityId(cartForm.getCommodityId());
//		goodsForm.setType("粮食");
		List<GoodsForm> commodityType = goodsService.getType();
    	goodsForm.setCommodityTypeId(commodityType.get(0).getCommodityTypeId());
    	model.addAttribute("commodityType", commodityType);
		model.addAttribute("goodsForm", goodsService.searchGoods(goodsForm));
    	UVO uvo = (UVO)session.getAttribute("UVO");
    	
    	if (uvo == null || StringUtils.isEmpty(uvo.getGuestId()) || uvo.getGuestId().length() > 4) {
    		if (uvo == null || StringUtils.isEmpty(uvo.getGuestId()) || "Guest".equals(uvo.getGuestId().substring(0, 5))) {
    			uvo = new UVO();
    			Date date = new Date();
        		SimpleDateFormat dateformat = new SimpleDateFormat("yyyyMMddHHmmss");
        		uvo.setUserId("Guest" + dateformat.format(date));
        		uvo.setGuestId("Guest" + dateformat.format(date));
        		uvo.setUserName("来宾" + dateformat.format(date));
        		log.info("匿名购买商品销售页面初始化。");
        		AlipayForm alipayForm = new AlipayForm();
        		cartForm.setGuestId(uvo.getGuestId());
        		alipayForm = cartService.searchAlipay(cartForm);
        		List<CartForm> cartList = new ArrayList<>();
        		model.addAttribute("cartList", cartList);
        		if (alipayForm == null) {
        			model.addAttribute("message", "库存不够!");
        			if(device.isNormal()) {
        	    		return "shop/goods/goodsDetail";
        	    	} else {
        	    		return "mobile/goods/goodsDetail";
        	    	}
        		}
        		model.addAttribute("alipayForm", alipayForm);
        		if(device.isNormal()) {
        			return "shop/alipay/guestAlipayConfirm";
        		} else {
        			return "mobile/alipay/guestAlipayConfirm";
        		}
    		}
    	}
    	
    	cartForm.setUpdateUser(uvo.getGuestName());
		Date date = new Date();
		SimpleDateFormat dateformat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
		cartForm.setUpdateTime(dateformat.format(date));
		cartForm.setGuestId(uvo.getGuestId());
		AlipayForm alipayForm = new AlipayForm();
		alipayForm = cartService.searchAlipay(cartForm);
		if (alipayForm == null) {
			model.addAttribute("cartList", cartService.searchCartList(cartForm));
			model.addAttribute("message", "库存不够!");
			if(device.isNormal()) {
	    		return "shop/goods/goodsDetail";
	    	} else {
	    		return "mobile/goods/goodsDetail";
	    	}
		}
    
    	boolean result = cartService.addCart(cartForm);
    	if (!result) {
    		throw new SQLException("追加购物车失败!");
    	}
    	model.addAttribute("cartList", cartService.searchCartList(cartForm));
    	model.addAttribute("list", cartService.searchAlipayHistoryList(cartForm));
    	if(device.isNormal()) {
    		return "shop/cart/cart-1";
    	} else {
    		return "mobile/cart/cartList";
    	}
    }


转载于:https://my.oschina.net/u/2412052/blog/490018

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值