109 lines
3.0 KiB
PHP
109 lines
3.0 KiB
PHP
<?php
|
|
|
|
require_once('mt/FirstTopup.php');
|
|
|
|
require_once("models/FirstTopup.php");
|
|
|
|
require_once('services/PropertyChgService.php');
|
|
|
|
use phpcommon\SqlHelper;
|
|
|
|
use models\FirstTopup;
|
|
|
|
class FirstTopupController extends BaseAuthedController {
|
|
|
|
public function info()
|
|
{
|
|
$dbInfo = FirstTopup::get();
|
|
$status = array(0, 0, 0);
|
|
if (!$dbInfo) {
|
|
$this->_rspData(array(
|
|
'complete' => 0,
|
|
'firstTopupList' => mt\FirstTopup::getGroups(),
|
|
'status' => $status,
|
|
)
|
|
);
|
|
return;
|
|
}
|
|
FirstTopup::adjustStatus($dbInfo);
|
|
$complete = 1;
|
|
for ($i = 1; $i <= 3; ++$i) {
|
|
if ($dbInfo['status' . $i] != 2) {
|
|
$complete = 0;
|
|
break;
|
|
}
|
|
}
|
|
if ($complete == 1 && myself()->_getV(TN_FIRST_TUPOP_STATUS, 0) == 0) {
|
|
myself()->_setV(TN_FIRST_TUPOP_STATUS, 0, 1);
|
|
}
|
|
$this->_rspData(
|
|
array(
|
|
'complete' => $complete,
|
|
'firstTopupList' => mt\FirstTopup::getGroups(),
|
|
'status' => $status,
|
|
)
|
|
);
|
|
}
|
|
|
|
public function get()
|
|
{
|
|
$group = getReqVal('group', 1);
|
|
|
|
$conn = myself()->_getMysql('');
|
|
|
|
$address = myself()->_getAddress();
|
|
if (!$address) {
|
|
$this->_rspErr(1, 'you have not a web3 address');
|
|
return;
|
|
}
|
|
|
|
$status = $this->getStatusFromDB($conn);
|
|
|
|
$test = $status[$group - 1];
|
|
|
|
if ($test == 1) {
|
|
$status[$group - 1] = 2;
|
|
$chk = SqlHelper::update(
|
|
$conn,
|
|
't_first_topup',
|
|
array(
|
|
'address' => myself()->_getAddress(),
|
|
),
|
|
array(
|
|
'status' . $group => 2,
|
|
)
|
|
);
|
|
// 发放奖励
|
|
$reward = mt\FirstTopup::getByGroup($group);
|
|
|
|
$propertyChgService = new services\PropertyChgService();
|
|
|
|
for ($i = 0; $i < count($reward); $i++) {
|
|
$item = $reward[$i];
|
|
$itemMeta = mt\Item::get($item['goods_id']);
|
|
for ($j = 0; $j < $item['goods_num']; $j++) {
|
|
$this->internalAddItem($propertyChgService, $itemMeta, 1);
|
|
}
|
|
}
|
|
|
|
$complete = ($status[0] == 2 && $status[1] == 2 && $status[2] == 2) ? 1 : 0;
|
|
if ($complete == 1) {
|
|
$this->_setV(TN_FIRST_TUPOP_STATUS, 0, 1);
|
|
}
|
|
|
|
$this->_rspData(
|
|
array(
|
|
'group' => $group,
|
|
'status' => $status,
|
|
'reward' => $reward,
|
|
)
|
|
);
|
|
} else if ($test >= 2) {
|
|
$this->_rspErr(2, "already received the reward, group: $group");
|
|
} else if ($test < 1) {
|
|
$this->_rspErr(1, "not yet to receive the reward, group: $group");
|
|
}
|
|
}
|
|
|
|
}
|