1
This commit is contained in:
parent
98da41b2eb
commit
c44384542b
@ -8,6 +8,7 @@ define('PLANET_BUY_KEY', 'game2006api:planet_buy:');
|
||||
define('LAST_SESSION_KEY', 'last_session:');
|
||||
define('MATCH_CURRENT_TEAM_KEY', 'match:current_team:');
|
||||
define('MATCH_OK_KEY', 'match:ok:');
|
||||
define('DEC_BATTLE_TICKET', 'battle_ticket:');
|
||||
|
||||
define('V_ITEM_GOLD', 10001); //金币
|
||||
define('V_ITEM_GOLDS', 10017); //金堆
|
||||
|
@ -593,6 +593,10 @@ class BattleController extends BaseAuthedController {
|
||||
myself()->_rspErr(2, 'map mode error');
|
||||
return;
|
||||
}
|
||||
if (!$this->checkTicket($customData, $mapModeMeta)) {
|
||||
myself()->_rspErr(2, 'map mode error');
|
||||
return;
|
||||
}
|
||||
|
||||
$currSeason = mt\RankSeason::getCurrentSeason();
|
||||
foreach ($customData['team_list'] as $team) {
|
||||
@ -679,6 +683,7 @@ class BattleController extends BaseAuthedController {
|
||||
array_push($data['team_list'], $teamInfo);
|
||||
}
|
||||
error_log(json_encode($data));
|
||||
$this->decTicket($customData, $mapModeMeta);
|
||||
myself()->_rspData($data);
|
||||
}
|
||||
|
||||
@ -991,4 +996,40 @@ class BattleController extends BaseAuthedController {
|
||||
return $info;
|
||||
}
|
||||
|
||||
private function checkTicket($customData, $mapModeMeta)
|
||||
{
|
||||
if (empty($mapModeMeta['admission_item_id'])) {
|
||||
return true;
|
||||
}
|
||||
foreach ($customData['team_list'] as $team) {
|
||||
foreach ($team['members'] as $member) {
|
||||
if (!$member['is_android']) {
|
||||
$itemDb = Bag::findEx($member['account_id'], $mapModeMeta['admission_item_id']);
|
||||
if (empty($itemDb) || $itemDb['item_num'] <= 0) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
private function decTicket($customData, $mapModeMeta)
|
||||
{
|
||||
$itemId = $mapModeMeta['admission_item_id'];
|
||||
if (empty($itemId)) {
|
||||
return;
|
||||
}
|
||||
foreach ($customData['team_list'] as $team) {
|
||||
foreach ($team['members'] as $member) {
|
||||
if (!$member['is_android']) {
|
||||
$itemDb = Bag::findEx($member['account_id'], $itemId);
|
||||
if (!empty($itemDb) || $itemDb['item_num'] > 0) {
|
||||
Bag::decItemByUnIidEx($member['account_id'], $itemDb['idx'], 1);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -299,5 +299,22 @@ class Bag extends BaseModel {
|
||||
);
|
||||
}
|
||||
|
||||
public static function decItemByUnIidEx($accountId, $itemUniId, $itemNum)
|
||||
{
|
||||
SqlHelper::update(
|
||||
myself()->_getMysql($accountId),
|
||||
't_bag',
|
||||
array(
|
||||
'account_id' => myself()->_getAccountId(),
|
||||
'idx' => $itemUniId,
|
||||
),
|
||||
array(
|
||||
'item_num' => function () use($itemNum) {
|
||||
return "GREATEST(0, item_num - ${itemNum})";
|
||||
},
|
||||
'modifytime' => myself()->_getNowTime(),
|
||||
)
|
||||
);
|
||||
}
|
||||
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user