Skip to content

Commit d8395f7

Browse files
committed
feat[poll]:테스트기능추가
1 parent aef8d63 commit d8395f7

File tree

15 files changed

+704
-618
lines changed

15 files changed

+704
-618
lines changed

backend/build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -79,4 +79,4 @@ dependencies {
7979

8080
tasks.named('test') {
8181
useJUnitPlatform()
82-
}
82+
}

backend/src/main/java/com/ai/lawyer/domain/poll/controller/PollController.java

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@ public List<PollOptions> getPollOptions(@PathVariable Long pollId) {
4444

4545
@Operation(summary = "투표하기")
4646
@PostMapping("/{pollId}/vote")
47-
public PollVoteDto vote(@PathVariable Long pollId, @RequestParam Long pollItemsId) {
47+
public ResponseEntity<?> vote(@PathVariable Long pollId, @RequestParam Long pollItemsId) {
4848
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
49-
Long memberId = (Long) authentication.getPrincipal();
50-
return pollService.vote(pollId, pollItemsId, memberId);
49+
Long memberId = Long.parseLong(authentication.getName());
50+
return ResponseEntity.ok(pollService.vote(pollId, pollItemsId, memberId));
5151
}
5252

5353
@Operation(summary = "투표 통계 조회")
@@ -80,26 +80,26 @@ public PollDto getTopClosedPoll() {
8080
return pollService.getTopPollByStatus(PollDto.PollStatus.CLOSED);
8181
}
8282

83-
@Operation(summary = "진행중인 투표 상세 조회")
84-
@GetMapping("/top/ongoing-detail")
85-
public PostDetailDto getTopOngoingPollDetail() {
86-
PollDto pollDto = pollService.getTopPollByStatus(PollDto.PollStatus.ONGOING);
87-
return postService.getPostDetailById(pollDto.getPostId());
88-
}
89-
90-
@Operation(summary = "종료된 투표 상세 조회")
91-
@GetMapping("/top/closed-detail")
92-
public PostDetailDto getTopClosedPollDetail() {
93-
PollDto pollDto = pollService.getTopPollByStatus(PollDto.PollStatus.CLOSED);
94-
return postService.getPostDetailById(pollDto.getPostId());
95-
}
83+
// @Operation(summary = "진행중인 투표 상세 조회")
84+
// @GetMapping("/top/ongoing-detail")
85+
// public PostDetailDto getTopOngoingPollDetail() {
86+
// PollDto pollDto = pollService.getTopPollByStatus(PollDto.PollStatus.ONGOING);
87+
// return postService.getPostDetailById(pollDto.getPostId());
88+
// }
89+
//
90+
// @Operation(summary = "종료된 투표 상세 조회")
91+
// @GetMapping("/top/closed-detail")
92+
// public PostDetailDto getTopClosedPollDetail() {
93+
// PollDto pollDto = pollService.getTopPollByStatus(PollDto.PollStatus.CLOSED);
94+
// return postService.getPostDetailById(pollDto.getPostId());
95+
// }
9696

9797
@Operation(summary = "투표 생성")
9898
@PostMapping("")
99-
public PollDto createPoll(@RequestBody PollCreateDto request) {
99+
public ResponseEntity<?> createPoll(@RequestBody PollCreateDto pollCreateDto) {
100100
Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
101-
Long memberId = (Long) authentication.getPrincipal();
102-
return pollService.createPoll(request, memberId);
101+
Long memberId = Long.parseLong(authentication.getName());
102+
return ResponseEntity.ok(pollService.createPoll(pollCreateDto, memberId));
103103
}
104104

105105
@Operation(summary = "투표 수정")
@@ -121,13 +121,13 @@ public List<PollDto> getClosedPolls() {
121121
}
122122

123123
@Operation(summary = "종료된 투표 Top N 조회")
124-
@GetMapping("/top/closed-list") ///api/polls/top/closed-list?size=3
124+
@GetMapping("/top/closed-list") //검색조건 : pi/polls/top/closed-list?size=3
125125
public List<PollDto> getTopClosedPolls(@RequestParam(defaultValue = "3") int size) {
126126
return pollService.getTopNPollsByStatus(PollDto.PollStatus.CLOSED, size);
127127
}
128128

129129
@Operation(summary = "진행중인 투표 Top N 조회")
130-
@GetMapping("/top/ongoing-list") ///api/polls/top/ongoing-list?size=3
130+
@GetMapping("/top/ongoing-list") //검색조건 : api/polls/top/ongoing-list?size=3
131131
public List<PollDto> getTopOngoingPolls(@RequestParam(defaultValue = "3") int size) {
132132
return pollService.getTopNPollsByStatus(PollDto.PollStatus.ONGOING, size);
133133
}

backend/src/main/java/com/ai/lawyer/domain/poll/dto/PollCreateDto.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import lombok.Data;
77
import lombok.NoArgsConstructor;
88
import java.util.List;
9+
import java.time.LocalDateTime;
910

1011
@Data
1112
@NoArgsConstructor
@@ -18,4 +19,5 @@ public class PollCreateDto {
1819
private String voteTitle;
1920
@Schema(description = "투표 항목(2개 필수)", example = "[{\"content\": \"항목1 내용\"}, {\"content\": \"항목2 내용\"}]")
2021
private List<PollOptionCreateDto> pollOptions;
22+
private LocalDateTime reservedCloseAt;
2123
}

backend/src/main/java/com/ai/lawyer/domain/poll/dto/PollDto.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ public class PollDto {
1515
private PollStatus status;
1616
private LocalDateTime createdAt;
1717
private LocalDateTime closedAt;
18+
private LocalDateTime expectedCloseAt;
1819
private List<PollOptionDto> pollOptions;
1920
private Long totalVoteCount;
2021

backend/src/main/java/com/ai/lawyer/domain/poll/dto/PollOptionDto.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@
77
@AllArgsConstructor
88
@Builder
99
public class PollOptionDto {
10-
private Long pollItemsId; // PK
10+
private Long pollItemsId;
1111
private String content;
1212
private Long voteCount;
1313
private java.util.List<PollStaticsDto> statics;

backend/src/main/java/com/ai/lawyer/domain/poll/dto/PollUpdateDto.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
import lombok.Data;
77
import lombok.NoArgsConstructor;
88
import java.util.List;
9+
import java.time.LocalDateTime;
910

1011
@Data
1112
@NoArgsConstructor
@@ -16,4 +17,5 @@ public class PollUpdateDto {
1617
private String voteTitle;
1718
@Schema(description = "투표 항목(2개 필수)", example = "[{\"content\": \"항목1 내용\"}, {\"content\": \"항목2 내용\"}]")
1819
private List<PollOptionUpdateDto> pollOptions;
20+
private LocalDateTime reservedCloseAt;
1921
}

backend/src/main/java/com/ai/lawyer/domain/poll/entity/Poll.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,9 @@ public class Poll {
3636
@Column(name = "closed_at")
3737
private LocalDateTime closedAt;
3838

39+
@Column(name = "reserved_close_at")
40+
private LocalDateTime reservedCloseAt;
41+
3942
@OneToMany(mappedBy = "poll", cascade = CascadeType.REMOVE, orphanRemoval = true)
4043
private java.util.List<PollOptions> pollOptions;
4144

0 commit comments

Comments
 (0)