From 93775e1f3d79a1e11b839abbf24201dafcd9e646 Mon Sep 17 00:00:00 2001 From: tj <1378534974@qq.com> Date: 星期五, 25 四月 2025 13:45:56 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- 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..cafe7ea 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, smsTimestamp: Long): Code? { + return codeDao.queryByTypeAndCodeAndDate(content, code, smsTimestamp) } + @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