Skip to content

Commit 2e98782

Browse files
authored
refactor:레슨강사용페이지구조변경 (#93)
1 parent 4ffa593 commit 2e98782

10 files changed

+71
-12
lines changed

src/main/java/com/threestar/trainus/domain/lesson/admin/controller/AdminLessonController.java

Lines changed: 22 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,23 @@
1414
import com.threestar.trainus.domain.lesson.admin.dto.ApplicationActionRequestDto;
1515
import com.threestar.trainus.domain.lesson.admin.dto.ApplicationProcessResponseDto;
1616
import com.threestar.trainus.domain.lesson.admin.dto.CreatedLessonListResponseDto;
17+
import com.threestar.trainus.domain.lesson.admin.dto.CreatedLessonListWrapperDto;
1718
import com.threestar.trainus.domain.lesson.admin.dto.LessonApplicationListResponseDto;
19+
import com.threestar.trainus.domain.lesson.admin.dto.LessonApplicationListWrapperDto;
1820
import com.threestar.trainus.domain.lesson.admin.dto.LessonCreateRequestDto;
1921
import com.threestar.trainus.domain.lesson.admin.dto.LessonResponseDto;
2022
import com.threestar.trainus.domain.lesson.admin.dto.ParticipantListResponseDto;
23+
import com.threestar.trainus.domain.lesson.admin.dto.ParticipantListWrapperDto;
2124
import com.threestar.trainus.domain.lesson.admin.entity.ApplicationAction;
25+
import com.threestar.trainus.domain.lesson.admin.mapper.CreatedLessonMapper;
26+
import com.threestar.trainus.domain.lesson.admin.mapper.LessonApplicationMapper;
27+
import com.threestar.trainus.domain.lesson.admin.mapper.LessonParticipantMapper;
2228
import com.threestar.trainus.domain.lesson.admin.service.AdminLessonService;
2329
import com.threestar.trainus.global.annotation.LoginUser;
2430
import com.threestar.trainus.global.exception.domain.ErrorCode;
2531
import com.threestar.trainus.global.exception.handler.BusinessException;
2632
import com.threestar.trainus.global.unit.BaseResponse;
33+
import com.threestar.trainus.global.unit.PagedResponse;
2734

2835
import io.swagger.v3.oas.annotations.Operation;
2936
import io.swagger.v3.oas.annotations.tags.Tag;
@@ -69,7 +76,7 @@ public ResponseEntity<BaseResponse<Void>> deleteLesson(
6976
//레슨 신청자 목록 조회
7077
@GetMapping("/lessons/{lessonId}/applications")
7178
@Operation(summary = "레슨 신청자 목록 조회 api", description = "레슨 신청자의 목록을 조회 가능함.")
72-
public ResponseEntity<BaseResponse<LessonApplicationListResponseDto>> getLessonApplications(
79+
public ResponseEntity<PagedResponse<LessonApplicationListWrapperDto>> getLessonApplications(
7380
@PathVariable Long lessonId,
7481
@RequestParam(defaultValue = "1") @Min(value = 1, message = "페이지는 1 이상이어야 합니다.")
7582
@Max(value = 1000, message = "페이지는 1000 이하여야 합니다.") int page,
@@ -82,7 +89,10 @@ public ResponseEntity<BaseResponse<LessonApplicationListResponseDto>> getLessonA
8289
LessonApplicationListResponseDto responseDto = adminLessonService
8390
.getLessonApplications(lessonId, page, limit, status, loginUserId);
8491

85-
return BaseResponse.ok("레슨 신청자 목록 조회 완료.", responseDto, HttpStatus.OK);
92+
LessonApplicationListWrapperDto wrapperDto = LessonApplicationMapper
93+
.toLessonApplicationListWrapperDto(responseDto);
94+
95+
return PagedResponse.ok("레슨 신청자 목록 조회 완료.", wrapperDto, responseDto.count(), HttpStatus.OK);
8696
}
8797

8898
//레슨 신청 승인/거절
@@ -104,7 +114,7 @@ public ResponseEntity<BaseResponse<ApplicationProcessResponseDto>> processLesson
104114
//레슨 참가자 목록 조회
105115
@GetMapping("/lessons/{lessonId}/participants")
106116
@Operation(summary = "레슨 참가자 목록 조회 api", description = "")
107-
public ResponseEntity<BaseResponse<ParticipantListResponseDto>> getLessonParticipants(
117+
public ResponseEntity<PagedResponse<ParticipantListWrapperDto>> getLessonParticipants(
108118
@PathVariable Long lessonId,
109119
@RequestParam(defaultValue = "1") @Min(value = 1, message = "페이지는 1 이상이어야 합니다.")
110120
@Max(value = 1000, message = "페이지는 1000 이하여야 합니다.") int page,
@@ -116,13 +126,16 @@ public ResponseEntity<BaseResponse<ParticipantListResponseDto>> getLessonPartici
116126
ParticipantListResponseDto responseDto = adminLessonService
117127
.getLessonParticipants(lessonId, page, limit, loginUserId);
118128

119-
return BaseResponse.ok("레슨 참가자 목록 조회 완료.", responseDto, HttpStatus.OK);
129+
ParticipantListWrapperDto wrapperDto = LessonParticipantMapper
130+
.toParticipantListWrapperDto(responseDto);
131+
132+
return PagedResponse.ok("레슨 참가자 목록 조회 완료.", wrapperDto, responseDto.count(), HttpStatus.OK);
120133
}
121134

122135
//강사가 개설한 레슨 목록 조회
123136
@GetMapping("/lessons/{userId}/created-lessons")
124137
@Operation(summary = "강사가 개설한 레슨 목록 조회 api", description = "")
125-
public ResponseEntity<BaseResponse<CreatedLessonListResponseDto>> getCreatedLessons(
138+
public ResponseEntity<PagedResponse<CreatedLessonListWrapperDto>> getCreatedLessons(
126139
@PathVariable Long userId,
127140
@RequestParam(defaultValue = "1") @Min(value = 1, message = "페이지는 1 이상이어야 합니다.")
128141
@Max(value = 1000, message = "페이지는 1000 이하여야 합니다.") int page,
@@ -140,7 +153,10 @@ public ResponseEntity<BaseResponse<CreatedLessonListResponseDto>> getCreatedLess
140153
CreatedLessonListResponseDto responseDto = adminLessonService
141154
.getCreatedLessons(userId, page, limit, status);
142155

143-
return BaseResponse.ok("개설한 레슨 목록 조회 완료.", responseDto, HttpStatus.OK);
156+
CreatedLessonListWrapperDto wrapperDto = CreatedLessonMapper
157+
.toCreatedLessonListWrapperDto(responseDto);
158+
159+
return PagedResponse.ok("개설한 레슨 목록 조회 완료.", wrapperDto, responseDto.count(), HttpStatus.OK);
144160
}
145161

146162
}

src/main/java/com/threestar/trainus/domain/lesson/admin/dto/CreatedLessonListResponseDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
@Builder
1111
public record CreatedLessonListResponseDto(
1212
List<CreatedLessonDto> lessons,
13-
Long count
13+
Integer count
1414
) {
1515
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.threestar.trainus.domain.lesson.admin.dto;
2+
3+
import java.util.List;
4+
5+
public record CreatedLessonListWrapperDto(
6+
List<CreatedLessonDto> lessons
7+
) {
8+
}

src/main/java/com/threestar/trainus/domain/lesson/admin/dto/LessonApplicationListResponseDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,6 @@
88
@Builder
99
public record LessonApplicationListResponseDto(
1010
java.util.List<LessonApplicationResponseDto> lessonApplications,
11-
Long count
11+
Integer count
1212
) {
1313
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.threestar.trainus.domain.lesson.admin.dto;
2+
3+
import java.util.List;
4+
5+
public record LessonApplicationListWrapperDto(
6+
List<LessonApplicationResponseDto> lessonApplications
7+
) {
8+
}

src/main/java/com/threestar/trainus/domain/lesson/admin/dto/ParticipantListResponseDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
@Builder
1111
public record ParticipantListResponseDto(
1212
List<ParticipantDto> lessonApplications,
13-
Long count
13+
Integer count
1414
) {
1515
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
package com.threestar.trainus.domain.lesson.admin.dto;
2+
3+
import java.util.List;
4+
5+
public record ParticipantListWrapperDto(
6+
List<ParticipantDto> participants
7+
) {
8+
}

src/main/java/com/threestar/trainus/domain/lesson/admin/mapper/CreatedLessonMapper.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.threestar.trainus.domain.lesson.admin.dto.CreatedLessonDto;
66
import com.threestar.trainus.domain.lesson.admin.dto.CreatedLessonListResponseDto;
7+
import com.threestar.trainus.domain.lesson.admin.dto.CreatedLessonListWrapperDto;
78
import com.threestar.trainus.domain.lesson.admin.entity.Lesson;
89

910
public class CreatedLessonMapper {
@@ -36,7 +37,12 @@ public static CreatedLessonListResponseDto toCreatedLessonListResponseDto(
3637
// 응답 DTO 생성
3738
return CreatedLessonListResponseDto.builder()
3839
.lessons(lessonDtos)
39-
.count(totalCount)
40+
.count(totalCount.intValue())
4041
.build();
4142
}
43+
44+
public static CreatedLessonListWrapperDto toCreatedLessonListWrapperDto(
45+
CreatedLessonListResponseDto responseDto) {
46+
return new CreatedLessonListWrapperDto(responseDto.lessons());
47+
}
4248
}

src/main/java/com/threestar/trainus/domain/lesson/admin/mapper/LessonApplicationMapper.java

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
import java.util.List;
44

55
import com.threestar.trainus.domain.lesson.admin.dto.LessonApplicationListResponseDto;
6+
import com.threestar.trainus.domain.lesson.admin.dto.LessonApplicationListWrapperDto;
67
import com.threestar.trainus.domain.lesson.admin.dto.LessonApplicationResponseDto;
78
import com.threestar.trainus.domain.lesson.admin.entity.LessonApplication;
89
import com.threestar.trainus.domain.profile.dto.ProfileResponseDto;
@@ -39,7 +40,12 @@ public static LessonApplicationListResponseDto toListResponseDto(
3940
// 리스트 응답 DTO 생성
4041
return LessonApplicationListResponseDto.builder()
4142
.lessonApplications(applicationDtos)
42-
.count(totalCount)
43+
.count(totalCount.intValue())
4344
.build();
4445
}
46+
47+
public static LessonApplicationListWrapperDto toLessonApplicationListWrapperDto(
48+
LessonApplicationListResponseDto responseDto) {
49+
return new LessonApplicationListWrapperDto(responseDto.lessonApplications());
50+
}
4551
}

src/main/java/com/threestar/trainus/domain/lesson/admin/mapper/LessonParticipantMapper.java

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44

55
import com.threestar.trainus.domain.lesson.admin.dto.ParticipantDto;
66
import com.threestar.trainus.domain.lesson.admin.dto.ParticipantListResponseDto;
7+
import com.threestar.trainus.domain.lesson.admin.dto.ParticipantListWrapperDto;
78
import com.threestar.trainus.domain.lesson.admin.entity.LessonApplication;
89
import com.threestar.trainus.domain.profile.dto.ProfileResponseDto;
910

@@ -38,7 +39,13 @@ public static ParticipantListResponseDto toParticipantsResponseDto(
3839
// 응답 DTO 생성
3940
return ParticipantListResponseDto.builder()
4041
.lessonApplications(participantDtos)
41-
.count(totalCount)
42+
.count(totalCount.intValue())
4243
.build();
4344
}
45+
46+
public static ParticipantListWrapperDto toParticipantListWrapperDto(
47+
ParticipantListResponseDto responseDto) {
48+
return new ParticipantListWrapperDto(responseDto.lessonApplications());
49+
}
4450
}
51+

0 commit comments

Comments
 (0)