Skip to content

Commit 6b22ecf

Browse files
committedJan 7, 2019
readme
1 parent 3d7d23b commit 6b22ecf

File tree

2 files changed

+5
-2
lines changed

2 files changed

+5
-2
lines changed
 

‎README.md

+4-1
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,10 @@ spring cloud并不是像spring是一个框架,他是解决微服务的一种
5757
- [x] 2019/1/6 完成了后台订单管理模块并且进行了测试,调用收货地址服务时,发现收货地址服务无法读取到cookie,通过这个方法(https://blog.csdn.net/WYA1993/article/details/84304243) 暂时解决了问题
5858
- [x] 2019/1/6 预置所有商品库存到redis中;预置所有商品到redis中;大概确定好订单服务思路:预减库存(redis判断库存)---对userID增加分布式锁防止用户重复提交订单--MQ异步下订单
5959
- [x] 2019/1/6 新增全局唯一ID生成服务,雪花算法实现
60-
- [ ] 2019/1/7 完善订单服务
60+
- [ ] 2019/1/7 完善订单服务-这一块涉及跨库操作,并且不停地调用其他服务,脑子都快晕了,这里采取的策略是:用到购物车的时候,去调用购物车服务获取;产品详情从redis中获取。首先将商品以及商品库存全部缓存到redis中,然后用户下单,先从redis中判断库存,够则减,判断
61+
和扣减放在lua脚本中原子执行,然后MQ异步出去生成订单(生成订单主表和订单详情表放在一个本地事务中),这两步操作成功之后,再用MQ去异步删除购物车。MQ消费不成功则重试。
62+
对于扣减库存这一步,想法是用定时任务,定时与redis中进行同步。这里是模拟了秒杀场景,预减库存+MQ异步,提交订单-->redis判断并且减库存-->调用cart-service获取购物车-->MQ异步(userId,shippingId)生成订单主表和详情表-->上面都成功,则MQ异步(userId)
63+
去清除购物车,库存用定时任务去同步(未做),理想的做法是:MQ异步扣减库存,订单服务订阅扣减库存消息,一旦库存扣减成功,则进行订单生成。
6164
- [ ] 2019/1/8 支付服务
6265
- [ ] 2019/1/9 swagger
6366
- [ ] 2019/1/10 服务跟踪、自动化部署

‎snailmall-order-service/src/main/java/com/njupt/swg/service/OrderServiceImpl.java

+1-1
Original file line numberDiff line numberDiff line change
@@ -246,8 +246,8 @@ public ServerResponse createOrder(Integer userId, Integer shippingId) {
246246
messageVo.setCartVo(cartVo);
247247
messageVo.setUserId(userId);
248248
messageVo.setShippingId(shippingId);
249-
messageVoList.add(messageVo);
250249
messageVo.setOrderNo(orderNo);
250+
messageVoList.add(messageVo);
251251
}
252252
}
253253

0 commit comments

Comments
 (0)
Please sign in to comment.