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}