feat: update article user levels stats

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

View File

@ -200,19 +200,23 @@ func (_i *articlesRepository) ArticlePerUserLevelStats(userLevelId *uint, levelN
name, name,
level_number, level_number,
parent_level_id, parent_level_id,
CASE CASE
WHEN level_number = 2 THEN id 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 WHEN level_number = 3 THEN parent_level_id
END AS level_2_id, END AS level_2_id,
CASE 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) WHEN level_number = 3 THEN (SELECT name FROM user_levels ul2 WHERE ul2.id = user_levels.parent_level_id)
END AS level_2_name END AS level_2_name
FROM user_levels FROM user_levels
) )
SELECT SELECT
lh.level_2_id AS user_level_id, 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 COUNT(articles.id) AS total_article
FROM articles FROM articles
JOIN users ON articles.created_by_id = users.id JOIN users ON articles.created_by_id = users.id