Skip to content

Commit 6119c36

Browse files
committed
feat summery user
1 parent 1236cde commit 6119c36

4 files changed

Lines changed: 49 additions & 0 deletions

File tree

src/main/java/NextLevel/demo/summery/controller/SummeryController.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,9 @@ public ResponseEntity getMainPageSummery() {
2525
return ResponseEntity.ok().body(new SuccessResponse("success", summeryService.totalSummery()));
2626
}
2727

28+
@GetMapping("/public/summery/user")
29+
public ResponseEntity getUserSummery() {
30+
return ResponseEntity.ok().body(new SuccessResponse("success", summeryService.userSummery()));
31+
}
32+
2833
}
Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
package NextLevel.demo.summery.dto;
2+
3+
import lombok.Getter;
4+
import lombok.NoArgsConstructor;
5+
import lombok.Setter;
6+
7+
@NoArgsConstructor
8+
@Getter
9+
@Setter
10+
public class UserSummeryDto {
11+
12+
private Long totalUserCount;
13+
private Long socialUserCount;
14+
private Long emailUserCount;
15+
private Long totalPoint;
16+
17+
public UserSummeryDto(Long socialUserCount, Long emailUserCount, Long totalPoint) {
18+
this.socialUserCount = socialUserCount;
19+
this.emailUserCount = emailUserCount;
20+
this.totalUserCount = socialUserCount + emailUserCount;
21+
this.totalPoint = totalPoint;
22+
}
23+
}

src/main/java/NextLevel/demo/summery/repo/SummeryRepository.java

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,4 +63,15 @@ public interface SummeryRepository extends Repository<UserEntity, Long> {
6363
+ "where ff.project.id = :projectId and ff.createdAt >= :start and ff.createdAt <= :end")
6464
Long getFreeFundingCount(@Param("projectId") long projectId, @Param("start") LocalDateTime start, @Param("end") LocalDateTime end);
6565

66+
// --------------------------------- user summery ---------------
67+
68+
@Query("select count(distinct u.user) from UserDetailEntity u where u.socialId is not null")
69+
Long getSocialUserCount();
70+
71+
@Query("select count(distinct u.user) from UserDetailEntity u where u.socialId is null")
72+
Long getEmailUserCount();
73+
74+
@Query("select sum(u.point) from UserEntity u")
75+
Long getTotalPoint();
76+
6677
}

src/main/java/NextLevel/demo/summery/service/SummeryService.java

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import NextLevel.demo.project.project.service.ProjectValidateService;
55
import NextLevel.demo.summery.dto.ProjectSummeryDto;
66
import NextLevel.demo.summery.dto.TotalSummeryDto;
7+
import NextLevel.demo.summery.dto.UserSummeryDto;
78
import NextLevel.demo.summery.repo.SummeryRepository;
89
import java.time.LocalDate;
910
import java.time.LocalDateTime;
@@ -66,4 +67,13 @@ private ProjectSummeryDto getProjectSummeryDto(long projectId, LocalDateTime sta
6667
return new ProjectSummeryDto(start.getMonthValue(), totalUserCount, totalFundingPrice);
6768
}
6869

70+
@Transactional
71+
public UserSummeryDto userSummery() {
72+
Long emailUserCount = summeryRepository.getEmailUserCount();
73+
Long socialUserCount = summeryRepository.getSocialUserCount();
74+
Long totalPoint = summeryRepository.getTotalPoint();
75+
76+
return new UserSummeryDto(socialUserCount, emailUserCount, totalPoint);
77+
}
78+
6979
}

0 commit comments

Comments
 (0)