1
This commit is contained in:
parent
647e861417
commit
cc117b6450
@ -27,45 +27,7 @@ class MarketController extends BaseController {
|
||||
public function getPreSaleInfo()
|
||||
{
|
||||
$account = getReqVal('account', '');
|
||||
$currBatchMeta = mt\MarketBatch::getCurrentBatch();
|
||||
if (!$currBatchMeta) {
|
||||
myself()->_rspData(array(
|
||||
'presale_info' => $this->getDefaultPresaleInfo()
|
||||
));
|
||||
return;
|
||||
}
|
||||
|
||||
$countdown = mt\MarketBatch::getCountdown($currBatchMeta);
|
||||
$soldNum = min(BoxOrder::getSoldNum($currBatchMeta['id']),
|
||||
$currBatchMeta['number_of_props']);
|
||||
$totalNum = $currBatchMeta['number_of_props'];
|
||||
$buyed = MarketService::isTestMode() ?
|
||||
0 : BoxOrder::isBuyed($account, $currBatchMeta['id']);
|
||||
$title = '';
|
||||
$state = MarketService::PRESALE_PREPARE;
|
||||
if ($countdown > 0) {
|
||||
$state = MarketService::PRESALE_PREPARE;
|
||||
} else {
|
||||
if ($soldNum >= $totalNum) {
|
||||
$title = $this->escapeString($currBatchMeta['end_title']);
|
||||
$state = MarketService::PRESALE_SOLD_OUT;
|
||||
} else {
|
||||
$title = $this->escapeString($currBatchMeta['begin_title']);
|
||||
$state = MarketService::PRESALE_STARTED;
|
||||
}
|
||||
}
|
||||
$presaleInfo = array(
|
||||
'batch_id' => $currBatchMeta['batch_id'],
|
||||
'countdown' => $countdown,
|
||||
'sold_num' => $soldNum,
|
||||
'total_num' => $totalNum,
|
||||
'state' => $state,
|
||||
'title' => $title,
|
||||
'hint' => $this->escapeString($currBatchMeta['hint']),
|
||||
'buyable_list' => array(),
|
||||
//'buyed' => $buyed
|
||||
);
|
||||
|
||||
$presaleInfo = MarketService::getPreSaleInfo($account);
|
||||
if (MarketService::isTestMode()) {
|
||||
foreach(array_keys($presaleInfo) as $key) {
|
||||
if (!is_null(getReqVal($key, null))) {
|
||||
@ -73,25 +35,6 @@ class MarketController extends BaseController {
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
{
|
||||
$batchMetas = mt\MarketGoods::getBatchMetas($currBatchMeta['batch_id']);
|
||||
if ($batchMetas) {
|
||||
foreach ($batchMetas as $meta) {
|
||||
$boxId = phpcommon\genBoxId($currBatchMeta['id'], $meta['id'], $meta['item_id']);
|
||||
if (!$buyed) {
|
||||
if ($currBatchMeta['white_list'] && !mt\WhiteList::inWhiteList($account)) {
|
||||
continue;
|
||||
}
|
||||
array_push($presaleInfo['buyable_list'],
|
||||
array(
|
||||
'box_id' => $boxId
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
myself()->_rspData(array(
|
||||
'presale_info' => $presaleInfo
|
||||
));
|
||||
@ -406,11 +349,6 @@ class MarketController extends BaseController {
|
||||
return $nft;
|
||||
}
|
||||
|
||||
private function escapeString($str)
|
||||
{
|
||||
return str_replace("\n", '\n', $str);
|
||||
}
|
||||
|
||||
public function getNonce()
|
||||
{
|
||||
$account = getReqVal('account', '');
|
||||
@ -444,24 +382,4 @@ class MarketController extends BaseController {
|
||||
MarketService::auth($account, $tips, $nonce, $signature);
|
||||
}
|
||||
|
||||
private function getDefaultPresaleInfo()
|
||||
{
|
||||
$title = $this->escapeString(
|
||||
mt\Parameter::getVal('pre_sale_not_started_title', ''));
|
||||
$hint = $this->escapeString(
|
||||
mt\Parameter::getVal('pre_sale_not_started_hint', ''));
|
||||
$presaleInfo = array(
|
||||
'batch_id' => 0,
|
||||
'countdown' => 0,
|
||||
'sold_num' => 0,
|
||||
'total_num' => 0,
|
||||
'state' => MarketService::PRESALE_NOT_STARTED,
|
||||
'title' => $title,
|
||||
'hint' => $hint,
|
||||
'buyable_list' => array(),
|
||||
//'buyed' => 0
|
||||
);
|
||||
return $presaleInfo;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -2,8 +2,25 @@
|
||||
|
||||
namespace services;
|
||||
|
||||
require_once('mt/MarketGoods.php');
|
||||
require_once('mt/MarketBatch.php');
|
||||
require_once('mt/Item.php');
|
||||
require_once('mt/WhiteList.php');
|
||||
require_once('mt/Currency.php');
|
||||
require_once('mt/Hero.php');
|
||||
require_once('mt/Parameter.php');
|
||||
|
||||
require_once('models/BoxOrder.php');
|
||||
require_once('models/Nft.php');
|
||||
require_once('models/BuyRecord.php');
|
||||
|
||||
require_once('phpcommon/bchelper.php');
|
||||
|
||||
use phpcommon\SqlHelper;
|
||||
use models\BoxOrder;
|
||||
use models\Nft;
|
||||
use models\BuyRecord;
|
||||
|
||||
class MarketService extends BaseService {
|
||||
|
||||
const CURRENCY_DECIMALS = 8;
|
||||
@ -154,4 +171,90 @@ class MarketService extends BaseService {
|
||||
return base64_encode(json_encode($data));
|
||||
}
|
||||
|
||||
|
||||
public static function getPreSaleInfo($account)
|
||||
{
|
||||
$currBatchMeta = mt\MarketBatch::getCurrentBatch();
|
||||
if (!$currBatchMeta) {
|
||||
return self::getDefaultPresaleInfo();
|
||||
}
|
||||
|
||||
$countdown = mt\MarketBatch::getCountdown($currBatchMeta);
|
||||
$soldNum = min(BoxOrder::getSoldNum($currBatchMeta['id']),
|
||||
$currBatchMeta['number_of_props']);
|
||||
$totalNum = $currBatchMeta['number_of_props'];
|
||||
$buyed = self::isTestMode() ?
|
||||
0 : BoxOrder::isBuyed($account, $currBatchMeta['id']);
|
||||
$title = '';
|
||||
$state = self::PRESALE_PREPARE;
|
||||
if ($countdown > 0) {
|
||||
$state = self::PRESALE_PREPARE;
|
||||
} else {
|
||||
if ($soldNum >= $totalNum) {
|
||||
$title = self::escapeString($currBatchMeta['end_title']);
|
||||
$state = self::PRESALE_SOLD_OUT;
|
||||
} else {
|
||||
$title = self::escapeString($currBatchMeta['begin_title']);
|
||||
$state = self::PRESALE_STARTED;
|
||||
}
|
||||
}
|
||||
$presaleInfo = array(
|
||||
'batch_id' => $currBatchMeta['batch_id'],
|
||||
'countdown' => $countdown,
|
||||
'sold_num' => $soldNum,
|
||||
'total_num' => $totalNum,
|
||||
'state' => $state,
|
||||
'title' => $title,
|
||||
'hint' => self::escapeString($currBatchMeta['hint']),
|
||||
'buyable_list' => array(),
|
||||
//'buyed' => $buyed
|
||||
);
|
||||
|
||||
$batchMetas = mt\MarketGoods::getBatchMetas($currBatchMeta['batch_id']);
|
||||
if ($batchMetas) {
|
||||
foreach ($batchMetas as $meta) {
|
||||
$boxId = phpcommon\genBoxId($currBatchMeta['id'],
|
||||
$meta['id'],
|
||||
$meta['item_id']);
|
||||
if (!$buyed) {
|
||||
if ($currBatchMeta['white_list'] &&
|
||||
!mt\WhiteList::inWhiteList($account)) {
|
||||
continue;
|
||||
}
|
||||
array_push($presaleInfo['buyable_list'],
|
||||
array(
|
||||
'box_id' => $boxId
|
||||
));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
return $presaleInfo;
|
||||
}
|
||||
|
||||
private static function getDefaultPresaleInfo()
|
||||
{
|
||||
$title = self::escapeString(
|
||||
mt\Parameter::getVal('pre_sale_not_started_title', ''));
|
||||
$hint = self::escapeString(
|
||||
mt\Parameter::getVal('pre_sale_not_started_hint', ''));
|
||||
$presaleInfo = array(
|
||||
'batch_id' => 0,
|
||||
'countdown' => 0,
|
||||
'sold_num' => 0,
|
||||
'total_num' => 0,
|
||||
'state' => self::PRESALE_NOT_STARTED,
|
||||
'title' => $title,
|
||||
'hint' => $hint,
|
||||
'buyable_list' => array(),
|
||||
//'buyed' => 0
|
||||
);
|
||||
return $presaleInfo;
|
||||
}
|
||||
|
||||
private static function escapeString($str)
|
||||
{
|
||||
return str_replace("\n", '\n', $str);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user