|
@@ -1,33 +1,34 @@
|
|
package com.company;
|
|
package com.company;
|
|
|
|
|
|
-import java.io.Serializable;
|
|
|
|
-import java.util.Arrays;
|
|
|
|
import java.util.Random;
|
|
import java.util.Random;
|
|
|
|
|
|
public class Bill {
|
|
public class Bill {
|
|
|
|
+ /**
|
|
|
|
+ * Ссылка на следующий элемент списка или null
|
|
|
|
+ */
|
|
public Bill next;
|
|
public Bill next;
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Текущий баланс счёта
|
|
|
|
+ */
|
|
private double balance;
|
|
private double balance;
|
|
- private String passport;
|
|
|
|
- private String phone;
|
|
|
|
- private String name;
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Номер счёта (карты). Генерируется автоматически при открытии счёта.
|
|
|
|
+ */
|
|
private String number;
|
|
private String number;
|
|
|
|
+ /**
|
|
|
|
+ * Пин-код для авторизации. Генерируется рандомно при открытии счёта.
|
|
|
|
+ */
|
|
private String pincode;
|
|
private String pincode;
|
|
|
|
|
|
/**
|
|
/**
|
|
- * Конструктор счёта
|
|
|
|
|
|
+ * Конструктор. Открытие нового счёта.
|
|
*
|
|
*
|
|
- * @param balance первоначальный баланс
|
|
|
|
- * @param passport паспортные данные клиента (серия номер)
|
|
|
|
- * @param phone мобильный телефон клиента
|
|
|
|
- * @param name имя и фамилия клиента
|
|
|
|
- * @param num порядковый номер нового клиента
|
|
|
|
|
|
+ * @param balance первоначальный баланс
|
|
|
|
+ * @param num порядковый номер нового клиента
|
|
*/
|
|
*/
|
|
- public Bill(double balance, String passport, String phone, String name, int num) {
|
|
|
|
|
|
+ public Bill(double balance, int num) {
|
|
this.balance = balance;
|
|
this.balance = balance;
|
|
- this.passport = passport;
|
|
|
|
- this.phone = phone;
|
|
|
|
- this.name = name;
|
|
|
|
|
|
|
|
// Генерация пин-кода
|
|
// Генерация пин-кода
|
|
Random random = new Random(System.currentTimeMillis());
|
|
Random random = new Random(System.currentTimeMillis());
|
|
@@ -39,20 +40,41 @@ public class Bill {
|
|
next = null;
|
|
next = null;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Проверка пин-кода
|
|
|
|
+ *
|
|
|
|
+ * @param pin пин-код для сравнения
|
|
|
|
+ * @return true, если пин-коды совпадают
|
|
|
|
+ */
|
|
public boolean checkPincode(String pin) {
|
|
public boolean checkPincode(String pin) {
|
|
return pincode.equals(pin);
|
|
return pincode.equals(pin);
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Получить текущий баланс счёта
|
|
|
|
+ *
|
|
|
|
+ * @return баланс
|
|
|
|
+ */
|
|
public double getBalance() {
|
|
public double getBalance() {
|
|
return balance;
|
|
return balance;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Пополнить баланс
|
|
|
|
+ *
|
|
|
|
+ * @param value пополняемое значение
|
|
|
|
+ */
|
|
public void deposit(double value) {
|
|
public void deposit(double value) {
|
|
if (value > 0) {
|
|
if (value > 0) {
|
|
balance += value;
|
|
balance += value;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Списать со счёта
|
|
|
|
+ *
|
|
|
|
+ * @param value списываемое значение
|
|
|
|
+ */
|
|
public void withdraw(double value) {
|
|
public void withdraw(double value) {
|
|
if (value > 0) {
|
|
if (value > 0) {
|
|
if (balance >= value) {
|
|
if (balance >= value) {
|
|
@@ -61,22 +83,19 @@ public class Bill {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|
|
- public String getPassport() {
|
|
|
|
- return passport;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public String getPhone() {
|
|
|
|
- return phone;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
- public String getName() {
|
|
|
|
- return name;
|
|
|
|
- }
|
|
|
|
-
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Получить номер счёта (карты)
|
|
|
|
+ * @return номер карты
|
|
|
|
+ */
|
|
public String getNumber() {
|
|
public String getNumber() {
|
|
return number;
|
|
return number;
|
|
}
|
|
}
|
|
|
|
|
|
|
|
+ /**
|
|
|
|
+ * Получить регистрационные данные
|
|
|
|
+ *
|
|
|
|
+ * @return структура с номером карты и пин-кодом
|
|
|
|
+ */
|
|
public SecretData getSecretData() {
|
|
public SecretData getSecretData() {
|
|
return new SecretData(number, pincode);
|
|
return new SecretData(number, pincode);
|
|
}
|
|
}
|