From 1a281d8354622a3606360f9f9a7fe4bb7d6a2c3a Mon Sep 17 00:00:00 2001
From: cloudroam <cloudroam>
Date: 星期日, 27 四月 2025 13:22:26 +0800
Subject: [PATCH] fix 短信
---
app/src/main/java/com/example/firstapp/database/repository/CodeRepository.kt | 81 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 79 insertions(+), 2 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 e30fe19..19b6579 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,9 @@
import androidx.annotation.WorkerThread
import com.example.firstapp.database.dao.CodeDao
import com.example.firstapp.database.entity.Code
+import com.example.firstapp.model.DailyStat
+import com.example.firstapp.model.StationGroup
+import kotlinx.coroutines.flow.Flow
class CodeRepository(private val codeDao: CodeDao) {
@@ -13,6 +16,9 @@
@WorkerThread
fun delete(id: Long) = codeDao.delete(id)
+ @WorkerThread
+ fun deleteAll() = codeDao.deleteAll()
+
fun getAll() = codeDao.getAllCodes()
fun getAllDesc() = codeDao.getAllCodesDesc()
@@ -22,8 +28,79 @@
return codeDao.getByKeyword(keyword)
}
- fun queryByTypeAndCodeAndDate(content: String, code: String, dateString: String): Code {
- return codeDao.queryByTypeAndCodeAndDate(content,code,dateString)
+ @WorkerThread
+ 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 getPackagesReaded(date: Long, dateType: String): Flow<List<Code>> {
+ return when (dateType) {
+ "DAY" -> codeDao.getPackagesByDayReaded(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)
+
+
+ fun getCurrentWeekStats(date: Long) = codeDao.getCurrentWeekStats(date)
+
+ fun getCurrentYearStats(date: Long) = codeDao.getCurrentYearStats(date)
+
+ @WorkerThread
+ fun getStationsByType(type: String): List<StationGroup> {
+ return codeDao.getStationsByType(type)
+ }
+
+ @WorkerThread
+ fun getPackagesByTypeAndStation(type: String, stationName: String): List<Code> {
+ return codeDao.getPackagesByTypeAndStation(type, stationName)
+ }
+
+ fun getCurrentWeekStats2(startDateCur: String, endDateCur: String) = codeDao.getCurrentWeekStats2(startDateCur,endDateCur)
+ fun getWeeklyStatsChart(startDateCur: String, endDateCur: String): Flow<List<DailyStat>> = codeDao.getWeeklyStatsChart(startDateCur,endDateCur)
+ fun getDateStatsByType(startDateCur: String, endDateCur: String, type: String) = codeDao.getDateStatsByType(startDateCur,endDateCur,type)
+
}
\ No newline at end of file
--
Gitblit v1.9.3