EndBase.php 2.07 KB
<?php

/**
 *
 * User: ziy
 * Date: 14-8-4
 * Time: 上午5:18
 */
class YHMCart_Hook_Orders_EndBase extends YHMCart_Hook_Abstract {

    static function run(YHMCart_Hook_Orders $package) {
        self::ReleaseAntiXSRFFilter();
        $package = $package->getOrder();
        self::autoPayment($package);
        self::updateStock($package);
        self::syncStock($package);
    }

    /**
     * 自动到款
     * @param array $package
     */
    private static function autoPayment(array $package) {
        
    }

    /**
     * 更新订单状态
     * @param array $orderData
     */
    static function updateOrdersStatus(array $orderData) {
        
    }

    static function updateStock(array $orderData) {
        if (!empty($orderData['goods_list'])) {
            foreach ($orderData['goods_list'] as $key => $val) {
                YHMProduct_Models_Stock_Client::updateSubtractStock($val['product_sku'], $val['product_skc'], $val['buy_number']);
            }
        }
    }

    /**
     * 同步商品库存
     * @param array $orderData
     */
    static function syncStock(array $orderData) {
        if (!empty($orderData['goods_list'])) {
            foreach ($orderData['goods_list'] as $key => $val) {
                // 同步索引
                $stockInfo = YHMProduct_Models_Stock_Client::getCountBySkc($val['product_skc']);
             //   print_r($stockInfo);
             //   $curStockNum = $stockInfo['stock_number'] - $val['buy_number'];
                try {
                    $syncParams = array(
                        'product_skc' => $val['product_skc'],
                        'stock_number' =>  ($stockInfo['stock_number'])? $stockInfo['stock_number']:0
                    );
                    $syncProduct = new YHMSearch_Syncgoods ();
                    $syncProduct->sync($syncParams);
                 
                } catch (Exception $e) {
                    
                }
            }
        }
    }

    static function ReleaseAntiXSRFFilter() {
        Q_Core_Session::start('auth_check_submit')->__unset('auth_submit_action');
    }

}