目录
难点-代码复杂下单功能
项目基于spring boot,同样都是需要mvc三层架构+实体bean类。
在这先抛出几个问题。如何添加购物车,如何查询购物车,如何删除购物车。
- 在数据库这块,先分析前段保存的数据,与数据库对应的关系
- F12查看前端传输的数据,可以查看到传输的路径和相对应的信息
———————————————————————————————————————————
在理清逻辑之后,开始bean类的构建,继承Serializable接口,Long类型需要序列化的注解格式为:@JsonSerialize(using = ToStringSerializer.class)

*然后是mapper接口。
@Mapper
public interface ShoppingCartMapper extends BaseMapper<ShoppingCart> { }
*业务层接口 ShoppingCartService
public interface ShoppingCartService extends IService<ShoppingCart> { }
*业务层实现类 ShoppingCartServiceImpl
@Service
public class ShoppingCartServiceImpl extends ServiceImpl<ShoppingCartMapper, ShoppingCart> implements ShoppingCartService { }
控制层 ShoppingCartController
@Slf4j
@RestController
@RequestMapping("/shoppingCart")
public class ShoppingCartController {
@Autowired
private ShoppingCartService shoppingCartService;
}
———————————————————————————————————————————
添加查询删除购物车逻辑及其代码
在ShoppingCartController中创建add方法,
由于表的特殊性,来完成添加购物车的逻辑实现。
添加购物车。
@PostMapping("/add")
public R<ShoppingCart> add(@RequestBody ShoppingCart shoppingCart){
log.info("添加到购物车中的购物项:"+shoppingCart);
// 目标 shoppingCart 数据补全 存到数据库中
// 1:购物项少 登录人id id在呢呢 session域中
// 啥时候存的 登录时候存的 可以从session取 没毛病
// 过滤器在做登录权限校验的时候,把用户id放到了线程中。
// 还可以从当前线程中取出
Long userId = BaseContext.getCurrentId();
//存进去
shoppingCart.setUserId(userId);
//2: 这个购物项 用户点了几份?
/*
去数据库查,如果数据库没有,这是第一份。
数据库添加数据
如果数据库有,在原有的份数上+1。

最低0.47元/天 解锁文章
1017

被折叠的 条评论
为什么被折叠?



