Day15:拦截器和订单系统实现

一、购物车商品数量功能实现

1、页面分析
在这里插入图片描述
2、查看接口文档
在这里插入图片描述

objectMapper
private static ObjectMapper objectMapper = new ObjectMapper();
@PathVariable
接收传递参数

jt-web前台

@RequestMapping("update/num/{itemId}/{num}")
	@ResponseBody
	public SysResult updateCartNum(
			@PathVariable Long itemId,
			@PathVariable int num) {
		try {
			//先固定用户Id
			Long userId =7L;
			Cart cart = new Cart();
			cart.setUserId(userId);
			cart.setItemId(itemId);
			cart.setNum(num);
			//传递携带信息的cart对象
			cartService.updateCartNum(cart);
			return SysResult.oK();
		} catch (Exception e) {
			e.printStackTrace();
		}
		return SysResult.build(201, "更改购物车数量失败");
	}
//更改购物车某物品数量
	@Override
	public void updateCartNum(Cart cart) {
		//1.定义url
		String url = "http://cart.jt.com/cart/update/num";
		//2.封装参数
		try {
			String cartJSON = objectMapper.writeValueAsString(cart);
			Map<String,String> params = new HashMap<>();
			params.put("cartJSON", cartJSON);
			httpClient.doGet(url, params);
		} catch (Exception e) {
			e.printStackTrace();
			throw new RuntimeException();
		}
	}

jt-cart购物车

//更改购物车某产品数量
	@RequestMapping("/update/num")
	@ResponseBody
	public SysResult updateCartNum(String cartJSON){
		try {
			Cart cart = objectMapper.readValue(cartJSON, Cart.class);
			cartService.updateCartNum(cart);
			return SysResult.oK();
		} catch (Exception e) {
			e.printStackTrace();
		}
		
		return SysResult.build(201,"商品更新失败");
	}
public void updateCartNum(Cart cart) {
		// TODO Auto-generated method stub
		cart.setUpdated(new Date());
		cartMapper.updateCartNum(cart);
	}
void updateCartNum(Cart cart);
<!-- 修改购物车中商品数量 -->
	<update id="updateCartNum">
		update tb_cart 
		set 
		num = #{num}, updated = #{updated}
		where 
		item_id = #{itemId} and user_id = #{userId}
	</update>

二、拦截器功能的实现

1、需求分析:
如果用户没有登陆,则点击购物车应该实现拦截,并跳转到用户的登录页面
如果已经登录了,予以放行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值