ADD:: new achievements

This commit is contained in:
mlwauben
2019-04-06 10:33:36 +02:00
parent 0f9cd14036
commit 4433d509bb
2 changed files with 66 additions and 1 deletions

View File

@@ -10,7 +10,12 @@ import java.util.Map;
public class AllAchievements {
private static final List<Achievement> allAchievements = Arrays.asList(
new Achievement("Starting off", "You did your first green activity", false),
new Achievement("Social butterfly", "You added three friends", false)
new Achievement("Social butterfly", "You added three friends", false),
new Achievement("Green saver", "You saved * of CO2", false),
new Achievement("Animal friend", "You have eaten 10 vegetarian meals", false),
new Achievement("Tom Dumoulin", "You have biked * km", false),
new Achievement("Below average!", "You spend less CO2 than average on everything", false),
new Achievement("", "", false)
);
/**

View File

@@ -24,6 +24,11 @@ public class AchievementService {
*/
public void updateAchievements(User user) {
achieveGettingStarted(user);
achieveSocialButterfly(user);
achieveGreenSaver(user);
achieveAnimalFriend(user);
achieveTomDumoulin(user);
achieveBelowAverage(user);
userRepository.save(user);
}
@@ -38,4 +43,59 @@ public class AchievementService {
}
}
/**
* This method changes achiev2 when this is the case.
* @param user user for whom achiev2 changes
*/
public void achieveSocialButterfly(User user) {
if (user.getFriends().size() >= 3) {
userService.setAchievement(user.getName(), "Social butterfly", true);
userRepository.save(user);
}
}
/**
* This method changes achiev3 when this is the case.
* @param user user for whom achiev3 changes
*/
public void achieveGreenSaver(User user) {
if (43-user.getFootPrint() > 38) {
userService.setAchievement(user.getName(), "Green saver", true);
userRepository.save(user);
}
}
/**
* This method changes achiev4 when this is the case.
* @param user user for whom achiev4 changes
*/
public void achieveAnimalFriend(User user) {
if (user.getExtraInputs().get("Vegetarian meal")) {
userService.setAchievement(user.getName(), "Animal friend", true);
userRepository.save(user);
}
}
/**
* This method changes achiev5 when this is the case.
* @param user user for whom achiev5 changes
*/
public void achieveTomDumoulin(User user) {
if (user.getExtraInputs().get("Bike used")) {
userService.setAchievement(user.getName(), "Tom Dumoulin", true);
userRepository.save(user);
}
}
/**
* This method changes achiev6 when this is the case.
* @param user user for whom achiev6 changes
*/
public void achieveBelowAverage(User user) {
if (Integer.parseInt(user.getFootPrintInputs().get("input_footprint_shopping_food_meatfisheggs_default")) < Integer.parseInt("2.4")) {
userService.setAchievement(user.getName(), "Below average", true);
userRepository.save(user);
}
}
}