Skip to content

Commit 8ff614c

Browse files
authored
Merge pull request #51 from flowbit-team/feature/50-total-subscriber
Feature/50 total subscriber
2 parents 0bb5c9e + fe77597 commit 8ff614c

File tree

4 files changed

+21
-2
lines changed

4 files changed

+21
-2
lines changed

src/main/java/com/example/userservice/domain/subscriber/controller/SubscriberController.java

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,11 @@
11
package com.example.userservice.domain.subscriber.controller;
22

33

4+
import com.example.userservice.domain.member.dto.response.MemberRenewAccessTokenResponseDto;
45
import com.example.userservice.domain.subscriber.dto.request.SubscribeRequestDto;
56
import com.example.userservice.domain.subscriber.service.SubscriberService;
7+
import com.example.userservice.global.common.CommonResDto;
8+
69
import lombok.RequiredArgsConstructor;
710
import lombok.extern.slf4j.Slf4j;
811
import org.springframework.http.HttpStatus;
@@ -22,12 +25,20 @@ public class SubscriberController {
2225
@PostMapping("/subscribe")
2326
public ResponseEntity<?> subscribe(@Valid @RequestBody SubscribeRequestDto subscribeRequestDto) {
2427
subscriberService.subscribe(subscribeRequestDto.getEmail(), subscribeRequestDto.getKeywords());
25-
return ResponseEntity.status(HttpStatus.CREATED).body("구독 완료: " + subscribeRequestDto.getEmail());
28+
return new ResponseEntity<>(new CommonResDto<>(1, "구독이 완료되었습니다",""), HttpStatus.OK);
2629
}
2730

2831
@DeleteMapping("/unsubscribe")
2932
public ResponseEntity<?> unsubscribe(@RequestParam String email) {
3033
subscriberService.unsubscribe(email);
31-
return ResponseEntity.status(HttpStatus.OK).body("구독 취소 완료: " + email);
34+
return new ResponseEntity<>(new CommonResDto<>(1, "구독이 취소되었습니다.",""), HttpStatus.OK);
35+
}
36+
37+
@GetMapping("/count")
38+
public ResponseEntity<?> getSubscriberCount() {
39+
long count = subscriberService.countSubscribers();
40+
return new ResponseEntity<>(new CommonResDto<>(1, "총 구독자 수 조회 성공", count), HttpStatus.OK);
3241
}
42+
43+
3344
}

src/main/java/com/example/userservice/domain/subscriber/repository/SubscriberRepository.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -8,4 +8,5 @@
88

99
public interface SubscriberRepository extends JpaRepository<Subscriber, Long> {
1010
Optional<Subscriber> findByEmail(String email);
11+
long count();
1112
}

src/main/java/com/example/userservice/domain/subscriber/service/SubscriberService.java

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,4 +5,6 @@
55
public interface SubscriberService {
66
void subscribe(String email, List<String> keywords);
77
void unsubscribe(String email);
8+
9+
long countSubscribers();
810
}

src/main/java/com/example/userservice/domain/subscriber/service/impl/SubscriberServiceImpl.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@ public class SubscriberServiceImpl implements SubscriberService {
2222
private final SubscriberRepository subscriberRepository;
2323
private final EmailRedisUtil emailRedisUtil;
2424

25+
26+
public long countSubscribers() {
27+
return subscriberRepository.count();
28+
}
29+
2530
@Override
2631
@Transactional
2732
public void subscribe(String email, List<String> keywords) {

0 commit comments

Comments
 (0)