This commit is contained in:
oneao committed 2026-01-03 22:02:11 +08:00
1 parent c26d1b3c81
commit fac3206497
24 files changed
+364 -284

No files matched your search

@@ -163,41 +163,28 @@
t.commentCount,
t.activeTime
FROM (
SELECT
SELECT
p.b_id AS id,
p.b_title AS title,
p.b_tag AS tagsString,
p.b_company_id AS companyId,
bc.b_name AS companyName,
ISNULL(pv.viewCount, 0) AS viewCount,
ISNULL(pc.commentCount, 0) AS commentCount,
ISNULL(ps.b_view_count, 0) AS viewCount,
ISNULL(ps.b_comment_count, 0) AS commentCount,
-- 活跃时间:最后评论时间优先
ISNULL(pc.lastCommentTime, p.b_update_time) AS activeTime,
p.b_active_time AS activeTime,
ROW_NUMBER() OVER (
ORDER BY ISNULL(pc.lastCommentTime, p.b_update_time) DESC
) AS rn
ORDER BY p.b_update_time DESC
) AS rn
FROM b_post p
LEFT JOIN b_company bc ON bc.b_id = p.b_company_id
LEFT JOIN (
SELECT
b_post_id,
COUNT(1) AS viewCount
FROM b_post_view
GROUP BY b_post_id
) pv ON pv.b_post_id = p.b_id
LEFT JOIN (
SELECT
b_post_id,
COUNT(1) AS commentCount,
MAX(b_create_time) AS lastCommentTime
FROM b_post_comment
GROUP BY b_post_id
) pc ON pc.b_post_id = p.b_id
LEFT JOIN b_company bc
ON bc.b_id = p.b_company_id
LEFT JOIN b_post_stat ps
ON ps.b_post_id = p.b_id
<where>
AND p.b_status = 1
p.b_status = 1
<if test="title != null and title != ''">
AND p.b_title LIKE '%' + #{title} + '%'
</if>
@@ -205,10 +192,11 @@
AND p.b_tag LIKE '%' + #{tag} + '%'
</if>
</where>
) t
) t
WHERE t.rn BETWEEN #{offset} AND #{limit}
</select>
<select id="selectPublicPostTotal" resultType="java.lang.Long">
SELECT COUNT(1)
FROM b_post p