Skip to content

Commit 06285c8

Browse files
authored
[Fix] 그룹 모집글 작성 로직 변경 (#54)
2 parents 316c70a + c89634b commit 06285c8

11 files changed

Lines changed: 164 additions & 53 deletions

File tree

MathCaptain/weakness/src/main/java/MathCaptain/weakness/TestInit.java

Lines changed: 28 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -67,17 +67,17 @@ public void init() {
6767

6868
SaveUserRequest saveUserRequest1 = SaveUserRequest.of(
6969
email1, passwordEncoder.encode("password1"),
70-
"tester01", "tester01", "01012345678"
70+
"테스트 유저 1", "테스트 유저 1", "01012345678"
7171
);
7272

7373
SaveUserRequest saveUserRequest2 = SaveUserRequest.of(
7474
email2, passwordEncoder.encode("password2"),
75-
"tester02", "tester02", "01056781234"
75+
"테스트 유저 2", "테스트 유저 2", "01056781234"
7676
);
7777

7878
SaveUserRequest saveUserRequest3 = SaveUserRequest.of(
7979
email3, passwordEncoder.encode("test"),
80-
"tester", "tester", "01011112111"
80+
"테스트", "테스터", "01011112111"
8181
);
8282

8383
/// 테스트 유저 생성
@@ -107,22 +107,39 @@ public void init() {
107107
.orElseThrow(() -> new IllegalArgumentException("해당 유저가 없습니다."));
108108

109109
/// 테스트 그룹 생성
110-
GroupCreateRequest groupCreateRequest1 = GroupCreateRequest.of(users1.getUserId(), "testGroup1",
110+
GroupCreateRequest groupCreateRequest1 = GroupCreateRequest.of(users1.getUserId(), "테스트그룹1",
111111
CategoryStatus.STUDY, 2, 3, 0L, null, "test1", 3, 4);
112112

113-
GroupCreateRequest groupCreateRequest2 = GroupCreateRequest.of(users1.getUserId(), "testGroup2",
113+
GroupCreateRequest groupCreateRequest2 = GroupCreateRequest.of(users1.getUserId(), "테스트그룹2",
114114
CategoryStatus.FITNESS, 2, 3, 0L, null, "test2", 3, 4);
115115

116-
GroupCreateRequest groupCreateRequest3 = GroupCreateRequest.of(users1.getUserId(), "testGroup3",
116+
GroupCreateRequest groupCreateRequest3 = GroupCreateRequest.of(users1.getUserId(), "테스트그룹3",
117+
CategoryStatus.RUNNING, 2, 3, 0L, null, "test3", 3, 4);
118+
119+
GroupCreateRequest groupCreateRequest4 = GroupCreateRequest.of(users1.getUserId(), "테스트그룹4",
120+
CategoryStatus.RUNNING, 2, 3, 0L, null, "test4", 3, 4);
121+
122+
GroupCreateRequest groupCreateRequest5 = GroupCreateRequest.of(users1.getUserId(), "테스트그룹5",
117123
CategoryStatus.RUNNING, 2, 3, 0L, null, "test3", 3, 4);
118124

119125
Group group1 = Group.of(groupCreateRequest1);
120126
Group group2 = Group.of(groupCreateRequest2);
121127
Group group3 = Group.of(groupCreateRequest3);
128+
Group group4 = Group.of(groupCreateRequest4);
129+
Group group5 = Group.of(groupCreateRequest5);
130+
131+
group1.addPoint(300L);
132+
group2.addPoint(200L);
133+
group3.addPoint(100L);
134+
group4.addPoint(50L);
135+
group5.addPoint(10L);
122136

123137
groupRepository.save(group1);
124138
groupRepository.save(group2);
125139
groupRepository.save(group3);
140+
groupRepository.save(group4);
141+
groupRepository.save(group5);
142+
126143

127144
group3.updateWeeklyGoalAchieveMap(DayOfWeek.MONDAY, 2);
128145
group3.updateWeeklyGoalAchieveMap(DayOfWeek.TUESDAY, 4);
@@ -139,9 +156,11 @@ public void init() {
139156
RelationBetweenUserAndGroup join2 = RelationBetweenUserAndGroup.of(users2, group2, groupCreateRequest2);
140157
RelationBetweenUserAndGroup join3 = RelationBetweenUserAndGroup.of(users3, group3, groupCreateRequest3);
141158

159+
RelationBetweenUserAndGroup join4 = RelationBetweenUserAndGroup.of(users3, group1, 3, 4);
142160
relationRepository.save(join1);
143161
relationRepository.save(join2);
144162
relationRepository.save(join3);
163+
relationRepository.save(join4);
145164

146165
for (int i = 4; i <= 12; i++) {
147166
Users member = userRepository.findByUserId((long) i)
@@ -152,14 +171,14 @@ public void init() {
152171

153172
log.info("======== 👥 테스트 관계 데이터 생성 완료 =========");
154173

155-
CreateRecruitmentRequest createRecruitmentRequest = CreateRecruitmentRequest.of(group1.getId(), "testRecruitment", "testContent");
174+
CreateRecruitmentRequest createRecruitmentRequest = CreateRecruitmentRequest.of("그룹 1 모집글", "테스트");
156175
Recruitment recruitment = Recruitment.of(users1, group1, createRecruitmentRequest);
157176
recruitmentRepository.save(recruitment);
158177

159178
log.info("======== 🔖테스트 모집글 생성 완료 =========");
160179

161180
/// 테스트 댓글 생성
162-
Comment comment = Comment.of(recruitment, users1, "testComment");
181+
Comment comment = Comment.of(recruitment, users1, "테스트 댓글");
163182
commentRepository.save(comment);
164183

165184
log.info("======== 💬테스트 댓글 생성 완료 =========");
@@ -170,7 +189,7 @@ public void init() {
170189
LocalDateTime startOfWeek = LocalDateTime.now().with(java.time.temporal.TemporalAdjusters.previousOrSame(DayOfWeek.MONDAY));
171190

172191
// User ID: 4 -> currentProgress: 5
173-
createActivityRecords(userRepository.findByUserId(4L)
192+
createActivityRecords(userRepository.findByUserId(3L)
174193
.orElseThrow(() -> new IllegalArgumentException("해당 유저가 없습니다.")),
175194
group3, startOfWeek, 5, CategoryStatus.RUNNING, chestList);
176195

Lines changed: 27 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,31 @@
11
package MathCaptain.weakness.domain.Group.enums;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonValue;
5+
36
public enum CategoryStatus {
4-
FITNESS,
5-
STUDY,
6-
RUNNING
7+
FITNESS("헬스"),
8+
STUDY("공부"),
9+
RUNNING("러닝");
10+
11+
private final String value;
12+
13+
CategoryStatus(String value) {
14+
this.value = value;
15+
}
16+
17+
@JsonValue
18+
public String getValue() {
19+
return value;
20+
}
21+
22+
@JsonCreator
23+
public static CategoryStatus fromValue(String value) {
24+
for (CategoryStatus status : CategoryStatus.values()) {
25+
if (status.value.equals(value) || status.name().equals(value)) {
26+
return status;
27+
}
28+
}
29+
throw new IllegalArgumentException("정의되지 않은 값 입니다 : " + value);
30+
}
731
}
Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,30 @@
11
package MathCaptain.weakness.domain.Group.enums;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonValue;
5+
36
public enum GroupRole {
4-
LEADER,
5-
MEMBER
7+
LEADER("그룹장"),
8+
MEMBER("멤버");
9+
10+
private final String value;
11+
12+
GroupRole(String value) {
13+
this.value = value;
14+
}
15+
16+
@JsonValue
17+
public String getValue() {
18+
return value;
19+
}
20+
21+
@JsonCreator
22+
public static GroupRole fromValue(String value) {
23+
for (GroupRole role : GroupRole.values()) {
24+
if (role.value.equals(value) || role.name().equals(value)) {
25+
return role;
26+
}
27+
}
28+
throw new IllegalArgumentException("정의되지 않은 값 입니다 : " + value);
29+
}
630
}
Lines changed: 28 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,32 @@
11
package MathCaptain.weakness.domain.Group.enums;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonValue;
5+
36
public enum RequestStatus {
4-
WAITING,
5-
ACCEPTED,
6-
REJECTED,
7-
CANCELED
7+
WAITING("가입요청 중"),
8+
ACCEPTED("가입요청 수락"),
9+
REJECTED("가입요청 거절"),
10+
CANCELED("가입요청 취소");
11+
12+
private final String value;
13+
14+
RequestStatus(String value) {
15+
this.value = value;
16+
}
17+
18+
@JsonValue
19+
public String getValue() {
20+
return value;
21+
}
22+
23+
@JsonCreator
24+
public static RequestStatus fromValue(String value) {
25+
for (RequestStatus status : RequestStatus.values()) {
26+
if (status.value.equals(value) || status.name().equals(value)) {
27+
return status;
28+
}
29+
}
30+
throw new IllegalArgumentException("정의되지 않은 값 입니다 : " + value);
31+
}
832
}

MathCaptain/weakness/src/main/java/MathCaptain/weakness/domain/Record/entity/UserLog/FitnessDetail.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public class FitnessDetail {
3232
@ElementCollection
3333
@CollectionTable(
3434
name = "fitnessdetail_exerciseinfolist",
35-
joinColumns = @JoinColumn(name = "fitness detail_id")
35+
joinColumns = @JoinColumn(name = "fitness_detail_id")
3636
)
3737
private List<ExerciseInfo> exerciseInfoList;
3838

MathCaptain/weakness/src/main/java/MathCaptain/weakness/domain/Record/service/RecordService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ public RecordSummaryResponse endActivity(Users user, Long groupId, ActivityLogEn
5353

5454
ActivityRecord record = ActivityRecord.of(relation, logRequest);
5555
updateGoalAchieve(relation, record);
56-
recordRepository.save(record);
56+
recordRepository.save(record);
5757

5858
// 활동 로그 저장 및 응답 생성
5959
return createRecordSummaryResponse(activityType, logRequest, record, relation);

MathCaptain/weakness/src/main/java/MathCaptain/weakness/domain/Recruitment/controller/RecruitmentController.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,11 @@ public ApiResponse<List<RecruitmentResponse>> recruitmentList() {
3636
return recruitmentService.getAllRecruitments();
3737
}
3838

39-
// 모집글 작성 요청
40-
@GetMapping("/create")
41-
public ApiResponse<RecruitmentCreateResponse> createRecruitmentPage(@LoginUser Users loginUser) {
42-
return recruitmentService.createRequest(loginUser);
43-
}
44-
4539
// 모집글 생성
4640
@PostMapping("/create")
47-
public ApiResponse<Long> createRecruitment(@Valid @LoginUser Users loginUser,
48-
@RequestBody CreateRecruitmentRequest createRecruitmentRequest) {
41+
public ApiResponse<RecruitmentDetailResponse> createRecruitment(
42+
@Valid @LoginUser Users loginUser,
43+
@RequestBody CreateRecruitmentRequest createRecruitmentRequest) {
4944
return recruitmentService.createRecruitment(loginUser, createRecruitmentRequest);
5045
}
5146

MathCaptain/weakness/src/main/java/MathCaptain/weakness/domain/Recruitment/dto/request/CreateRecruitmentRequest.java

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -9,10 +9,6 @@
99
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1010
public class CreateRecruitmentRequest {
1111

12-
@NotNull(message = "그룹을 입력해주세요!")
13-
@NotEmpty(message = "그룹을 입력해주세요!")
14-
private Long recruitGroupId;
15-
1612
@NotNull(message = "제목을 입력해주세요!")
1713
@NotEmpty(message = "제목을 입력해주세요!")
1814
@Size(max = 30, message = "제목은 30자 이내로 작성해주세요!")
@@ -22,13 +18,12 @@ public class CreateRecruitmentRequest {
2218
@NotEmpty(message = "내용을 입력해주세요!")
2319
private String content;
2420

25-
private CreateRecruitmentRequest(Long recruitGroupId, String title, String content) {
26-
this.recruitGroupId = recruitGroupId;
21+
private CreateRecruitmentRequest(String title, String content) {
2722
this.title = title;
2823
this.content = content;
2924
}
3025

31-
public static CreateRecruitmentRequest of(Long recruitGroupId, String title, String content) {
32-
return new CreateRecruitmentRequest(recruitGroupId, title, content);
26+
public static CreateRecruitmentRequest of(String title, String content) {
27+
return new CreateRecruitmentRequest(title, content);
3328
}
3429
}

MathCaptain/weakness/src/main/java/MathCaptain/weakness/domain/Recruitment/dto/response/RecruitmentDetailResponse.java

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,10 @@
1212
@NoArgsConstructor(access = AccessLevel.PROTECTED)
1313
public class RecruitmentDetailResponse {
1414

15+
private Long authorId;
16+
17+
private Long recruitGroupId;
18+
1519
private String authorName;
1620

1721
private String recruitGroupName;
@@ -31,9 +35,11 @@ public class RecruitmentDetailResponse {
3135
private List<CommentResponse> comments;
3236

3337
@Builder
34-
private RecruitmentDetailResponse(String authorName, String recruitGroupName, String title,
38+
private RecruitmentDetailResponse(Long authorId, Long recruitGroupId, String authorName, String recruitGroupName, String title,
3539
CategoryStatus category, String content, RecruitmentStatus recruitmentStatus,
3640
LocalDateTime createdAt, LocalDateTime updatedAt, List<CommentResponse> comments) {
41+
this.authorId = authorId;
42+
this.recruitGroupId = recruitGroupId;
3743
this.authorName = authorName;
3844
this.recruitGroupName = recruitGroupName;
3945
this.title = title;
@@ -47,6 +53,8 @@ private RecruitmentDetailResponse(String authorName, String recruitGroupName, St
4753

4854
public static RecruitmentDetailResponse of(Recruitment recruitment, List<CommentResponse> comments) {
4955
return RecruitmentDetailResponse.builder()
56+
.authorId(recruitment.getAuthor().getUserId())
57+
.recruitGroupId(recruitment.getRecruitGroup().getId())
5058
.authorName(recruitment.getAuthor().getName())
5159
.recruitGroupName(recruitment.getRecruitGroup().getName())
5260
.title(recruitment.getTitle())
Lines changed: 26 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,31 @@
11
package MathCaptain.weakness.domain.Recruitment.enums;
22

3+
import com.fasterxml.jackson.annotation.JsonCreator;
4+
import com.fasterxml.jackson.annotation.JsonValue;
5+
36
public enum RecruitmentStatus {
47
// 모집중, 모집종료
5-
RECRUITING,
6-
END
8+
RECRUITING("모집중"),
9+
END("모집종료");
10+
11+
private final String value;
12+
13+
RecruitmentStatus(String value) {
14+
this.value = value;
15+
}
16+
17+
@JsonValue
18+
public String getValue() {
19+
return value;
20+
}
21+
22+
@JsonCreator
23+
public static RecruitmentStatus fromValue(String value) {
24+
for (RecruitmentStatus status : RecruitmentStatus.values()) {
25+
if (status.value.equals(value) || status.name().equals(value)) {
26+
return status;
27+
}
28+
}
29+
throw new IllegalArgumentException("정의되지 않은 값 입니다 : " + value);
30+
}
731
}

0 commit comments

Comments
 (0)