_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"); } } }