Skip to content

Commit 4f934fa

Browse files
authored
Merge pull request #294 from TEAM-MODDY/fix/#293
#293 [fix] 디자이너 메인뷰 페이징 정렬, total 계산 오류 해결
2 parents 1c25997 + f0f4fba commit 4f934fa

File tree

3 files changed

+18
-7
lines changed

3 files changed

+18
-7
lines changed

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@ output/
1212
*.ipr
1313
*.iws
1414

15-
1615
# OSX
1716
.DS_Store
1817
.AppleDouble
@@ -37,3 +36,5 @@ output/
3736
*.log-*.gz
3837
logs/
3938

39+
#Token
40+
/src/main/java/com/moddy/server/TestController.java

src/main/java/com/moddy/server/domain/hair_model_application/repository/HairModelApplicationJpaRepository.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,11 @@
44
import org.springframework.data.domain.Page;
55
import org.springframework.data.domain.Pageable;
66
import org.springframework.data.jpa.repository.JpaRepository;
7+
import org.springframework.data.jpa.repository.Query;
8+
import org.springframework.data.repository.query.Param;
79
import org.springframework.stereotype.Repository;
810

11+
import java.time.LocalDateTime;
912
import java.util.List;
1013
import java.util.Optional;
1114

@@ -19,4 +22,7 @@ public interface HairModelApplicationJpaRepository extends JpaRepository<HairMod
1922

2023
List<HairModelApplication> findAllByModelId(Long modelId);
2124

25+
@Query("SELECT COUNT(*) FROM HairModelApplication h WHERE h.createdAt >= :startDate AND h.createdAt < :endDate")
26+
long countNonExpiredApplications(@Param("startDate") LocalDateTime startDate, @Param("endDate") LocalDateTime endDate);
27+
2228
}

src/main/java/com/moddy/server/service/application/HairModelApplicationRetrieveService.java

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,8 @@
2828
import org.springframework.stereotype.Service;
2929
import org.springframework.transaction.annotation.Transactional;
3030

31+
import java.time.LocalDate;
32+
import java.time.LocalDateTime;
3133
import java.util.Comparator;
3234
import java.util.List;
3335
import java.util.stream.Collectors;
@@ -50,7 +52,6 @@ public DesignerMainResponse getDesignerMainInfo(final Long designerId, final int
5052

5153
Page<HairModelApplication> applicationPage = findApplicationsByPaging(page, size);
5254
long totalElements = applicationPage.getTotalElements();
53-
5455
List<HairModelApplicationResponse> applicationResponsesList = applicationPage.stream().map(this::getApplicationResponse).collect(Collectors.toList());
5556

5657
return new DesignerMainResponse(
@@ -104,10 +105,11 @@ public ApplicationDto getApplicationDetailInfo(final Long applicationId) {
104105
hairModelApplication.getExpiredDate().format(DateTimeFormatter.ofPattern(DATE_FORMAT)));
105106
}
106107

107-
public ApplicationIdResponse checkValidApplicationStatus(final Long modelId){
108+
public ApplicationIdResponse checkValidApplicationStatus(final Long modelId) {
108109
HairModelApplication hairModelApplication = hairModelApplicationJpaRepository.findFirstByModelIdOrderByCreatedAtDesc(modelId).orElseThrow(() -> new NotFoundException(ErrorCode.NOT_FOUND_APPLICATION_EXCEPTION));
109110

110-
if(hairModelApplication.isExpired()) throw new NotFoundException(ErrorCode.NOT_FOUND_VALID_APPLICATION_EXCEPTION);
111+
if (hairModelApplication.isExpired())
112+
throw new NotFoundException(ErrorCode.NOT_FOUND_VALID_APPLICATION_EXCEPTION);
111113

112114
return new ApplicationIdResponse(hairModelApplication.getId());
113115
}
@@ -128,22 +130,24 @@ public DownloadUrlResponseDto getApplicationCaptureDownloadUrl(final Long applic
128130
return new DownloadUrlResponseDto(applicationDownloadUrl);
129131
}
130132

131-
public boolean getApplicationExpiredStatus(final Long applicationId){
133+
public boolean getApplicationExpiredStatus(final Long applicationId) {
132134
final HairModelApplication hairModelApplication = hairModelApplicationJpaRepository.findById(applicationId)
133135
.orElseThrow(() -> new NotFoundException(ErrorCode.NOT_FOUND_APPLICATION_EXCEPTION));
134136
return hairModelApplication.isExpired();
135137
}
136138

137139
private Page<HairModelApplication> findApplicationsByPaging(final int page, final int size) {
138-
PageRequest pageRequest = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "id"));
140+
PageRequest pageRequest = PageRequest.of(page - 1, size, Sort.by(Sort.Direction.DESC, "createdAt"));
139141
Page<HairModelApplication> applicationPage = hairModelApplicationJpaRepository.findAll(pageRequest);
140142

143+
long nonExpiredCount = hairModelApplicationJpaRepository.countNonExpiredApplications(LocalDate.now().minusDays(13).atStartOfDay(), LocalDate.now().plusDays(1).atStartOfDay());
144+
141145
Page<HairModelApplication> nonExpiredApplications = applicationPage
142146
.stream()
143147
.filter(application -> !application.isExpired())
144148
.collect(Collectors.collectingAndThen(
145149
Collectors.toList(),
146-
list -> new PageImpl<>(list, pageRequest, list.size())
150+
list -> new PageImpl<>(list, pageRequest, nonExpiredCount) // 전체 개수 사용
147151
));
148152

149153
return nonExpiredApplications;

0 commit comments

Comments
 (0)