cleanup
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 1m42s
All checks were successful
Deploy to Dokku / docker (ubuntu-latest) (push) Successful in 1m42s
This commit is contained in:
62
src/main/java/cc/fascinated/bat/birthday/UserBirthday.java
Normal file
62
src/main/java/cc/fascinated/bat/birthday/UserBirthday.java
Normal file
@ -0,0 +1,62 @@
|
||||
package cc.fascinated.bat.birthday;
|
||||
|
||||
import cc.fascinated.bat.common.Serializable;
|
||||
import com.google.gson.Gson;
|
||||
import lombok.Getter;
|
||||
import lombok.Setter;
|
||||
import org.bson.Document;
|
||||
|
||||
import java.util.Calendar;
|
||||
import java.util.Date;
|
||||
|
||||
/**
|
||||
* @author Fascinated (fascinated7)
|
||||
*/
|
||||
@Getter
|
||||
@Setter
|
||||
public class UserBirthday extends Serializable {
|
||||
/**
|
||||
* The user's birthday
|
||||
*/
|
||||
private Date birthday;
|
||||
|
||||
/**
|
||||
* If the birthday should be hidden
|
||||
*/
|
||||
private boolean hidden;
|
||||
|
||||
/**
|
||||
* Calculates the age of the user
|
||||
*
|
||||
* @return the age of the user
|
||||
*/
|
||||
public int calculateAge() {
|
||||
Calendar birthdayCalendar = Calendar.getInstance();
|
||||
birthdayCalendar.setTime(this.getBirthday());
|
||||
Calendar today = Calendar.getInstance();
|
||||
int age = today.get(Calendar.YEAR) - birthdayCalendar.get(Calendar.YEAR);
|
||||
|
||||
// Check if the birthday hasn't occurred yet this year
|
||||
if (today.get(Calendar.DAY_OF_YEAR) < birthdayCalendar.get(Calendar.DAY_OF_YEAR)) {
|
||||
age--;
|
||||
}
|
||||
return age;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void load(Document document, Gson gson) {
|
||||
this.birthday = document.getDate("birthday");
|
||||
this.hidden = document.getBoolean("hidden", false);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Document serialize(Gson gson) {
|
||||
Document document = new Document();
|
||||
document.put("birthday", this.birthday);
|
||||
document.put("hidden", this.hidden);
|
||||
return document;
|
||||
}
|
||||
|
||||
@Override
|
||||
public void reset() {}
|
||||
}
|
Reference in New Issue
Block a user