This commit is contained in:
aozhiwei 2024-08-08 13:50:05 +08:00
parent 66c225ab10
commit 9a3a74be27
3 changed files with 0 additions and 198 deletions

View File

@ -6,8 +6,6 @@ class CallBackService extends BaseService {
private $handlers = array(
'mintNftHero' => 'MintNftHero' ,
'gameItemMallBuyOk' => 'GameItemMallBuyOk',
'gameItemMarketBuyOk' => 'GameItemMarketBuyOk',
'inappPurchase' => 'InAppPurchase',
'outappPurchase' => 'OutAppPurchase',
'staked721' => 'Staked721',

View File

@ -1,105 +0,0 @@
<?php
namespace services;
require_once('phpcommon/bchelper.php');
require_once('models/BcOrder.php');
require_once('ShopAddItemService.php');
require_once ('services/callback/BuyPassCbService.php');
require_once ('services/callback/BuyShopGoodsCbService.php');
require_once ('services/callback/common/SignatureService.php');
use phpcommon\SqlHelper;
use models\BcOrder;
/*
const params = {
'c': 'Callback',
'a': 'dispatch',
'action': 'gameItemMallBuyOk',
'trans_id': transId,
'order_id': orderId,
};
*/
class GameItemMallBuyOk {
public function process()
{
SignatureService::web3ServiceCheck();
$transId = getReqVal('trans_id', '');
$orderId = getReqVal('order_id', '');
error_log("GameItemMallBuyOk-------------------");
$orderDb = BcOrder::find($orderId);
if (!$orderDb) {
myself()->_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'];
$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),
));
}
}

View File

@ -1,91 +0,0 @@
<?php
namespace services;
require_once('ShopAddItemService.php');
require_once('models/Mall.php');
require_once('services/EventService.php');
require_once('services/LogService.php');
require_once ('services/callback/common/SignatureService.php');
use phpcommon\SqlHelper;
use models\Mall;
use services\EventService;
/*
order_id
*/
class GameItemMarketBuyOk {
public function process()
{
SignatureService::web3ServiceCheck();
$buyer = strtolower(getReqVal('buyer', ''));
$orderId = getReqVal('order_id', '');
$currency = getReqVal('currency', '');
$price = getReqVal('price', '');
$orderDb = Mall::findByOrderId($orderId);
if (!$orderDb) {
myself()->_rspErr(2, 'Order does not exist');
return;
}
if ($orderDb['status'] == Mall::BUY_OK_STATE) {
myself()->_rspOk();
return;
}
Mall::buyOk($orderId, $buyer);
$accountId = myself()->_getAccountIdByAddress($buyer);
if (empty($accountId)) {
myself()->_addLogEx('', "mallBuyOk", "error_not_found_buyer", array(
'param1' => $orderDb['order_id'],
'param2' => json_encode(array(
'item_id' => $orderDb['item_id'],
'item_num' => $orderDb['item_num'],
)),
'param3' => json_encode($orderDb),
));
myself()->_rspOk();
return;
}
$itemId = $orderDb['item_id'];
$itemNum = $orderDb['item_num'];
myself()->_addLogEx($accountId, "mallBuyOk", "begin", array(
'param1' => $orderDb['order_id'],
'param2' => json_encode(array(
'item_id' => $orderDb['item_id'],
'item_num' => $orderDb['item_num'],
)),
'param3' => json_encode($orderDb),
));
if ($itemId == V_ITEM_GOLD) {
$event = [
'name' => LogService::MARKET_BUY_GOLD,
'val' => $itemNum
];
LogService::productGoldCallback(
array('account_id' => $accountId),
$event);
}
$itemService = new ShopAddItemService();
$itemService->addItemByAccountId($accountId, $itemId, $itemNum);
myself()->_addLogEx($accountId, "mallBuyOk", "end", array(
'param1' => $orderDb['order_id'],
'param2' => json_encode(array(
'item_id' => $orderDb['item_id'],
'item_num' => $orderDb['item_num'],
)),
'param3' => json_encode($orderDb),
));
$currencyName = $orderDb['currency'];
EventService::mallConsume($accountId, $currencyName, $price);
myself()->_rspOk();
}
}