public function checkBalanceForActionList(array $keyList, $userId) { if (!$keyList || !$userId) { return array(); } $actions = $this->findActionList($keyList); $actionList = array(); if ($actions) { foreach ($actions as $action) { $actionList[$action->pluginKey][$action->actionKey] = $action->amount; } } $balance = $this->balanceDao->findByUserId($userId); $result = array(); foreach ($keyList as $pluginKey => $actionKeys) { foreach ($actionKeys as $actionKey) { $result[$pluginKey][$actionKey] = !empty($actionList[$pluginKey][$actionKey]) && $balance >= $actionList[$pluginKey][$actionKey]; } } return $result; }