Skip to content

Commit 12decff

Browse files
committed
fix :: 오류 수정
1 parent c5b5b51 commit 12decff

File tree

10 files changed

+167
-39
lines changed

10 files changed

+167
-39
lines changed
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
package JavaProject.Dayoung.domain.area.domain;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
11+
12+
/**
13+
* QArea is a Querydsl query type for Area
14+
*/
15+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
16+
public class QArea extends EntityPathBase<Area> {
17+
18+
private static final long serialVersionUID = -1092765994L;
19+
20+
public static final QArea area = new QArea("area");
21+
22+
public final StringPath areaName = createString("areaName");
23+
24+
public final NumberPath<Long> id = createNumber("id", Long.class);
25+
26+
public QArea(String variable) {
27+
super(Area.class, forVariable(variable));
28+
}
29+
30+
public QArea(Path<? extends Area> path) {
31+
super(path.getType(), path.getMetadata());
32+
}
33+
34+
public QArea(PathMetadata metadata) {
35+
super(Area.class, metadata);
36+
}
37+
38+
}
39+
Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
package JavaProject.Dayoung.domain.quiz.domain;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
import com.querydsl.core.types.dsl.PathInits;
11+
12+
13+
/**
14+
* QSolvedQuiz is a Querydsl query type for SolvedQuiz
15+
*/
16+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
17+
public class QSolvedQuiz extends EntityPathBase<SolvedQuiz> {
18+
19+
private static final long serialVersionUID = -563271861L;
20+
21+
private static final PathInits INITS = PathInits.DIRECT2;
22+
23+
public static final QSolvedQuiz solvedQuiz = new QSolvedQuiz("solvedQuiz");
24+
25+
public final NumberPath<Long> id = createNumber("id", Long.class);
26+
27+
public final QQuiz quiz;
28+
29+
public final NumberPath<Long> receivedScore = createNumber("receivedScore", Long.class);
30+
31+
public final NumberPath<Long> solvedCount = createNumber("solvedCount", Long.class);
32+
33+
public final JavaProject.Dayoung.domain.user.domain.QUser user;
34+
35+
public QSolvedQuiz(String variable) {
36+
this(SolvedQuiz.class, forVariable(variable), INITS);
37+
}
38+
39+
public QSolvedQuiz(Path<? extends SolvedQuiz> path) {
40+
this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS));
41+
}
42+
43+
public QSolvedQuiz(PathMetadata metadata) {
44+
this(metadata, PathInits.getFor(metadata, INITS));
45+
}
46+
47+
public QSolvedQuiz(PathMetadata metadata, PathInits inits) {
48+
this(SolvedQuiz.class, metadata, inits);
49+
}
50+
51+
public QSolvedQuiz(Class<? extends SolvedQuiz> type, PathMetadata metadata, PathInits inits) {
52+
super(type, metadata, inits);
53+
this.quiz = inits.isInitialized("quiz") ? new QQuiz(forProperty("quiz")) : null;
54+
this.user = inits.isInitialized("user") ? new JavaProject.Dayoung.domain.user.domain.QUser(forProperty("user")) : null;
55+
}
56+
57+
}
58+
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
package JavaProject.Dayoung.domain.quiz.domain;
2+
3+
import static com.querydsl.core.types.PathMetadataFactory.*;
4+
5+
import com.querydsl.core.types.dsl.*;
6+
7+
import com.querydsl.core.types.PathMetadata;
8+
import javax.annotation.processing.Generated;
9+
import com.querydsl.core.types.Path;
10+
import com.querydsl.core.types.dsl.PathInits;
11+
12+
13+
/**
14+
* QUserAreaSolved is a Querydsl query type for UserAreaSolved
15+
*/
16+
@Generated("com.querydsl.codegen.DefaultEntitySerializer")
17+
public class QUserAreaSolved extends EntityPathBase<UserAreaSolved> {
18+
19+
private static final long serialVersionUID = -1794232338L;
20+
21+
private static final PathInits INITS = PathInits.DIRECT2;
22+
23+
public static final QUserAreaSolved userAreaSolved = new QUserAreaSolved("userAreaSolved");
24+
25+
public final JavaProject.Dayoung.domain.area.domain.QArea area;
26+
27+
public final NumberPath<Long> id = createNumber("id", Long.class);
28+
29+
public final NumberPath<Long> solvedCount = createNumber("solvedCount", Long.class);
30+
31+
public final JavaProject.Dayoung.domain.user.domain.QUser user;
32+
33+
public QUserAreaSolved(String variable) {
34+
this(UserAreaSolved.class, forVariable(variable), INITS);
35+
}
36+
37+
public QUserAreaSolved(Path<? extends UserAreaSolved> path) {
38+
this(path.getType(), path.getMetadata(), PathInits.getFor(path.getMetadata(), INITS));
39+
}
40+
41+
public QUserAreaSolved(PathMetadata metadata) {
42+
this(metadata, PathInits.getFor(metadata, INITS));
43+
}
44+
45+
public QUserAreaSolved(PathMetadata metadata, PathInits inits) {
46+
this(UserAreaSolved.class, metadata, inits);
47+
}
48+
49+
public QUserAreaSolved(Class<? extends UserAreaSolved> type, PathMetadata metadata, PathInits inits) {
50+
super(type, metadata, inits);
51+
this.area = inits.isInitialized("area") ? new JavaProject.Dayoung.domain.area.domain.QArea(forProperty("area")) : null;
52+
this.user = inits.isInitialized("user") ? new JavaProject.Dayoung.domain.user.domain.QUser(forProperty("user")) : null;
53+
}
54+
55+
}
56+

src/main/generated/JavaProject/Dayoung/domain/user/domain/QUser.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,6 @@ public class QUser extends EntityPathBase<User> {
2424

2525
public final ListPath<Long, NumberPath<Long>> areaIds = this.<Long, NumberPath<Long>>createList("areaIds", Long.class, NumberPath.class, PathInits.DIRECT2);
2626

27-
public final StringPath email = createString("email");
28-
2927
public final NumberPath<Long> id = createNumber("id", Long.class);
3028

3129
public final StringPath introduction = createString("introduction");

src/main/java/JavaProject/Dayoung/domain/quiz/domain/SolvedQuiz.java

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22

33
import JavaProject.Dayoung.domain.user.domain.User;
44
import lombok.*;
5+
import org.hibernate.annotations.ColumnDefault;
56

67
import javax.persistence.*;
78

@@ -25,4 +26,10 @@ public class SolvedQuiz {
2526
private Quiz quiz;
2627

2728
private Long receivedScore;
29+
30+
private Long solvedCount;
31+
32+
public void incrementSolvedCount() {
33+
this.solvedCount++;
34+
}
2835
}

src/main/java/JavaProject/Dayoung/domain/quiz/domain/UserAreaSolved.java

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,4 @@ public class UserAreaSolved {
3333
@Column(nullable = false)
3434
private Long solvedCount;
3535

36-
// 카운트를 증가시키는 메서드
37-
public void incrementSolvedCount() {
38-
this.solvedCount++;
39-
}
4036
}

src/main/java/JavaProject/Dayoung/domain/quiz/presentation/dto/response/UserAreaSolvedResponse.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,15 @@
77

88
import javax.validation.constraints.NotNull;
99
import javax.validation.constraints.PositiveOrZero;
10+
import java.util.List;
1011

1112
@Getter
1213
@Builder
1314
@AllArgsConstructor
1415
public class UserAreaSolvedResponse {
1516

1617
@NotNull(message = "영역은 null일 수 없습니다")
17-
private Area area;
18+
private List<Long> areaIds;
1819

1920
@NotNull(message = "해결한 문제 수는 null일 수 없습니다")
2021
@PositiveOrZero(message = "해결한 문제 수는 0 이상이어야 합니다")

src/main/java/JavaProject/Dayoung/domain/quiz/service/SolveQuizService.java

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -43,8 +43,7 @@ public Map<String, String> execute(Long quizId, SolveQuizRequest request) {
4343
.receivedScore(Long.valueOf(correctRate))
4444
.build());
4545

46-
// 분야별 통계 업데이트
47-
userAreaSolvedService.updateUserAreaSolved(solvedQuiz);
46+
solvedQuiz.incrementSolvedCount();
4847

4948
Map<String, String> result = new HashMap<>();
5049
result.put("정답률", correctRate);

src/main/java/JavaProject/Dayoung/domain/quiz/service/UserAreaSolvedService.java

Lines changed: 4 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,7 @@
11
package JavaProject.Dayoung.domain.quiz.service;
22

3-
import JavaProject.Dayoung.domain.area.domain.Area;
4-
import JavaProject.Dayoung.domain.quiz.domain.SolvedQuiz;
5-
import JavaProject.Dayoung.domain.quiz.domain.UserAreaSolved;
63
import JavaProject.Dayoung.domain.quiz.presentation.dto.response.UserAreaSolvedResponse;
7-
import JavaProject.Dayoung.domain.quiz.repository.UserAreaSolvedRepository;
8-
import JavaProject.Dayoung.domain.user.domain.User;
4+
import JavaProject.Dayoung.domain.quiz.repository.SolvedQuizRepository;
95
import lombok.RequiredArgsConstructor;
106
import org.springframework.stereotype.Service;
117
import org.springframework.transaction.annotation.Transactional;
@@ -18,32 +14,12 @@
1814
@RequiredArgsConstructor
1915
public class UserAreaSolvedService {
2016

21-
private final UserAreaSolvedRepository userAreaSolvedRepository;
17+
private final SolvedQuizRepository solvedQuizRepository;
2218

23-
public void updateUserAreaSolved(SolvedQuiz solvedQuiz) {
24-
User user = solvedQuiz.getUser();
25-
List<Area> areas = solvedQuiz.getQuiz().getArea();
26-
if (areas.isEmpty()) {
27-
throw new IllegalStateException("퀴즈에 지정된 분야가 없습니다.");
28-
}
29-
Area area = areas.get(0);
30-
31-
UserAreaSolved userAreaSolved = userAreaSolvedRepository.findByUserAndArea(user, area)
32-
.orElse(UserAreaSolved.builder()
33-
.user(user)
34-
.area(area)
35-
.solvedCount(0L)
36-
.build());
37-
38-
userAreaSolved.incrementSolvedCount();
39-
userAreaSolvedRepository.save(userAreaSolved);
40-
}
41-
42-
@Transactional(readOnly = true)
4319
public List<UserAreaSolvedResponse> getUserAreaSolvedStats(Long userId) {
44-
return userAreaSolvedRepository.findAllByUserId(userId).stream()
20+
return solvedQuizRepository.findAllByUserId(userId).stream()
4521
.map(userAreaSolved -> UserAreaSolvedResponse.builder()
46-
.area(userAreaSolved.getArea())
22+
.areaIds(userAreaSolved.getQuiz().getAreaIds())
4723
.solvedCount(userAreaSolved.getSolvedCount())
4824
.build())
4925
.collect(Collectors.toList());

src/main/java/JavaProject/Dayoung/domain/user/service/SignupService.java

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -38,7 +38,6 @@ public void signUp(SignupRequest signupRequest) {
3838
userRepository.save(
3939
User.builder()
4040
.accountId(signupRequest.getAccountId())
41-
.email(signupRequest.getEmail())
4241
.password(password)
4342
.name(signupRequest.getName())
4443
.introduction(signupRequest.getIntroduction())
@@ -51,7 +50,6 @@ public void signUp(SignupRequest signupRequest) {
5150
userRepository.save(
5251
User.builder()
5352
.accountId(signupRequest.getAccountId())
54-
.email(signupRequest.getEmail())
5553
.password(password)
5654
.name(signupRequest.getName())
5755
.introduction(signupRequest.getIntroduction())

0 commit comments

Comments
 (0)