diff --git a/src/main/java/com/ceos/bankids/config/security/WebSecurityConfig.java b/src/main/java/com/ceos/bankids/config/security/WebSecurityConfig.java index e1d4672f..95635f9e 100644 --- a/src/main/java/com/ceos/bankids/config/security/WebSecurityConfig.java +++ b/src/main/java/com/ceos/bankids/config/security/WebSecurityConfig.java @@ -70,8 +70,8 @@ protected CorsConfigurationSource corsConfigurationSource() { private CorsConfiguration getDefaultCorsConfiguration() { CorsConfiguration configuration = new CorsConfiguration(); configuration.setAllowedOrigins( - Arrays.asList("http://localhost:3000", "https://bankids.click", "https://bankidz.com", - "https://api.bankidz.com", "https://appleid.apple.com")); + Arrays.asList("http://localhost:3000", "https://bankidz.com", + "https://appleid.apple.com")); configuration.setAllowedHeaders(Arrays.asList("*")); configuration.setAllowedMethods(Arrays.asList("*")); configuration.setAllowCredentials(true); diff --git a/src/main/java/com/ceos/bankids/dto/ChallengeDTO.java b/src/main/java/com/ceos/bankids/dto/ChallengeDTO.java index b673ef1b..dfb7fb70 100644 --- a/src/main/java/com/ceos/bankids/dto/ChallengeDTO.java +++ b/src/main/java/com/ceos/bankids/dto/ChallengeDTO.java @@ -39,6 +39,9 @@ public class ChallengeDTO { @ApiModelProperty(example = "30") private Long interestRate; + @ApiModelProperty(example = "3000") + private Long interestPrice; + @ApiModelProperty(example = "150000") private Long totalPrice; @@ -71,6 +74,7 @@ public ChallengeDTO(Challenge challenge, List progressDTOList, Comm this.itemName = challenge.getTargetItem().getName(); this.challengeCategory = challenge.getChallengeCategory().getCategory(); this.interestRate = challenge.getInterestRate(); + this.interestPrice = challenge.getInterestPrice(); this.totalPrice = challenge.getTotalPrice(); this.weekPrice = challenge.getWeekPrice(); this.successWeeks = challenge.getSuccessWeeks(); diff --git a/src/main/java/com/ceos/bankids/service/ChallengeServiceImpl.java b/src/main/java/com/ceos/bankids/service/ChallengeServiceImpl.java index 8938955e..6f5a5510 100644 --- a/src/main/java/com/ceos/bankids/service/ChallengeServiceImpl.java +++ b/src/main/java/com/ceos/bankids/service/ChallengeServiceImpl.java @@ -519,6 +519,19 @@ public KidAchievedChallengeListDTO readKidAchievedChallenge(User user, Long kidI AchievedChallengeListDTO achievedChallengeListDTO = readAchievedChallenge(kidUser, interestPayment); + List challengeDTOList = achievedChallengeListDTO.getChallengeDTOList(); + List contractUserChallengeDTOList = challengeDTOList.stream().filter( + achievedChallengeDTO -> achievedChallengeDTO.getChallenge().getIsMom() + == user.getIsFemale()).collect( + Collectors.toList()); + achievedChallengeListDTO.setChallengeDTOList(contractUserChallengeDTOList); + Long[] totalInterestPrice = {0L}; + contractUserChallengeDTOList.forEach(challenge -> { + totalInterestPrice[0] += + (challenge.getChallenge().getInterestPrice() / challenge.getChallenge().getWeeks()) + * challenge.getChallenge().getSuccessWeeks(); + }); + achievedChallengeListDTO.setTotalInterestPrice(totalInterestPrice[0]); return new KidAchievedChallengeListDTO(kidId, achievedChallengeListDTO); } diff --git a/src/main/java/com/ceos/bankids/service/JwtTokenServiceImpl.java b/src/main/java/com/ceos/bankids/service/JwtTokenServiceImpl.java index b4c4a017..237109e9 100644 --- a/src/main/java/com/ceos/bankids/service/JwtTokenServiceImpl.java +++ b/src/main/java/com/ceos/bankids/service/JwtTokenServiceImpl.java @@ -35,8 +35,7 @@ public String encodeJwtToken(TokenDTO tokenDTO) { .setIssuer("bankids") .setIssuedAt(now) .setSubject(tokenDTO.getId().toString()) -// .setExpiration(new Date(now.getTime() + Duration.ofMinutes(2880).toMillis())) - .setExpiration(new Date(now.getTime() + Duration.ofMinutes(40320).toMillis())) + .setExpiration(new Date(now.getTime() + Duration.ofDays(180).toMillis())) .claim("id", tokenDTO.getId()) .claim("roles", "USER") .signWith(SignatureAlgorithm.HS256, diff --git a/src/main/java/com/ceos/bankids/service/UserServiceImpl.java b/src/main/java/com/ceos/bankids/service/UserServiceImpl.java index 9d8e23dd..6e41e5fb 100644 --- a/src/main/java/com/ceos/bankids/service/UserServiceImpl.java +++ b/src/main/java/com/ceos/bankids/service/UserServiceImpl.java @@ -19,6 +19,8 @@ import com.ceos.bankids.repository.KidRepository; import com.ceos.bankids.repository.ParentRepository; import com.ceos.bankids.repository.UserRepository; +import java.text.ParseException; +import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Optional; import javax.servlet.http.Cookie; @@ -99,9 +101,16 @@ public UserDTO updateUserType(User user, UserTypeRequest userTypeRequest) { Calendar cal = Calendar.getInstance(); Integer currYear = cal.get(Calendar.YEAR); Integer birthYear = Integer.parseInt(userTypeRequest.getBirthday()) / 10000; + SimpleDateFormat dateFormat = new SimpleDateFormat("yyyyMMdd"); + dateFormat.setLenient(false); + try { + dateFormat.parse(userTypeRequest.getBirthday()); + } catch (ParseException e) { + throw new BadRequestException(ErrorCode.INVALID_BIRTHDAY.getErrorCode()); + } if (user.getIsFemale() != null) { throw new BadRequestException(ErrorCode.USER_ALREADY_HAS_TYPE.getErrorCode()); - } else if (birthYear > currYear || birthYear <= currYear - 100) { + } else if (birthYear >= currYear || birthYear <= currYear - 100) { throw new BadRequestException(ErrorCode.INVALID_BIRTHDAY.getErrorCode()); } else { user.setBirthday(userTypeRequest.getBirthday());