From 8a9bb64b534802accceb37366539826e03e8207f Mon Sep 17 00:00:00 2001 From: lopar Date: Wed, 28 Oct 2020 01:41:42 +0200 Subject: [PATCH] =?UTF-8?q?=D0=91=D0=BE=D0=BB=D0=B5=D0=B5=20=D1=8F=D0=B2?= =?UTF-8?q?=D0=BD=D0=BE=D0=B5=20=D0=B4=D0=BE=D0=BA=D1=83=D0=BC=D0=B5=D0=BD?= =?UTF-8?q?=D1=82=D0=B8=D1=80=D0=BE=D0=B2=D0=B0=D0=BD=D0=B8=D0=B5=20=D1=84?= =?UTF-8?q?=D1=83=D0=BD=D0=BA=D1=86=D0=B8=D0=B9=20=D0=B1=D0=B0=D0=BD=D0=BA?= =?UTF-8?q?=D0=B0,=20=D0=BB=D0=BE=D0=B3=D0=B3=D0=B8=D1=80=D0=BE=D0=B2?= =?UTF-8?q?=D0=B0=D0=BD=D0=B8=D0=B5=20=D0=BF=D0=BE=D0=BB=D1=83=D1=87=D0=B5?= =?UTF-8?q?=D0=BD=D0=B8=D1=8F=20=D1=81=D1=80=D0=B5=D0=B4=D1=81=D1=82=D0=B2?= =?UTF-8?q?.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- bank.php | 2 +- classes/Bank.php | 56 ++++++++++++++++++++++++++---------------------- config.php | 2 +- 3 files changed, 32 insertions(+), 28 deletions(-) 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],