-- =====================================================
-- XL监狱综合管理平台 - LLM调用日志表
-- 生成时间: 2026-01-15
-- =====================================================

-- =====================================================
-- LLM调用日志表 (prison_risk_assessment_llm_log)
-- =====================================================
CREATE TABLE IF NOT EXISTS `prison_risk_assessment_llm_log` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
    `assessment_id` bigint DEFAULT NULL COMMENT '关联的评估记录ID',
    `prisoner_id` bigint NOT NULL COMMENT '罪犯ID',
    `prisoner_no` varchar(50) NOT NULL COMMENT '罪犯编号',
    `model` varchar(100) NOT NULL COMMENT '使用的模型',
    `prompt` text NOT NULL COMMENT '发送的提示词（脱敏后）',
    `response` text NOT NULL COMMENT '模型响应原始内容',
    `risk_level` tinyint DEFAULT NULL COMMENT '评估风险等级',
    `confidence` decimal(4,2) DEFAULT NULL COMMENT '置信度',
    `evaluation_time_ms` int DEFAULT NULL COMMENT '评估耗时（毫秒）',
    `status` tinyint NOT NULL DEFAULT 1 COMMENT '状态：1-成功 2-失败 3-降级',
    `error_message` text DEFAULT NULL COMMENT '错误信息',
    `requires_human_review` bit(1) DEFAULT b'0 COMMENT '是否需要人工复核',
    `assessor_id` bigint DEFAULT NULL COMMENT '评估人ID',
    `assessor_name` varchar(100) DEFAULT NULL COMMENT '评估人姓名',
    `creator` varchar(64) DEFAULT '' COMMENT '创建者',
    `create_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
    `updater` varchar(64) DEFAULT '' COMMENT '更新者',
    `update_time` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '更新时间',
    `deleted` bit(1) NOT NULL DEFAULT b'0 COMMENT '是否删除',
    `tenant_id` bigint NOT NULL DEFAULT 0 COMMENT '租户编号',
    PRIMARY KEY (`id`),
    KEY `idx_llm_log_prisoner_id` (`prisoner_id`),
    KEY `idx_llm_log_assessment_id` (`assessment_id`),
    KEY `idx_llm_log_create_time` (`create_time`),
    KEY `idx_llm_log_status` (`status`)
) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='LLM危险评估调用日志表';

-- =====================================================
-- 菜单权限配置
-- =====================================================

-- 危险评估模块菜单（已有）

-- LLM评估功能权限
-- 提示：以下权限需要在前端菜单配置中手动添加
-- 路径：系统管理 -> 菜单管理 -> 监狱管理 -> 危险评估
-- 添加子菜单：LLM智能评估
-- 权限标识：prison:risk-assessment:llm-assess

-- SQL示例：添加权限（如果使用代码生成器则自动生成）
-- INSERT INTO system_permission (name, permission, type, sort, path, icon, component)
-- VALUES ('LLM智能评估', 'prison:risk-assessment:llm-assess', 2, 10, 'llm-assess', 'icon', 'prison/riskassessment/llm-assess');

-- INSERT INTO system_menu_permission (menu_id, permission_id)
-- SELECT m.id, p.id FROM system_menu m, system_permission p
-- WHERE m.path = 'riskassessment' AND p.permission = 'prison:risk-assessment:llm-assess';

-- =====================================================
-- 配置项说明
-- =====================================================
-- 在 application.yaml 或环境配置文件中添加LLM配置：
--
-- # Claude API配置
-- llm:
--   claude:
--     api-key: your-api-key-here
--     timeout-seconds: 30
--
-- 或使用环境变量：
-- LLM_CLAUDE_API_KEY=your-api-key-here
