Cart_Ticket
初始化计算initCalc同java代码
cart-getTicketGoods
getOneProduct查询商品信息是不是电子商品attribute=3是电子商品
runPromotion=false跳过如下计算:计算VIP、计算outlets计算促销、验证设置优惠券
Orders_Ticket
开始计算calculate最终订单金额优惠金额
update yohood_product set buy_number=buy_number+:buy_number where product_sku=:product_sku
orders.setGoods
根据product_id查商品,空||attribute!=3则返回
public function ticket(array $params)
新建 YOHOCart_OrdersuiduseYohoCoin(来自params)runPromotion = false
根据sku查库存,空则返回
sku在(当日票和套票)的list中则遍历listgetNumByUidSku查询有没有购买list中的票如果有则不能添加
判断是否买过,一天只能买一张
cartType=ordinary跳过预售购物车计算
getByKey根据$configKey = 'yohood2015'查询票的配置信息得到ticketList
每次只能买一张票
根据skn获取商品限制yhb_promotion(product_buy_limit)
new Productproduct_skubuy_number = 1uid
返回计算结果:总金额优惠后总金额优惠信息有货币等
Calculate_Base
updateNumberBySku更新已购买数量yohood(yohood_product)
product_skuuid 是否为空
cart.shoppingGoodsproduct_skubuy_number
getBySku查询库存足不足yh_shops.storage
购物车计算cart-compute($cartOrders)
cart.addTicket
checkTicket
Cart_Yohood
开始
设置good的各种属性:价格、sku、skc、skn等goods_type=ordinary
cart=new Cart_Ticket新建虚拟购物车
基础优惠判断只计算有货币运费、优惠券等都不计算
检查票是否已购买当日票或套票check