Files
group_xinghuo_jinrong/scripts/agent/seed-analyst-query-templates.sql
T

129 lines
4.8 KiB
SQL
Raw Normal View History

-- 数据分析 Agent · 已发布 SQL 模板种子(D-06 · 原句 match_phrases 优先)
-- 用法:mysql -u root -p jinrong_agent < scripts/agent/seed-analyst-query-templates.sql
USE jinrong_agent;
DELETE FROM analytics_query_template WHERE created_by = 'SEED';
INSERT INTO analytics_query_template
(template_key, template_sql, params_schema, tags, status, version, created_by, published_by)
VALUES
(
'customer_total_count',
'SELECT COUNT(*) AS customer_count FROM core_customer',
JSON_OBJECT(
'match_phrases', JSON_ARRAY('平台客户总数是多少'),
'prompt_label', '客户总数',
'featured', true
),
JSON_ARRAY('客户', '总数'),
'published',
1,
'SEED',
'SEED'
),
(
'subscribe_amount_recent_days',
'SELECT COALESCE(SUM(amount), 0) AS subscribe_total FROM core_trade WHERE trade_type = ''subscribe'' AND trade_date >= DATE_SUB(CURDATE(), INTERVAL :days DAY)',
JSON_OBJECT(
'match_phrases', JSON_ARRAY('近30天申购金额总额', '申购金额汇总'),
'prompt_label', '申购金额',
'featured', true,
'params', JSON_ARRAY(
JSON_OBJECT(
'name', 'days',
'placeholder', ':days',
'extract', 'recent_days',
'default', 30
)
)
),
JSON_ARRAY('申购', '金额', '近30天'),
'published',
1,
'SEED',
'SEED'
),
(
'pending_alert_count',
'SELECT COUNT(*) AS pending_count FROM jinrong_agent.risk_alert WHERE status = ''pending_review''',
JSON_OBJECT(
'match_phrases', JSON_ARRAY('待处理预警有多少'),
'prompt_label', '待处理预警',
'featured', true
),
JSON_ARRAY('待处理', '预警'),
'published',
1,
'SEED',
'SEED'
),
(
'total_holding_aum',
'SELECT COALESCE(SUM(market_value), 0) AS total_aum FROM core_holding',
JSON_OBJECT(
'match_phrases', JSON_ARRAY('全平台持仓规模是多少'),
'prompt_label', '持仓规模',
'featured', false
),
JSON_ARRAY('持仓', '规模', 'AUM'),
'published',
1,
'SEED',
'SEED'
),
(
'customer_self_trade_count_recent',
'SELECT COUNT(*) AS trade_count FROM core_trade WHERE customer_id = '':customer_id'' AND trade_date >= DATE_SUB(CURDATE(), INTERVAL :days DAY)',
JSON_OBJECT(
'match_phrases', JSON_ARRAY('我近30天有多少笔交易'),
'prompt_label', '我的交易笔数',
'params', JSON_ARRAY(
JSON_OBJECT(
'name', 'customer_id',
'placeholder', ':customer_id',
'extract', 'scope_customer'
),
JSON_OBJECT(
'name', 'days',
'placeholder', ':days',
'extract', 'recent_days',
'default', 30
)
)
),
JSON_ARRAY('客户', '交易', '笔数', 'self'),
'published',
1,
'SEED',
'SEED'
),
(
'product_nav_max_min_latest',
'(SELECT ''max'' AS extremum, n.product_id, p.product_name, n.nav_date, n.nav, n.daily_chg_pct FROM core_product_nav n INNER JOIN core_product p ON p.product_id = n.product_id WHERE n.nav_date = (SELECT MAX(nav_date) FROM core_product_nav) ORDER BY n.nav DESC LIMIT 1) UNION ALL (SELECT ''min'' AS extremum, n.product_id, p.product_name, n.nav_date, n.nav, n.daily_chg_pct FROM core_product_nav n INNER JOIN core_product p ON p.product_id = n.product_id WHERE n.nav_date = (SELECT MAX(nav_date) FROM core_product_nav) ORDER BY n.nav ASC LIMIT 1)',
JSON_OBJECT(
'match_phrases', JSON_ARRAY('目前净值最高和最低的两个产品', '最新净值日单位净值最高和最低各一只产品'),
'prompt_label', '净值高低(最新日)',
'featured', true
),
JSON_ARRAY('产品', '净值', '最高', '最低'),
'published',
1,
'SEED',
'SEED'
),
(
'product_nav_chg_max_min_latest',
'(SELECT ''max'' AS extremum, n.product_id, p.product_name, n.nav_date, n.nav, n.daily_chg_pct FROM core_product_nav n INNER JOIN core_product p ON p.product_id = n.product_id WHERE n.nav_date = (SELECT MAX(nav_date) FROM core_product_nav) ORDER BY n.daily_chg_pct DESC LIMIT 1) UNION ALL (SELECT ''min'' AS extremum, n.product_id, p.product_name, n.nav_date, n.nav, n.daily_chg_pct FROM core_product_nav n INNER JOIN core_product p ON p.product_id = n.product_id WHERE n.nav_date = (SELECT MAX(nav_date) FROM core_product_nav) ORDER BY n.daily_chg_pct ASC LIMIT 1)',
JSON_OBJECT(
'match_phrases', JSON_ARRAY('最新净值日涨跌幅最高和最低各一只产品'),
'prompt_label', '涨跌幅高低(最新日)',
'featured', true
),
JSON_ARRAY('产品', '涨幅', '最高', '最低'),
'published',
1,
'SEED',
'SEED'
);