商城技术重点分析

1、分类和商品列出

  a、分类递归列出,只有叶子节点下拥有商品

  b、分类的递归删除,

  c、递归获取分类下面的商品

2、购物车

  a、ecmall 使用了session key 作为标志,使用了数据库表来记录当前购物车,定期清除即可

  b、购物车应该有 增加、删除、清空、更新、查出数据

3、订单入库

  a、购物车分开处理付款、生成订单,一个购物车中的数据,生成一个订单即可、

empty($item['goods_image']) && $item['goods_image'] = Conf::get('default_goods_image');

一个很赞的短路运算、

   订单入库需要做几个东西、

   算乏为:

  1、从购物车获取商品,

  2、获取商品的信息,检查库存,需要使用数据库锁机制

  3、判断商品信息

  4、处理优惠券,重新计算价格

  5、获取收货地址

  6、储存收获地址

  7、清理购物车

  8、发送订单信息  到卖家 买家

  9、更新统计数据

  10、开始付款

4、跳转到付款界面

  1选择支付方式

  2、判断支付方式的状态

    支付部分细节:

         a、支付需要传入 $call_back_url, $notify_url, $merchant_url

         b、需要一个支付表,一个支付日志表,

         c、需要传入三个url  1、成功通知地址  2、异步通知 3、产品购买来源地址 另外需要一个时间

         d、记录1小时为超期,判断是否超期

         e、// 是否存在支付记录,不能重复支付

         f、创建支付记录,计算支付价格等相关信息

         g、

          

  3、跳转到支付接口

  4、写入日志

  5、回调

原文地址:https://www.cnblogs.com/linksgo2011/p/3181964.html