fix(aihr): close Figma UI regression gaps

This commit is contained in:
2026-07-17 04:17:14 +08:00
parent a822b22116
commit e93421ca1e
35 changed files with 1452 additions and 107 deletions
@@ -118,6 +118,9 @@ CREATE TABLE IF NOT EXISTS `aihr_practice_assignment` (
`scenario_name` varchar(100) DEFAULT NULL COMMENT '场景名称',
`source` varchar(30) NOT NULL DEFAULT 'manual' COMMENT '来源 daily/camp/retry/manual',
`reason` varchar(500) DEFAULT NULL COMMENT '派发原因',
`task_goal` varchar(200) DEFAULT NULL COMMENT '训练目标',
`task_requirements` varchar(500) DEFAULT NULL COMMENT '任务要求',
`due_time` datetime DEFAULT NULL COMMENT '截止时间',
`status` varchar(30) NOT NULL DEFAULT '待训练' COMMENT '状态',
`answer_text` varchar(1000) DEFAULT NULL COMMENT '每日三题作答',
`answer_audio_url` varchar(500) DEFAULT NULL COMMENT '每日三题语音回放地址',
@@ -21,6 +21,8 @@ CREATE TABLE IF NOT EXISTS `aihr_knowledge_answer_feedback` (
`query_norm` varchar(500) NOT NULL COMMENT '规范化问题',
`fragment_id` bigint NOT NULL COMMENT '知识片段ID',
`verdict` varchar(10) NOT NULL COMMENT '反馈: up/down',
`feedback_reason_codes` varchar(255) DEFAULT NULL COMMENT '未解决原因代码',
`feedback_comment` varchar(500) DEFAULT NULL COMMENT '未解决补充说明',
`category` varchar(100) DEFAULT NULL COMMENT '知识分类',
`position` varchar(80) DEFAULT NULL COMMENT '岗位',
`source` varchar(50) DEFAULT 'knowledge_search' COMMENT '来源',
@@ -59,6 +61,38 @@ PREPARE aihr_feedback_review_id_stmt FROM @aihr_feedback_review_id_ddl;
EXECUTE aihr_feedback_review_id_stmt;
DEALLOCATE PREPARE aihr_feedback_review_id_stmt;
SET @aihr_feedback_reason_codes_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'aihr_knowledge_answer_feedback'
AND COLUMN_NAME = 'feedback_reason_codes'
);
SET @aihr_feedback_reason_codes_ddl := IF(
@aihr_feedback_table_exists = 1 AND @aihr_feedback_reason_codes_exists = 0,
'ALTER TABLE aihr_knowledge_answer_feedback ADD COLUMN `feedback_reason_codes` varchar(255) DEFAULT NULL COMMENT ''未解决原因代码'' AFTER `verdict`',
'SELECT 1'
);
PREPARE aihr_feedback_reason_codes_stmt FROM @aihr_feedback_reason_codes_ddl;
EXECUTE aihr_feedback_reason_codes_stmt;
DEALLOCATE PREPARE aihr_feedback_reason_codes_stmt;
SET @aihr_feedback_comment_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'aihr_knowledge_answer_feedback'
AND COLUMN_NAME = 'feedback_comment'
);
SET @aihr_feedback_comment_ddl := IF(
@aihr_feedback_table_exists = 1 AND @aihr_feedback_comment_exists = 0,
'ALTER TABLE aihr_knowledge_answer_feedback ADD COLUMN `feedback_comment` varchar(500) DEFAULT NULL COMMENT ''未解决补充说明'' AFTER `feedback_reason_codes`',
'SELECT 1'
);
PREPARE aihr_feedback_comment_stmt FROM @aihr_feedback_comment_ddl;
EXECUTE aihr_feedback_comment_stmt;
DEALLOCATE PREPARE aihr_feedback_comment_stmt;
SET @aihr_feedback_reviewer_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
@@ -0,0 +1,57 @@
-- AIHR 主管训练指派字段契约(MySQL 8.x)
-- 补齐训练目标、任务要求和截止时间;不写入业务数据,可重复执行。
SET @aihr_assignment_table_exists := (
SELECT COUNT(*)
FROM information_schema.TABLES
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'aihr_practice_assignment'
);
SET @aihr_assignment_goal_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'aihr_practice_assignment'
AND COLUMN_NAME = 'task_goal'
);
SET @aihr_assignment_goal_ddl := IF(
@aihr_assignment_table_exists = 1 AND @aihr_assignment_goal_exists = 0,
'ALTER TABLE aihr_practice_assignment ADD COLUMN `task_goal` varchar(200) DEFAULT NULL COMMENT ''训练目标'' AFTER `reason`',
'SELECT 1'
);
PREPARE aihr_assignment_goal_stmt FROM @aihr_assignment_goal_ddl;
EXECUTE aihr_assignment_goal_stmt;
DEALLOCATE PREPARE aihr_assignment_goal_stmt;
SET @aihr_assignment_requirements_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'aihr_practice_assignment'
AND COLUMN_NAME = 'task_requirements'
);
SET @aihr_assignment_requirements_ddl := IF(
@aihr_assignment_table_exists = 1 AND @aihr_assignment_requirements_exists = 0,
'ALTER TABLE aihr_practice_assignment ADD COLUMN `task_requirements` varchar(500) DEFAULT NULL COMMENT ''任务要求'' AFTER `task_goal`',
'SELECT 1'
);
PREPARE aihr_assignment_requirements_stmt FROM @aihr_assignment_requirements_ddl;
EXECUTE aihr_assignment_requirements_stmt;
DEALLOCATE PREPARE aihr_assignment_requirements_stmt;
SET @aihr_assignment_due_exists := (
SELECT COUNT(*)
FROM information_schema.COLUMNS
WHERE TABLE_SCHEMA = DATABASE()
AND TABLE_NAME = 'aihr_practice_assignment'
AND COLUMN_NAME = 'due_time'
);
SET @aihr_assignment_due_ddl := IF(
@aihr_assignment_table_exists = 1 AND @aihr_assignment_due_exists = 0,
'ALTER TABLE aihr_practice_assignment ADD COLUMN `due_time` datetime DEFAULT NULL COMMENT ''截止时间'' AFTER `task_requirements`',
'SELECT 1'
);
PREPARE aihr_assignment_due_stmt FROM @aihr_assignment_due_ddl;
EXECUTE aihr_assignment_due_stmt;
DEALLOCATE PREPARE aihr_assignment_due_stmt;