message概览
parent
b14c1d6c6d
commit
e5b0ff6fc0
|
|
@ -82,4 +82,7 @@ public class SysMessage extends BaseEntity
|
||||||
@JsonSerialize(using = ToStringSerializer.class)
|
@JsonSerialize(using = ToStringSerializer.class)
|
||||||
private Long sortNewId;
|
private Long sortNewId;
|
||||||
|
|
||||||
|
@TableField(exist = false)
|
||||||
|
private Integer unreadCount;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -101,6 +101,9 @@ public class SysMessageServiceImpl extends ServiceImpl<SysMessageMapper, SysMess
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public List<SysMessage> getMsgOverview(SysMessage sysMessage) {
|
public List<SysMessage> getMsgOverview(SysMessage sysMessage) {
|
||||||
|
if (!SecurityUtils.isAdmin()) {
|
||||||
|
sysMessage.setReceiver(SecurityUtils.getUserId());
|
||||||
|
}
|
||||||
return baseMapper.getMsgOverview(sysMessage);
|
return baseMapper.getMsgOverview(sysMessage);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -126,30 +126,31 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
<select id="getMsgOverview" parameterType="SysMessage" resultMap="SysMessageResult">
|
<select id="getMsgOverview" parameterType="SysMessage" resultMap="SysMessageResult">
|
||||||
SELECT
|
SELECT
|
||||||
*
|
t.*,
|
||||||
FROM
|
IFNULL(s.unread_count, 0) AS unread_count
|
||||||
(
|
FROM (
|
||||||
SELECT
|
SELECT
|
||||||
`imei`,
|
imei, receiver, title, msg_type, read_status,
|
||||||
`receiver`,
|
content, rich_content, img_url, link_url,
|
||||||
`title`,
|
create_time, id,
|
||||||
`msg_type`,
|
|
||||||
`read_status`,
|
|
||||||
`content`,
|
|
||||||
`rich_content`,
|
|
||||||
`img_url`,
|
|
||||||
`link_url`,
|
|
||||||
`create_time`, -- 必须加
|
|
||||||
`id`, -- 必须加
|
|
||||||
ROW_NUMBER() OVER (PARTITION BY msg_type ORDER BY create_time DESC, id DESC) AS rn
|
ROW_NUMBER() OVER (PARTITION BY msg_type ORDER BY create_time DESC, id DESC) AS rn
|
||||||
FROM
|
FROM
|
||||||
sys_message d
|
sys_message
|
||||||
WHERE
|
WHERE
|
||||||
-- 正确写法:包含今天所有时间
|
create_time >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
|
||||||
d.create_time >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
|
AND create_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||||
AND d.create_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
and receiver = #{receiver}
|
||||||
) t
|
) t
|
||||||
WHERE
|
LEFT JOIN (
|
||||||
t.rn = 1;
|
SELECT msg_type, COUNT(*) AS unread_count
|
||||||
|
FROM sys_message
|
||||||
|
WHERE read_status = 0
|
||||||
|
AND create_time >= DATE_SUB(CURDATE(), INTERVAL 7 DAY)
|
||||||
|
AND create_time < DATE_ADD(CURDATE(), INTERVAL 1 DAY)
|
||||||
|
and receiver = #{receiver}
|
||||||
|
GROUP BY msg_type
|
||||||
|
) s ON t.msg_type = s.msg_type
|
||||||
|
WHERE t.rn = 1;
|
||||||
|
|
||||||
</select>
|
</select>
|
||||||
</mapper>
|
</mapper>
|
||||||
Loading…
Reference in New Issue