From 1c6245fa6c4ae6677c82f832a2d05fa765e25fef Mon Sep 17 00:00:00 2001 From: P0nk Date: Sun, 29 Sep 2024 18:09:05 +0200 Subject: [PATCH] birthday represented as LocalDate --- src/main/java/client/Client.java | 11 +++++------ .../server/channel/handlers/CashOperationHandler.java | 1 + 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/main/java/client/Client.java b/src/main/java/client/Client.java index 9a13d2a230..94b0c9888d 100644 --- a/src/main/java/client/Client.java +++ b/src/main/java/client/Client.java @@ -98,7 +98,7 @@ public class Client extends ChannelInboundHandlerAdapter { private int accId = -4; private boolean loggedIn = false; private boolean inServerTransition = false; - private Calendar birthday = null; // TODO: convert to LocalDate + private LocalDate birthday = null; private String accountName = null; private int world; private volatile long lastPong; @@ -289,10 +289,7 @@ public class Client extends ChannelInboundHandlerAdapter { this.pin = account.pin(); this.pic = account.pic(); this.gender = Objects.requireNonNullElse(account.gender(), Gender.NOT_SET); - Calendar calendar = Calendar.getInstance(); - LocalDate birthdate = account.birthdate(); - calendar.set(birthdate.getYear(), birthdate.getMonthValue() - 1, birthdate.getDayOfMonth()); - this.birthday = calendar; + this.birthday = account.birthdate(); loggedIn = account.loginState() == LoginState.LOGGED_IN; inServerTransition = account.loginState() == LoginState.SERVER_TRANSITION; } @@ -568,7 +565,9 @@ public class Client extends ChannelInboundHandlerAdapter { } public boolean checkBirthDate(Calendar date) { - return date.get(Calendar.YEAR) == birthday.get(Calendar.YEAR) && date.get(Calendar.MONTH) == birthday.get(Calendar.MONTH) && date.get(Calendar.DAY_OF_MONTH) == birthday.get(Calendar.DAY_OF_MONTH); + LocalDate toCheck = LocalDate.of(date.get(Calendar.YEAR), date.get(Calendar.MONTH), + date.get(Calendar.DAY_OF_MONTH)); + return Objects.equals(birthday, toCheck); } public synchronized boolean tryDisconnect() { diff --git a/src/main/java/net/server/channel/handlers/CashOperationHandler.java b/src/main/java/net/server/channel/handlers/CashOperationHandler.java index 445e57918a..16f6d25b23 100644 --- a/src/main/java/net/server/channel/handlers/CashOperationHandler.java +++ b/src/main/java/net/server/channel/handlers/CashOperationHandler.java @@ -475,6 +475,7 @@ public final class CashOperationHandler extends AbstractPacketHandler { } } + // TODO: move to util class. Method to parse LocalDate from this encoded int. public static boolean checkBirthday(Client c, int idate) { int year = idate / 10000; int month = (idate - year * 10000) / 100;