_rspErr(2, 'Order does not exist'); return; } if ($orderDb['status'] == 1){ myself()->_rspErr(1, 'Order shipped'); return; } BcOrder::update($orderDb['order_id'], array( 'status' => 1 )); if ($orderDb['order_type'] == BcOrder::SPEC_ORDER_TYPE) { $extData = json_decode($orderDb['ext_data'], true); switch ($extData['mode']) { case BcOrder::SHOP_BUY_MODE_NORMAL: { $this->procShopBuyModeNormal($orderDb, $extData); } break; default: { } break; } } /* // 小胡 回调的处理 if ($this->_isVirtualItem($orderDb['item_id'])){ $passCbService = new BuyPassCbService(); $passCbService->process($orderDb); } else { // 老宋 处理... $shopGoodsCbService = new BuyShopGoodsCbService(); $shopGoodsCbService->process($orderDb); } */ myself()->_rspOk(); } private function procShopBuyModeNormal($orderDb, $extData) { $accountId = $orderDb['account_id']; $itemService = new ShopAddItemService(); myself()->_addLogEx($accountId, "shopBuyNormal", "begin", array( 'param1' => $orderDb['order_id'], 'param2' => json_encode(array( 'item_id' => $orderDb['item_id'], 'item_num' => $orderDb['item_num'], ) ), 'param3' => json_encode($orderDb), )); $itemId = $orderDb['item_id']; $itemNum = $orderDb['item_num']; if ($itemId == V_ITEM_DIAMOND) { $event = [ 'name' => LogService::CEBG_TO_DIAMOND, 'val' => $itemNum ]; LogService::productDiamondCallback( ['account_id' => $accountId], $event); } $itemService->addItemByAccountId($accountId, $itemId, $itemNum); myself()->_addLogEx($accountId, "shopBuyNormal", "end", array( 'param1' => $orderDb['order_id'], 'param2' => json_encode(array( 'item_id' => $orderDb['item_id'], 'item_num' => $orderDb['item_num'], )), 'param3' => json_encode($orderDb), )); } }