Skip to content

Commit ede3db6

Browse files
authored
Merge pull request #269 from Modagbul/develop
[MNG-11, MNG-19]
2 parents b053efc + def56f8 commit ede3db6

39 files changed

+769
-111
lines changed

.github/workflows/CD-dev.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ jobs:
4040
4141
# 설정 파일 생성
4242
- run: |
43-
mkdir ./src/main/resources
4443
cd ./src/main/resources
4544
touch ./application.yml
4645
echo "${{env.APPLICATION}}" > ./application.yml

.github/workflows/CD-prod.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ jobs:
4040
4141
# 설정 파일 생성
4242
- run: |
43-
mkdir ./src/main/resources
4443
cd ./src/main/resources
4544
touch ./application.yml
4645
echo "${{env.APPLICATION}}" > ./application.yml

.github/workflows/CI-dev.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ jobs:
4141
4242
# 설정 파일 생성
4343
- run: |
44-
mkdir ./src/main/resources
4544
cd ./src/main/resources
4645
touch ./application.yml
4746
echo "${{env.APPLICATION}}" > ./application.yml

.github/workflows/CI-prod.yml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@ jobs:
4141
4242
# 설정 파일 생성
4343
- run: |
44-
mkdir ./src/main/resources
4544
cd ./src/main/resources
4645
touch ./application.yml
4746
echo "${{env.APPLICATION}}" > ./application.yml

build.gradle

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -99,7 +99,7 @@ dependencies {
9999

100100
//log
101101
implementation 'org.springframework.boot:spring-boot-starter-logging'
102-
102+
implementation 'org.springframework.boot:spring-boot-starter-aop'
103103
implementation("org.springframework.boot:spring-boot-starter-actuator")
104104
implementation("io.micrometer:micrometer-registry-prometheus") // 프로메테우스 마이크로미터
105105

src/main/java/com/moing/backend/domain/fire/domain/repository/FireCustomRepository.java

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,6 @@
22

33

44
import com.moing.backend.domain.fire.application.dto.res.FireReceiveRes;
5-
import com.moing.backend.domain.fire.domain.entity.Fire;
6-
import com.moing.backend.domain.member.domain.entity.Member;
7-
import org.springframework.data.jpa.repository.JpaRepository;
85

96
import java.util.List;
107
import java.util.Optional;
@@ -13,5 +10,6 @@ public interface FireCustomRepository {
1310

1411
boolean hasFireCreatedWithinOneHour(Long throwMemberId, Long receiveMemberId);
1512
Optional<List<FireReceiveRes>> getFireReceivers(Long teamId, Long missionId, Long memberId);
16-
17-
}
13+
Long getTodayFires();
14+
Long getYesterdayFires();
15+
}

src/main/java/com/moing/backend/domain/fire/domain/repository/FireCustomRepositoryImpl.java

Lines changed: 32 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
import java.time.DayOfWeek;
1313
import java.time.LocalDate;
1414
import java.time.LocalDateTime;
15+
import java.time.ZoneId;
1516
import java.time.temporal.TemporalAdjusters;
1617
import java.util.List;
1718
import java.util.Optional;
@@ -74,6 +75,36 @@ public Optional<List<FireReceiveRes>> getFireReceivers(Long teamId, Long mission
7475

7576
}
7677

78+
@Override
79+
public Long getTodayFires() {
80+
LocalDateTime now = LocalDateTime.now(ZoneId.of("Asia/Seoul"));
81+
LocalDateTime startOfToday = now.toLocalDate().atStartOfDay();
82+
LocalDateTime endOfToday = startOfToday.plusDays(1);
83+
LocalDateTime startOfYesterday = startOfToday.minusDays(1);
84+
85+
long todayFires = queryFactory
86+
.selectFrom(fire)
87+
.where(fire.createdDate.between(startOfToday, endOfToday))
88+
.fetchCount();
89+
90+
return todayFires;
91+
}
92+
93+
@Override
94+
public Long getYesterdayFires(){
95+
LocalDateTime now = LocalDateTime.now(ZoneId.of("Asia/Seoul"));
96+
LocalDateTime startOfToday = now.toLocalDate().atStartOfDay();
97+
LocalDateTime endOfToday = startOfToday.plusDays(1);
98+
LocalDateTime startOfYesterday = startOfToday.minusDays(1);
99+
100+
long yesterdayFires = queryFactory
101+
.selectFrom(fire)
102+
.where(fire.createdDate.between(startOfYesterday, startOfToday))
103+
.fetchCount();
104+
105+
return yesterdayFires;
106+
}
107+
77108

78109
private BooleanExpression createRepeatTypeConditionByArchive() {
79110
LocalDate now = LocalDate.now();
@@ -84,6 +115,7 @@ private BooleanExpression createRepeatTypeConditionByArchive() {
84115
return missionArchive.createdDate.goe(startOfWeek.atStartOfDay())
85116
.and(missionArchive.createdDate.loe(endOfWeek.atStartOfDay().plusDays(1).minusNanos(1)));
86117
}
118+
87119
private BooleanExpression hasAlreadyVerifiedToday() {
88120
LocalDateTime today = LocalDateTime.now();
89121
LocalDateTime startOfToday = today.withHour(0).withMinute(0).withSecond(0).withNano(0);

src/main/java/com/moing/backend/domain/fire/domain/service/FireQueryService.java

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,8 @@
11
package com.moing.backend.domain.fire.domain.service;
22

33
import com.moing.backend.domain.fire.application.dto.res.FireReceiveRes;
4-
import com.moing.backend.domain.fire.domain.entity.Fire;
5-
import com.moing.backend.domain.fire.domain.repository.FireCustomRepository;
64
import com.moing.backend.domain.fire.domain.repository.FireRepository;
7-
import com.moing.backend.domain.fire.exception.NotFoundFireException;
85
import com.moing.backend.domain.fire.exception.NotFoundFireReceiversException;
9-
import com.moing.backend.domain.member.domain.entity.Member;
106
import lombok.RequiredArgsConstructor;
117
import org.springframework.stereotype.Service;
128

@@ -26,4 +22,10 @@ public List<FireReceiveRes> getNotYetMissionMember(Long teamId, Long missionId,
2622
return fireRepository.getFireReceivers(teamId, missionId,memberId).orElseThrow(NotFoundFireReceiversException::new);
2723
}
2824

25+
public Long getTodayFires(){
26+
return fireRepository.getTodayFires();
27+
}
28+
public Long getYesterdayFires(){
29+
return fireRepository.getYesterdayFires();
30+
}
2931
}
Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,6 @@
11
package com.moing.backend.domain.member.domain.repository;
22

33
import com.moing.backend.domain.member.domain.entity.Member;
4-
import com.moing.backend.domain.statistics.application.dto.DailyStats;
54

65
import java.util.List;
76
import java.util.Optional;
@@ -12,7 +11,7 @@ public interface MemberCustomRepository {
1211
Optional<Member> findNotDeletedBySocialId(String socialId);
1312
Optional<Member> findNotDeletedByEmail(String email);
1413
Optional<Member> findNotDeletedByMemberId(Long id);
15-
DailyStats getDailyStats();
16-
14+
Long getTodayNewMembers();
15+
Long getYesterdayNewMembers();
1716
Optional<List<Member>> findAllMemberOnPushAlarm();
1817
}

src/main/java/com/moing/backend/domain/member/domain/repository/MemberCustomRepositoryImpl.java

Lines changed: 13 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,6 @@
11
package com.moing.backend.domain.member.domain.repository;
22

33
import com.moing.backend.domain.member.domain.entity.Member;
4-
import com.moing.backend.domain.mission.domain.entity.constant.MissionType;
5-
import com.moing.backend.domain.statistics.application.dto.DailyStats;
64
import com.querydsl.jpa.impl.JPAQueryFactory;
75

86
import javax.persistence.EntityManager;
@@ -12,8 +10,6 @@
1210
import java.util.Optional;
1311

1412
import static com.moing.backend.domain.member.domain.entity.QMember.member;
15-
import static com.moing.backend.domain.mission.domain.entity.QMission.mission;
16-
import static com.moing.backend.domain.team.domain.entity.QTeam.team;
1713

1814
public class MemberCustomRepositoryImpl implements MemberCustomRepository {
1915

@@ -61,7 +57,7 @@ public Optional<Member> findNotDeletedByMemberId(Long id) {
6157
}
6258

6359
@Override
64-
public DailyStats getDailyStats() {
60+
public Long getTodayNewMembers() {
6561
LocalDateTime now = LocalDateTime.now(ZoneId.of("Asia/Seoul"));
6662
LocalDateTime startOfToday = now.toLocalDate().atStartOfDay();
6763
LocalDateTime endOfToday = startOfToday.plusDays(1);
@@ -72,58 +68,23 @@ public DailyStats getDailyStats() {
7268
.where(member.createdDate.between(startOfToday, endOfToday))
7369
.fetchCount();
7470

75-
long yesterdayNewMembers = queryFactory
76-
.selectFrom(member)
77-
.where(member.createdDate.between(startOfYesterday, startOfToday))
78-
.fetchCount();
79-
80-
long todayNewTeams = queryFactory
81-
.selectFrom(team)
82-
.where(team.createdDate.between(startOfToday, endOfToday))
83-
.fetchCount();
84-
85-
long yesterdayNewTeams = queryFactory
86-
.selectFrom(team)
87-
.where(team.createdDate.between(startOfYesterday, startOfToday))
88-
.fetchCount();
89-
90-
long todayRepeatMissions = queryFactory
91-
.select(mission)
92-
.from(mission)
93-
.where(mission.createdDate.between(startOfToday, endOfToday)
94-
.and(mission.type.eq(MissionType.REPEAT)))
95-
.fetchCount();
71+
return todayNewMembers;
72+
}
9673

97-
long yesterdayRepeatMissions = queryFactory
98-
.select(mission)
99-
.from(mission)
100-
.where(mission.createdDate.between(startOfYesterday, startOfToday)
101-
.and(mission.type.eq(MissionType.REPEAT)))
102-
.fetchCount();
74+
@Override
75+
public Long getYesterdayNewMembers() {
76+
LocalDateTime now = LocalDateTime.now(ZoneId.of("Asia/Seoul"));
77+
LocalDateTime startOfToday = now.toLocalDate().atStartOfDay();
78+
LocalDateTime endOfToday = startOfToday.plusDays(1);
79+
LocalDateTime startOfYesterday = startOfToday.minusDays(1);
10380

104-
long todayOnceMissions = queryFactory
105-
.select(mission)
106-
.from(mission)
107-
.where(mission.createdDate.between(startOfToday, endOfToday)
108-
.and(mission.type.eq(MissionType.ONCE)))
109-
.fetchCount();
11081

111-
long yesterdayOnceMissions = queryFactory
112-
.select(mission)
113-
.from(mission)
114-
.where(mission.createdDate.between(startOfYesterday, startOfToday)
115-
.and(mission.type.eq(MissionType.ONCE)))
82+
long yesterdayNewMembers = queryFactory
83+
.selectFrom(member)
84+
.where(member.createdDate.between(startOfYesterday, startOfToday))
11685
.fetchCount();
11786

118-
return new DailyStats(
119-
todayNewMembers,
120-
yesterdayNewMembers,
121-
todayNewTeams,
122-
yesterdayNewTeams,
123-
todayRepeatMissions,
124-
yesterdayRepeatMissions,
125-
todayOnceMissions,
126-
yesterdayOnceMissions);
87+
return yesterdayNewMembers;
12788
}
12889

12990
@Override

src/main/java/com/moing/backend/domain/member/domain/service/MemberGetService.java

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,12 +4,10 @@
44
import com.moing.backend.domain.member.domain.repository.MemberRepository;
55
import com.moing.backend.domain.member.exception.NotFoundBySocialIdException;
66
import com.moing.backend.domain.member.exception.NotFoundRemindAlarmException;
7-
import com.moing.backend.domain.statistics.application.dto.DailyStats;
87
import com.moing.backend.global.annotation.DomainService;
98
import lombok.RequiredArgsConstructor;
109

1110
import javax.transaction.Transactional;
12-
import java.math.BigInteger;
1311
import java.util.List;
1412

1513
@DomainService
@@ -26,10 +24,15 @@ public Member getMemberByMemberId(Long memberId) {
2624
return memberRepository.findNotDeletedByMemberId(memberId).orElseThrow(()->new NotFoundBySocialIdException());
2725
}
2826

29-
public DailyStats getDailyStats(){
30-
return memberRepository.getDailyStats();
27+
public Long getTodayNewMembers(){
28+
return memberRepository.getTodayNewMembers();
3129
}
3230

31+
public Long getYesterdayNewMembers(){
32+
return memberRepository.getYesterdayNewMembers();
33+
}
34+
35+
3336
public List<Member> getAllMemberOfPushAlarm() {
3437
return memberRepository.findAllMemberOnPushAlarm().orElseThrow(NotFoundRemindAlarmException::new);
3538
}

src/main/java/com/moing/backend/domain/mission/domain/repository/MissionCustomRepository.java

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ public interface MissionCustomRepository {
1717

1818
Optional<List<GatherSingleMissionRes>> findSingleMissionByMemberId(Long memberId, List<Long> teams);
1919

20-
Optional<List<GatherRepeatMissionRes>> findRepeatMissionByMemberId(Long memberId, List<Long>teams);
20+
Optional<List<GatherRepeatMissionRes>> findRepeatMissionByMemberId(Long memberId, List<Long> teams);
2121

2222
Optional<List<Mission>> findMissionByDueTo();
2323

@@ -27,10 +27,15 @@ public interface MissionCustomRepository {
2727

2828
Optional<List<Member>> findRepeatMissionPeopleByStatus(MissionStatus missionStatus);
2929

30-
31-
boolean findRepeatMissionsByTeamId(Long teamId);
30+
boolean findRepeatMissionsByTeamId(Long teamId);
3231

3332
Optional<MissionReadRes> findByIds(Long memberId, Long missionId);
3433

34+
Long getTodayOnceMissions();
35+
36+
Long getYesterdayOnceMissions();
37+
38+
Long getTodayRepeatMissions();
3539

36-
}
40+
Long getYesterdayRepeatMissions();
41+
}

0 commit comments

Comments
 (0)