From 37539ae8a8f240d961ed78fe80b90dc544e85087 Mon Sep 17 00:00:00 2001 From: Charles7c Date: Thu, 16 Oct 2025 20:11:52 +0800 Subject: [PATCH] =?UTF-8?q?fix(system/message):=20=E4=BF=AE=E5=A4=8D?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E7=94=A8=E6=88=B7=E6=9C=AA=E8=AF=BB=E6=B6=88?= =?UTF-8?q?=E6=81=AF=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Closes #ID2803 --- .../model/resp/message/MessageDetailResp.java | 18 ++++++------------ .../main/resources/mapper/MessageMapper.xml | 9 +++------ 2 files changed, 9 insertions(+), 18 deletions(-) diff --git a/continew-system/src/main/java/top/continew/admin/system/model/resp/message/MessageDetailResp.java b/continew-system/src/main/java/top/continew/admin/system/model/resp/message/MessageDetailResp.java index 94259b8d..24597c37 100644 --- a/continew-system/src/main/java/top/continew/admin/system/model/resp/message/MessageDetailResp.java +++ b/continew-system/src/main/java/top/continew/admin/system/model/resp/message/MessageDetailResp.java @@ -81,21 +81,15 @@ public class MessageDetailResp implements Serializable { @Schema(description = "通知用户", example = "[1,2]") private List users; - /** - * 是否已读 - */ - @Schema(description = "是否已读", example = "true") - private Boolean isRead; - - /** - * 读取时间 - */ - @Schema(description = "读取时间", example = "2023-08-08 23:59:59", type = "string") - private LocalDateTime readTime; - /** * 创建时间 */ @Schema(description = "创建时间", example = "2023-08-08 08:08:08", type = "string") private LocalDateTime createTime; + + /** + * 是否已读 + */ + @Schema(description = "是否已读", example = "true") + private Boolean isRead; } \ No newline at end of file diff --git a/continew-system/src/main/resources/mapper/MessageMapper.xml b/continew-system/src/main/resources/mapper/MessageMapper.xml index 5427e119..cd8a2dd2 100644 --- a/continew-system/src/main/resources/mapper/MessageMapper.xml +++ b/continew-system/src/main/resources/mapper/MessageMapper.xml @@ -18,12 +18,12 @@ t2.read_time IS NOT NULL AS isRead, t2.read_time AS readTime FROM sys_message AS t1 - LEFT JOIN sys_message_log AS t2 ON t2.message_id = t1.id + LEFT JOIN sys_message_log AS t2 ON t2.message_id = t1.id AND t2.user_id = #{query.userId} - (t1.scope = 1 OR (t1.scope = 2 AND JSON_EXTRACT(t1.users, "$[0]") = CAST(#{query.userId} AS CHAR))) + (t1.scope = 1 OR (t1.scope = 2 AND JSON_CONTAINS(t1.users, CONCAT('"', #{query.userId}, '"')))) (t1.scope = 1 OR (t1.scope = 2 AND t1.users::jsonb @> jsonb_build_array(#{query.userId}::text))) @@ -52,11 +52,8 @@ t1.path, t1.scope, t1.users, - t1.create_time, - t2.read_time IS NOT NULL AS isRead, - t2.read_time AS readTime + t1.create_time FROM sys_message AS t1 - LEFT JOIN sys_message_log AS t2 ON t2.message_id = t1.id WHERE t1.id = #{id}