From cf9bc941487df8dfb0780d3e8f1281f4e397b5fa Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期四, 06 三月 2025 10:33:57 +0800
Subject: [PATCH] fix: 3

---
 app/src/main/java/com/example/firstapp/database/repository/CodeRepository.kt |   48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 48 insertions(+), 0 deletions(-)

diff --git a/app/src/main/java/com/example/firstapp/database/repository/CodeRepository.kt b/app/src/main/java/com/example/firstapp/database/repository/CodeRepository.kt
index c5d1165..915c13d 100644
--- a/app/src/main/java/com/example/firstapp/database/repository/CodeRepository.kt
+++ b/app/src/main/java/com/example/firstapp/database/repository/CodeRepository.kt
@@ -3,6 +3,7 @@
 import androidx.annotation.WorkerThread
 import com.example.firstapp.database.dao.CodeDao
 import com.example.firstapp.database.entity.Code
+import kotlinx.coroutines.flow.Flow
 
 
 class CodeRepository(private val codeDao: CodeDao) {
@@ -22,4 +23,51 @@
         return codeDao.getByKeyword(keyword)
     }
 
+    fun queryByTypeAndCodeAndDate(content: String, code: String, dateString: String): Code {
+        return codeDao.queryByTypeAndCodeAndDate(content, code, dateString)
+    }
+
+    @WorkerThread
+    fun pickup(id: Long) = codeDao.pickup(id)
+
+
+    fun getPackages(date: Long, dateType: String): Flow<List<Code>> {
+        return when (dateType) {
+            "DAY" -> codeDao.getPackagesByDay(date)
+            "WEEK" -> codeDao.getPackagesByWeek(date)
+            else -> codeDao.getPackagesByDay(date)
+        }
+    }
+
+    fun getCourierStats(date: Long, dateType: String) = when(dateType) {
+        "WEEK" -> codeDao.getCourierStatsByWeek(date)
+        "MONTH" -> codeDao.getCourierStatsByMonth(date)
+        "YEAR" -> codeDao.getCourierStatsByYear(date)
+        else -> codeDao.getCourierStatsByWeek(date)
+    }
+
+//    fun getStats(date: Long, dateType: String) = when(dateType) {
+//        "WEEK" -> codeDao.getDailyStatsByWeek(date)
+//        "MONTH" -> codeDao.getMonthlyStats(date)
+//        "YEAR" -> codeDao.getYearlyStats(date)
+//        else -> codeDao.getDailyStatsByWeek(date)
+//    }
+
+
+    @WorkerThread
+    fun getPackagesByDay(date: Long): List<Code> {
+        return codeDao.getNewPackagesByDay(date)
+    }
+
+    fun getYearlyHeatmap(date: Long) = codeDao.getYearlyHeatmap(date)
+
+    fun getWeeklyStats(date: Long, weekCount: Int) = codeDao.getWeeklyStats(date, weekCount)
+    
+    fun getMonthlyStats(date: Long) = codeDao.getMonthlyStats(date)
+
+
+    fun getYearlyStats(date: Long) = codeDao.getYearlyStats(date)
+
+    fun getYearMonthlyStats(date: Long) = codeDao.getYearMonthlyStats(date)
+
 }
\ No newline at end of file

--
Gitblit v1.9.3