Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
12 changes: 7 additions & 5 deletions src/main/java/com/example/whiplash/auth/service/AuthService.java
Original file line number Diff line number Diff line change
Expand Up @@ -79,17 +79,19 @@ public TokenResponseDTO authenticateByKakao(String code) {

userRepository.save(kakaoUser);

return loginByKakao(kakaoUser);

// 회원가입의 경우 임시토큰 생성
String tempToken = jwtTokenProvider.generateTempSocialToken(kakaoUser);
return AuthConverter.toTokenResponseDTO(tempToken, null, UserStatus.PENDING, LoginStatus.NEW_USER, kakaoUser.getName());
// String tempToken = jwtTokenProvider.generateTempSocialToken(kakaoUser);
// return AuthConverter.toTokenResponseDTO(tempToken, null, UserStatus.PENDING, LoginStatus.NEW_USER, kakaoUser.getName());
}

@Transactional
public TokenResponseDTO loginByKakao(User user) {

if (user.getUserStatus() == UserStatus.PENDING || user.getUserStatus() == UserStatus.INACTIVE) {
throw new WhiplashException(ErrorStatus.USER_NOT_ACTIVATED);
}
// if (user.getUserStatus() == UserStatus.PENDING || user.getUserStatus() == UserStatus.INACTIVE) {
// throw new WhiplashException(ErrorStatus.USER_NOT_ACTIVATED);
// }

// 모든 사용자 타입에 대해 user.getId()를 사용
String userId = String.valueOf(user.getId());
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.time.LocalDateTime;
import java.util.List;
Expand All @@ -25,6 +26,7 @@ public class MixedQuizResDto {
*/
@Data
@AllArgsConstructor
@NoArgsConstructor
public static class QuizWithTerm {
private String question;
private List<String> options;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -54,6 +54,8 @@ public WeeklyChallengeResDto getWeeklyChallenge(Long userId) {
Optional<ChallengeAttempt> attemptOpt = challengeAttemptRepository
.findByUserIdAndChallengeId(userId, challenge.getId());

log.info("weekly challenge : {}", challenge.getQuizzesJson());

// 4. 퀴즈 데이터 (이미 도전했으면 null)
List<MixedQuizResDto.QuizWithTerm> quizzes = attemptOpt.isPresent()
? null
Expand Down Expand Up @@ -266,23 +268,31 @@ private Double calculateAverageScore(Long challengeId) {
*/
private String convertToJson(Object obj) {
try {
return objectMapper.writeValueAsString(obj);
String json = objectMapper.writeValueAsString(obj);
log.debug("JSON 변환 성공: type={}, length={}", obj.getClass().getSimpleName(), json.length());
return json;
} catch (JsonProcessingException e) {
throw new RuntimeException("JSON 변환 실패", e);
log.error("JSON 변환 실패: obj={}", obj, e);
throw new RuntimeException("JSON 변환 실패: " + e.getMessage(), e);
}
}

private List<MixedQuizResDto.QuizWithTerm> parseQuizzesFromJson(String json) {
try {
return objectMapper.readValue(
log.debug("JSON 파싱 시도: json={}", json);
List<MixedQuizResDto.QuizWithTerm> result = objectMapper.readValue(
json,
objectMapper.getTypeFactory().constructCollectionType(
List.class,
MixedQuizResDto.QuizWithTerm.class
)
);
log.debug("JSON 파싱 성공: size={}", result.size());
return result;
} catch (JsonProcessingException e) {
throw new RuntimeException("JSON 파싱 실패", e);
log.error("JSON 파싱 실패 - json 내용: {}", json, e);
log.error("에러 상세: {}", e.getMessage());
throw new RuntimeException("JSON 파싱 실패: " + e.getMessage(), e);
}
}

Expand Down