@@ -36,7 +36,7 @@ public interface DockViewRepository extends JpaRepository<DockView, Long> {
|
|||||||
"MIN(dv.createdAt) as firstViewDate " +
|
"MIN(dv.createdAt) as firstViewDate " +
|
||||||
"FROM DockView dv " +
|
"FROM DockView dv " +
|
||||||
"WHERE dv.fileId IN :fileIds")
|
"WHERE dv.fileId IN :fileIds")
|
||||||
Optional<Object[]> findTotalViewsStatsByFileIds(@Param("fileIds") List<String> fileIds);
|
List<Object[]> findTotalViewsStatsByFileIds(@Param("fileIds") List<String> fileIds);
|
||||||
|
|
||||||
Page<DockView> findAllByViewerIdOrderByCreatedAtDesc(Long viewerId, Pageable pageable);
|
Page<DockView> findAllByViewerIdOrderByCreatedAtDesc(Long viewerId, Pageable pageable);
|
||||||
|
|
||||||
|
|||||||
@@ -80,9 +80,9 @@ public class DockViewService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public DockViewStatsResponse getTotalStatsByFileIds(List<String> fileIds) {
|
public DockViewStatsResponse getTotalStatsByFileIds(List<String> fileIds) {
|
||||||
Optional<Object[]> statsOpt = dockViewRepository.findTotalViewsStatsByFileIds(fileIds);
|
List<Object[]> statsList = dockViewRepository.findTotalViewsStatsByFileIds(fileIds);
|
||||||
|
|
||||||
if (statsOpt.isEmpty() || statsOpt.get() == null) {
|
if (statsList.isEmpty()) {
|
||||||
return DockViewStatsResponse.builder()
|
return DockViewStatsResponse.builder()
|
||||||
.totalViews(0L)
|
.totalViews(0L)
|
||||||
.uniqueIps(0L)
|
.uniqueIps(0L)
|
||||||
@@ -92,11 +92,12 @@ public class DockViewService {
|
|||||||
.build();
|
.build();
|
||||||
}
|
}
|
||||||
|
|
||||||
Object[] stats = statsOpt.get();
|
Object[] stats = statsList.get(0);
|
||||||
|
|
||||||
return DockViewStatsResponse.builder()
|
return DockViewStatsResponse.builder()
|
||||||
.totalViews(stats[0] != null ? (Long) stats[0] : 0L)
|
.totalViews((Long) stats[0])
|
||||||
.uniqueIps(stats[1] != null ? (Long) stats[1] : 0L)
|
.uniqueIps((Long) stats[1])
|
||||||
.uniqueUsers(stats[2] != null ? (Long) stats[2] : 0L)
|
.uniqueUsers((Long) stats[2])
|
||||||
.lastViewDate((LocalDateTime) stats[3])
|
.lastViewDate((LocalDateTime) stats[3])
|
||||||
.firstViewDate((LocalDateTime) stats[4])
|
.firstViewDate((LocalDateTime) stats[4])
|
||||||
.build();
|
.build();
|
||||||
|
|||||||
Reference in New Issue
Block a user