diff --git a/bank.php b/bank.php index aa21297..35572af 100644 --- a/bank.php +++ b/bank.php @@ -87,6 +87,6 @@ Template::header('Банк'); - Комиссия: % от переводимой суммы, но не менее 1 кр. + Комиссия: % от переводимой суммы, но не менее 1 кр. \ No newline at end of file diff --git a/classes/Bank.php b/classes/Bank.php index b5c1c37..b6641e5 100644 --- a/classes/Bank.php +++ b/classes/Bank.php @@ -37,58 +37,60 @@ class Bank } /** - * Комиссия: self::BANK_COMISSION от переводимой суммы, но не менее 1 кр. + * Комиссия: процент от переводимой суммы, но не менее 1 кр. Задаётся в config.php. * - * @param $amount + * @param int $amount сумма. * * @return int */ - private function bankComission($amount) + private function bankCommission(int $amount):int { - $bankComission = round($amount * Config::$bank_comission); - if ($bankComission < 1) { + $bankCommission = round($amount * Config::$bank_commission); + if ($bankCommission < 1) { return 1; } else { - return (int)$bankComission; + return (int)$bankCommission; } } /** * Пишем банковское событие в лог в БД * - * @param int $receiverId - user_id получателя - * @param int $amount - * @param string $operationType - * @param int $senderId + * @param int $receiverId ID получателя. + * @param int $amount сумма. + * @param string $operationType тип банковской операции. + * @param int $senderId ID отправителя (ID игрока, если не указано иное). * + * @return void * @throws \Krugozor\Database\Mysql\Exception */ - private function bankLogs(int $receiverId, int $amount, string $operationType, int $senderId = 0) + private function bankLogs(int $receiverId, int $amount, string $operationType, int $senderId = 0):void { if (!$senderId) { $senderId = $this->user_id; } $text = ''; - if ($operationType === "sendMoney") { - $text = self::LOG_SEND . " Комиссия: " . $this->bankComission($amount); - } elseif ($operationType === "depositMoney") { + if ($operationType == "sendMoney") { + $text = self::LOG_SEND . " Комиссия: " . $this->bankCommission($amount); + } elseif ($operationType == "depositMoney") { $receiverId = $this->user_id; $text = self::LOG_DEPOSIT; - } elseif ($operationType === "withdrawMoney") { + } elseif ($operationType == "withdrawMoney") { $receiverId = $this->user_id; - $text = self::LOG_WITHDRAW . " Комиссия: " . $this->bankComission($amount); + $text = self::LOG_WITHDRAW . " Комиссия: " . $this->bankCommission($amount); + } elseif ($operationType == "receiveMoney") { + $text = self::LOG_RECEIVE; } db::c()->query('INSERT INTO `bank_logs` (sender_id, receiver_id, amount_result, type, text) VALUES (?i, ?i, ?i, "?s", "?s")', $senderId, $receiverId, $amount, $operationType, $text); - } /** - * Перевод денег между бансковскими счетами игроков с банковской комиссией. + * Перевод денег между банковскими счетами игроков с банковской комиссией. * - * @param int $receiver - * @param int $amount + * @param int $receiver ID получателя. + * @param int $amount сумма. * * @return void * @throws \Krugozor\Database\Mysql\Exception @@ -102,7 +104,7 @@ class Bank if (!$receiverWallet) { throw new Exception(self::ERROR_NO_BANK_ACCOUNT); } - $amountWithComission = $amount + $this->bankComission($amount); + $amountWithComission = $amount + $this->bankCommission($amount); if ($amountWithComission > $this->money) { throw new Exception(self::ERROR_NO_MONEY_IN_BANK_ACCOUNT); } @@ -119,7 +121,7 @@ class Bank /** * Пополнение банковского счёта игрока * - * @param int $amount - сумма + * @param int $amount сумма. * * @return void * @throws \Krugozor\Database\Mysql\Exception @@ -146,7 +148,7 @@ class Bank /** * Снятие денег с банковского счёта игрока с банковской комиссией. * - * @param int $amount - сумма + * @param int $amount сумма. * * @return void * @throws \Krugozor\Database\Mysql\Exception @@ -156,7 +158,7 @@ class Bank if ($amount <= 0) { throw new Exception(self::ERROR_WRONG_AMOUNT); } - $amountWithComission = $amount + $this->bankComission($amount); + $amountWithComission = $amount + $this->bankCommission($amount); if ($this->money < $amountWithComission) { throw new Exception(self::ERROR_NO_MONEY_IN_BANK_ACCOUNT); } @@ -177,6 +179,7 @@ class Bank * @param int $user_id ID пользователя. * @param string $operationType Тип операции. По умолчанию пусто. Если ввести, система запишет событие в банковский лог. * + * @return void * @throws \Krugozor\Database\Mysql\Exception */ public static function setBankMoney(int $amount, int $user_id, string $operationType = ''): void @@ -190,9 +193,10 @@ class Bank /** * Установить количество денег на руках. * - * @param int $amount - сумма. - * @param int $user_id - ID пользователя. + * @param int $amount сумма. + * @param int $user_id ID пользователя. * + * @return void * @throws \Krugozor\Database\Mysql\Exception */ public static function setWalletMoney(int $amount, int $user_id): void diff --git a/config.php b/config.php index 2d64487..830caaa 100644 --- a/config.php +++ b/config.php @@ -66,7 +66,7 @@ trait Config public static $clan_register_cost = 10000; //стоимость public static $clan_register_lock = 1; //запрет на регистрацию //Банк - public static $bank_comission = 0.05; //5% + public static $bank_commission = 0.05; //5% // Старая таблица опыта public static $exptable = [ 0 => [0, 0, 0, 0, 0, 20],