[P0] 评估报告AI日志表缺少数据库DDL脚本 #2

Open
opened 2026-01-18 17:03:23 +08:00 by tangweijie · 0 comments
Owner

问题描述

EvaluationAiLogDO 实体类没有对应的数据库表 SQL 脚本,且缺少 @KeySequence 注解。

涉及文件

  • backend/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationAiLogDO.java

问题详情

1. 缺少数据库表 DDL

EvaluationAiLogDO 使用 @TableName("prison_evaluation_ai_log"),但在 prison_module.sql 中没有创建该表的 SQL 脚本。

2. 缺少序列注解

该 DO 没有 @KeySequence 注解,可能导致 MyBatis-Plus 主键生成问题。

建议修复

prison_module.sql 中添加以下 DDL:

-- AI生成日志表 (prison_evaluation_ai_log)
CREATE TABLE IF NOT EXISTS `prison_evaluation_ai_log` (
    `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID',
    `report_id` bigint NOT NULL COMMENT '报告ID',
    `dimension_id` bigint DEFAULT NULL COMMENT '维度ID',
    `prompt` text COMMENT '输入提示词',
    `response` text COMMENT 'AI响应内容',
    `model` varchar(100) DEFAULT NULL COMMENT '使用的AI模型',
    `tokens` int DEFAULT NULL COMMENT '消耗的Token数',
    `duration` int DEFAULT NULL COMMENT '生成耗时(ms)',
    `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0-失败 1-成功',
    `error_msg` text 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_evaluation_ai_log_report_id` (`report_id`),
    KEY `idx_evaluation_ai_log_dimension_id` (`dimension_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI生成日志表';

同时在 EvaluationAiLogDO 中添加:

@KeySequence("prison_evaluation_ai_log_seq")
@TableName("prison_evaluation_ai_log")

优先级

P0 (Critical)

标签

bug, backend, database

## 问题描述 `EvaluationAiLogDO` 实体类没有对应的数据库表 SQL 脚本,且缺少 `@KeySequence` 注解。 ## 涉及文件 - `backend/yudao-module-prison/src/main/java/cn/iocoder/yudao/module/prison/dal/dataobject/evaluationreport/EvaluationAiLogDO.java` ## 问题详情 ### 1. 缺少数据库表 DDL `EvaluationAiLogDO` 使用 `@TableName("prison_evaluation_ai_log")`,但在 `prison_module.sql` 中没有创建该表的 SQL 脚本。 ### 2. 缺少序列注解 该 DO 没有 `@KeySequence` 注解,可能导致 MyBatis-Plus 主键生成问题。 ## 建议修复 在 `prison_module.sql` 中添加以下 DDL: ```sql -- AI生成日志表 (prison_evaluation_ai_log) CREATE TABLE IF NOT EXISTS `prison_evaluation_ai_log` ( `id` bigint NOT NULL AUTO_INCREMENT COMMENT '日志ID', `report_id` bigint NOT NULL COMMENT '报告ID', `dimension_id` bigint DEFAULT NULL COMMENT '维度ID', `prompt` text COMMENT '输入提示词', `response` text COMMENT 'AI响应内容', `model` varchar(100) DEFAULT NULL COMMENT '使用的AI模型', `tokens` int DEFAULT NULL COMMENT '消耗的Token数', `duration` int DEFAULT NULL COMMENT '生成耗时(ms)', `status` tinyint NOT NULL DEFAULT 0 COMMENT '状态:0-失败 1-成功', `error_msg` text 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_evaluation_ai_log_report_id` (`report_id`), KEY `idx_evaluation_ai_log_dimension_id` (`dimension_id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci COMMENT='AI生成日志表'; ``` 同时在 `EvaluationAiLogDO` 中添加: ```java @KeySequence("prison_evaluation_ai_log_seq") @TableName("prison_evaluation_ai_log") ``` ## 优先级 P0 (Critical) ## 标签 bug, backend, database
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tangweijie/xlcp-backend#2
No description provided.