From 97745e7ad15fb3d175f81dfdd2f24269e8fdfefd Mon Sep 17 00:00:00 2001 From: cloudroam <cloudroam> Date: 星期四, 03 四月 2025 15:04:27 +0800 Subject: [PATCH] fix : 编译报错 --- app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt | 26 +++++++++++++++----------- 1 files changed, 15 insertions(+), 11 deletions(-) diff --git a/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt b/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt index c494471..7572a45 100644 --- a/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt +++ b/app/src/main/java/com/example/firstapp/database/dao/CodeDao.kt @@ -55,8 +55,14 @@ """) fun getByKeyword(keyword: String): List<Code> - @Query("SELECT * FROM Code WHERE oneLevel = :content and code= :code and createTime = :dateString LIMIT 1") - fun queryByTypeAndCodeAndDate(content: String, code: String, dateString: String): Code + @Query(""" + SELECT * FROM Code + WHERE category = :category + AND code = :code + AND substr(createTime, 1, 10) = substr(:dateString, 1, 10) + LIMIT 1 + """) + fun queryByTypeAndCodeAndDate(category: String, code: String, dateString: String): Code? @Query("update Code set pickup = '1' , pickuptime = CURRENT_TIMESTAMP where id=:id") @@ -86,10 +92,8 @@ @Query(""" WITH RECURSIVE dates(date_value) AS ( - -- 从当前日期往前3周的周一开始 SELECT date(datetime(:date/1000, 'unixepoch', 'localtime'), 'weekday 0', '-21 days') as date_value UNION ALL - -- 每次加7天,直到后2周 SELECT date(date_value, '+7 days') FROM dates WHERE date_value < date(datetime(:date/1000, 'unixepoch', 'localtime'), 'weekday 0', '+14 days') @@ -97,7 +101,7 @@ SELECT strftime('%Y-%m-%d', date_value) as date, COUNT(c.id) as count, - date_value as weekStart + strftime('%Y-%m-%d', date_value) as weekStart FROM dates d LEFT JOIN code c ON strftime('%Y-%m-%d', c.createTime) BETWEEN strftime('%Y-%m-%d', d.date_value) @@ -166,7 +170,7 @@ SELECT strftime('%Y', year_start) as date, COUNT(code.id) as count, - year_start as week_start + strftime('%Y-%m-%d', year_start) as weekStart FROM years LEFT JOIN code ON strftime('%Y', code.createTime) = strftime('%Y', years.year_start) GROUP BY years.year_start @@ -202,9 +206,9 @@ WHERE date < date(datetime(:date/1000, 'unixepoch', 'localtime'), 'start of month', '+1 month', '-1 day') ) SELECT - strftime('%d', days.date) || '' as date, -- 确保 date 不为空 + strftime('%d', days.date) || '' as date, COUNT(code.id) as count, - days.date as week_start + strftime('%Y-%m-%d', days.date) as weekStart FROM days LEFT JOIN code ON date(code.createTime) = days.date GROUP BY days.date @@ -223,7 +227,7 @@ SELECT strftime('%m', month_start) as date, COUNT(code.id) as count, - month_start as weekStart + strftime('%Y-%m-%d', month_start) as weekStart FROM months LEFT JOIN code ON strftime('%Y-%m', code.createTime) = strftime('%Y-%m', months.month_start) GROUP BY months.month_start @@ -244,7 +248,7 @@ SELECT strftime('%Y-%m-%d', days.date) as date, COUNT(code.id) as count, - days.date as weekStart + strftime('%Y-%m-%d', days.date) as weekStart FROM days LEFT JOIN code ON date(code.createTime) = days.date GROUP BY days.date @@ -257,7 +261,7 @@ SELECT strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) as date, COUNT(id) as count, - datetime(:date/1000, 'unixepoch', 'localtime') as weekStart + strftime('%Y-%m-%d', datetime(:date/1000, 'unixepoch', 'localtime')) as weekStart FROM code WHERE strftime('%Y', createTime) = strftime('%Y', datetime(:date/1000, 'unixepoch', 'localtime')) """) -- Gitblit v1.9.3