From 3ea18cc6452228897732989105d55c66186dfb77 Mon Sep 17 00:00:00 2001 From: aozhiwei Date: Mon, 7 Aug 2023 14:21:26 +0800 Subject: [PATCH] 1 --- .../controller/BlockChainController.class.php | 18 ++++++++++++++++-- webapp/services/BlockChainService.php | 13 +++++++++++++ 2 files changed, 29 insertions(+), 2 deletions(-) diff --git a/webapp/controller/BlockChainController.class.php b/webapp/controller/BlockChainController.class.php index 6b77a220..52dce50a 100644 --- a/webapp/controller/BlockChainController.class.php +++ b/webapp/controller/BlockChainController.class.php @@ -309,11 +309,25 @@ class BlockChainController extends BaseAuthedController { myself()->_rspErr(1, "token_type error"); return; } + $rate = 1; + if (in_array( + $tokenType, + array( + 'USDC', + 'USDT' + ) + )) { + $rate = 10; + } + $jinDu = 18; + if ($tokenType == BlockChainService::CURRENCY_USDC) { + $jinDu = 6; + } $currency = $tokenType; - $price = BlockChainService::formatCurrency($num); + $price = BlockChainService::formatCurrencyEx($num, $jinDu); $itemId = V_ITEM_DIAMOND; - $itemCount = $num; + $itemCount = $num * $rate; $rspObj = BlockChainService::gameItemMallBuy( Transaction::BUY_GOODS_ACTION_TYPE, diff --git a/webapp/services/BlockChainService.php b/webapp/services/BlockChainService.php index 060a9481..74fd6732 100644 --- a/webapp/services/BlockChainService.php +++ b/webapp/services/BlockChainService.php @@ -11,6 +11,8 @@ use phpcommon; class BlockChainService { const CURRENCY_CEG = 'CEG'; + const CURRENCY_USDC = 'USDC'; + const CURRENCY_USDT = 'USDT'; /* 注意!!!: @@ -173,6 +175,17 @@ class BlockChainService { return $formatedStr; } + /* + $price 是一个小数精确到小数点后5位 + */ + public static function formatCurrencyEx($price, $jinDu) + { + $xiShu = 10000; + $intPrice = $price * $xiShu; + $formatedStr = phpcommon\bnDiv_s(phpcommon\bnMul_s($intPrice, phpcommon\bnPow_s(10, $jinDu)), $xiShu); + return $formatedStr; + } + private static function getWeb3ServiceUrl() { if (SERVER_ENV == _DEBUG) {