天猫双十一有个积分换魔盒的活动,总共50万台天猫魔盒(box),每个用户(urser)可以用99个天猫积分(point)置换一台魔盒,且每人限换一台。 设计一套java接口并实现下单(order)逻辑。
参考(但不局限于)下面的下的逻辑:
1、创建订单 2、扣减用户积分 3、扣减魔盒库存 4、下单成功
同时请回答:
1、数据库表结构如何设计,有哪些表,分别有什么作用?
2、下单过程中哪些地方可能成为瓶颈?如何解决或改善?
3、是否会用到数据库事务,哪些地方会用到?如果不用数据库事务,如何保证数据的一致性?
order.changeUserInfo(userId);
order.chandeBoxIsOrdered(BoxId);