Commit 8b9ced3 1 parent 456be60 commit 8b9ced3 Copy full SHA for 8b9ced3
File tree 4 files changed +27
-2
lines changed
src/main/java/com/sponus/sponusbe/domain/announcement
4 files changed +27
-2
lines changed Original file line number Diff line number Diff line change @@ -43,14 +43,17 @@ Content-Type: application/json
43
43
}
44
44
45
45
### 상세 조회
46
- GET http://localhost:8080/api/v1/announcements/2
46
+ GET http://localhost:8080/api/v1/announcements/1
47
+
48
+ ### 공고 상태별 목록 조회
49
+ GET http://localhost:8080/api/v1/announcements/status?status=POSTED
47
50
48
51
### 삭제 (생성한 단체만 삭제 가능)
49
52
DELETE http://localhost:8080/api/v1/announcements/1
50
53
Authorization: Bearer {{matsterToken}}
51
54
52
55
### 공고 수정
53
- PATCH http://localhost:8080/api/v1/announcements/1
56
+ PATCH http://localhost:8080/api/v1/announcements/2
54
57
Authorization: Bearer {{matsterToken}}
55
58
Content-Type: application/json
56
59
Original file line number Diff line number Diff line change 18
18
import com .sponus .sponusbe .domain .announcement .dto .response .AnnouncementCreateResponse ;
19
19
import com .sponus .sponusbe .domain .announcement .dto .response .AnnouncementResponse ;
20
20
import com .sponus .sponusbe .domain .announcement .dto .response .AnnouncementUpdateResponse ;
21
+ import com .sponus .sponusbe .domain .announcement .entity .enums .AnnouncementStatus ;
21
22
import com .sponus .sponusbe .domain .announcement .service .AnnouncementQueryService ;
22
23
import com .sponus .sponusbe .domain .announcement .service .AnnouncementService ;
23
24
import com .sponus .sponusbe .domain .organization .entity .Organization ;
@@ -51,6 +52,12 @@ public ApiResponse<AnnouncementResponse> getAnnouncement(@PathVariable Long anno
51
52
return ApiResponse .onSuccess (announcementService .getAnnouncement (announcementId ));
52
53
}
53
54
55
+ @ GetMapping ("/status" )
56
+ public ApiResponse <List <AnnouncementResponse >> getListAnnouncement (
57
+ @ RequestParam ("status" ) AnnouncementStatus status ) {
58
+ return ApiResponse .onSuccess (announcementService .getListAnnouncement (status ));
59
+ }
60
+
54
61
@ GetMapping
55
62
public ApiResponse <List <AnnouncementResponse >> searchAnnouncement (@ RequestParam ("search" ) String keyword ) {
56
63
return ApiResponse .onSuccess (announcementQueryService .searchAnnouncement (keyword ));
Original file line number Diff line number Diff line change 5
5
import org .springframework .data .jpa .repository .JpaRepository ;
6
6
7
7
import com .sponus .sponusbe .domain .announcement .entity .Announcement ;
8
+ import com .sponus .sponusbe .domain .announcement .entity .enums .AnnouncementStatus ;
8
9
9
10
public interface AnnouncementRepository extends JpaRepository <Announcement , Long > {
10
11
11
12
List <Announcement > findByTitleContains (String title );
13
+
14
+ List <Announcement > findByStatus (AnnouncementStatus status );
15
+
12
16
}
Original file line number Diff line number Diff line change 1
1
package com .sponus .sponusbe .domain .announcement .service ;
2
2
3
+ import java .util .List ;
4
+ import java .util .stream .Collectors ;
5
+
3
6
import org .springframework .stereotype .Service ;
4
7
import org .springframework .transaction .annotation .Transactional ;
5
8
9
12
import com .sponus .sponusbe .domain .announcement .dto .response .AnnouncementResponse ;
10
13
import com .sponus .sponusbe .domain .announcement .dto .response .AnnouncementUpdateResponse ;
11
14
import com .sponus .sponusbe .domain .announcement .entity .Announcement ;
15
+ import com .sponus .sponusbe .domain .announcement .entity .enums .AnnouncementStatus ;
12
16
import com .sponus .sponusbe .domain .announcement .exception .AnnouncementErrorCode ;
13
17
import com .sponus .sponusbe .domain .announcement .exception .AnnouncementException ;
14
18
import com .sponus .sponusbe .domain .announcement .repository .AnnouncementRepository ;
@@ -39,6 +43,13 @@ public AnnouncementResponse getAnnouncement(Long announcementId) {
39
43
return AnnouncementResponse .from (announcement );
40
44
}
41
45
46
+ public List <AnnouncementResponse > getListAnnouncement (AnnouncementStatus status ) {
47
+ List <Announcement > announcements = announcementRepository .findByStatus (status );
48
+ return announcements .stream ()
49
+ .map (AnnouncementResponse ::from )
50
+ .collect (Collectors .toList ());
51
+ }
52
+
42
53
public void deleteAnnouncement (Organization organization , Long announcementId ) {
43
54
final Announcement announcement = announcementRepository .findById (announcementId )
44
55
.orElseThrow (() -> new AnnouncementException (AnnouncementErrorCode .ANNOUNCEMENT_NOT_FOUND ));
You can’t perform that action at this time.
0 commit comments