feat: update article user levels stats

This commit is contained in:
hanif salafi 2025-04-18 02:22:16 +07:00
parent b04079a554
commit 0132adf918
1 changed files with 8 additions and 4 deletions

View File

@ -200,19 +200,23 @@ func (_i *articlesRepository) ArticlePerUserLevelStats(userLevelId *uint, levelN
name,
level_number,
parent_level_id,
CASE
WHEN level_number = 2 THEN id
CASE
WHEN level_number = 1 THEN id
WHEN level_number = 2 and name ILIKE '%polda%' THEN id
WHEN level_number = 2 and name NOT ILIKE '%polda%' THEN parent_level_id
WHEN level_number = 3 THEN parent_level_id
END AS level_2_id,
CASE
WHEN level_number = 2 THEN name
WHEN level_number = 1 THEN name
WHEN level_number = 2 and name ILIKE '%polda%' THEN name
WHEN level_number = 2 and name NOT ILIKE '%polda%' THEN (SELECT name FROM user_levels ul2 WHERE ul2.id = user_levels.parent_level_id)
WHEN level_number = 3 THEN (SELECT name FROM user_levels ul2 WHERE ul2.id = user_levels.parent_level_id)
END AS level_2_name
FROM user_levels
)
SELECT
lh.level_2_id AS user_level_id,
lh.level_2_name AS user_level_name,
UPPER(lh.level_2_name) AS user_level_name,
COUNT(articles.id) AS total_article
FROM articles
JOIN users ON articles.created_by_id = users.id