系统架构师-基础到企业应用架构-业务逻辑层 (3)

image

我们知道注册的会员可以通过将产品添加到购物车中,然后通过去付款模块来进入支付系统,完成订单。

其次、分析出事务。

image

一般来说购物的流程是这样的流程。当然这里也不是标准的形式。

那么我们如何上述的几个步骤的内容,去完成这个事务的流程。

public class BuyInfo { /// <summary> /// 购物车中的产品列表 /// </summary> private List<Product> proList = new List<Product>(); public int CreateBuyCar(Product product) { //事务开始 this.BeginTranstion(); //判定当前添加到购物车中的产品信息是否是自己发布的产品 if (!this.IsCanBuy(product.PutOutID)) return; //判定当前产品的库存信息是否大于当前购买的数量; if(!this.IsLagerThenBuy(product.PutOutID)) return; //添加产品到购物车 proList.Add(product); //处理生成订单信息 int orderID= this.CreateOrder(); //事务结束 this.EndTranstion(); return orderID; } /// <summary> /// 生成订单 /// </summary> /// <returns></returns> private int CreateOrder() { Order order = new Order(this); return order.CreateOrder(); } /// <summary> /// 判定当前产品的库存信息是否大于当前购买的数量 /// </summary> /// <param></param> /// <returns></returns> private bool IsLagerThenBuy(int p) { return false; } /// <summary> /// 判定是否是自己发布的产品信息 /// </summary> /// <param></param> private bool IsCanBuy(int p) { return false; } private void EndTranstion() { //TODO.. } private void BeginTranstion() { //TODO.. } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zysjgs.html