-- 数据分析 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' );