--
ALTER TABLE helper_talk ADD talk_type int NULL COMMENT '类型： 1 - 普通对话， 2 - 项目盘点';

--
ALTER TABLE `helper_talk_detail`
ADD COLUMN `project_review_request` text DEFAULT NULL COMMENT '项目盘点请求参数，格式为json',
ADD COLUMN `project_review_response` text DEFAULT NULL COMMENT '项目盘点返回结果，格式为json',
ADD COLUMN `project_review_error` text DEFAULT NULL COMMENT '项目盘点中的错误信息',
ADD COLUMN `general_error` text DEFAULT NULL COMMENT '通用错误信息';


--
DROP TABLE IF EXISTS `ai_model_project_review_param`;
CREATE TABLE `ai_model_project_review_param` (
  `id` bigint(20) NOT NULL COMMENT '主键',
  `model_type` tinyint(4) DEFAULT NULL COMMENT '模型选择: 1-default；',
  `answer_require` varchar(500) DEFAULT NULL COMMENT '答复要求',
  `create_by` varchar(30) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT current_timestamp() COMMENT '创建时间',
  `update_by` varchar(30) DEFAULT NULL COMMENT '更新人',
  `update_time` datetime DEFAULT current_timestamp() ON UPDATE current_timestamp() COMMENT '更新时间',
  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COMMENT='项目盘点大模型参数设置表';

--
DROP TABLE IF EXISTS `customer`;
CREATE TABLE `customer` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `enterprise_id` int(11) NOT NULL COMMENT '企业ID',
  `type` int(1) NOT NULL COMMENT '类型：1：企业客户，2：个人客户',

  `name` varchar(30) DEFAULT NULL COMMENT '名称',
  `tags` varchar(128) DEFAULT NULL COMMENT '客户标签',
  `address` varchar(128) DEFAULT NULL COMMENT '地址',
  `email` varchar(128) DEFAULT NULL COMMENT '电子邮箱',
  `phone` varchar(32) DEFAULT NULL COMMENT '电话',
  `description` varchar(256) DEFAULT NULL COMMENT '备注',

  `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
  `del_by` varchar(64) DEFAULT NULL COMMENT '删除人',
  `del_time` datetime DEFAULT NULL COMMENT '删除时间',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='客户';

DROP TABLE IF EXISTS `project`;
CREATE TABLE `project` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `enterprise_id` int(11) DEFAULT NULL COMMENT '企业ID',
  `type` int(1) DEFAULT NULL COMMENT '类型：1：企业项目，2：个人项目',
  `customer_id` int(11) DEFAULT NULL COMMENT '关联客户ID',

  `code` varchar(32) DEFAULT NULL COMMENT '编码',
  `name` varchar(64) DEFAULT NULL COMMENT '名称',
  `manager` varchar(32) DEFAULT NULL COMMENT '负责人',
  `tags` varchar(128) DEFAULT NULL COMMENT '项目标签',
  `start_date` datetime DEFAULT NULL COMMENT '开始日期',
  `end_date` datetime DEFAULT NULL COMMENT '结束日期',
  `description` varchar(256) DEFAULT NULL COMMENT '备注',

  `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
  `del_by` varchar(64) DEFAULT NULL COMMENT '删除人',
  `del_time` datetime DEFAULT NULL COMMENT '删除时间',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='项目';


DROP TABLE IF EXISTS `project_question_group`;
CREATE TABLE `project_question_group` (
  `id` int(11) NOT NULL AUTO_INCREMENT,

  `code` varchar(32) DEFAULT NULL COMMENT '编码',
  `name` varchar(128) DEFAULT NULL COMMENT '名称',
  `sort_code` varchar(32) DEFAULT NULL COMMENT '排序',
  `description` text DEFAULT NULL COMMENT '备注',

  `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
  `del_by` varchar(64) DEFAULT NULL COMMENT '删除人',
  `del_time` datetime DEFAULT NULL COMMENT '删除时间',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='项目问题分类分组';

INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`) VALUES (1, '000', '初始', '000', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (2, '001', '意向阶段画像', '001', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (3, '002', '立项阶段画像', '002', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (4, '003', '认可阶段画像', '003', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (5, '004', '谈判阶段画像', '004', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (6, '005', '成交阶段画像', '005', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (7, '006', '需求', '006', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (8, '007', '决策链', '007', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (9, '008', '技术选型者', '008', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (10, '009', '用户选型者', '009', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (11, '010', '经济决策者', '010', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (12, '011', '采购选型者', '011', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (13, '012', '其他干系人', '012', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (14, '013', '竞争对手', '013', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (15, '014', '项目采购信息', '014', '');
INSERT INTO `project_question_group` (`id`,`code`,`name`,`sort_code`,`description`)  VALUES (16, '015', '项目其他信息', '015', '');

DROP TABLE IF EXISTS `project_question`;
CREATE TABLE `project_question` (
  `id` int(11) NOT NULL AUTO_INCREMENT,

  `parent_id` int(11) DEFAULT NULL COMMENT '上一级问题id',
  `group_id` int(11) DEFAULT NULL COMMENT '分类分组id',
  `ancestors` varchar(256) DEFAULT NULL COMMENT '层次关系',

  `code` varchar(32) DEFAULT NULL COMMENT '编码（排序）',
  `title` varchar(256) DEFAULT NULL COMMENT '标题（问题内容）',
  `sort_code` varchar(32) DEFAULT NULL COMMENT '排序',
  `description` varchar(256) DEFAULT NULL COMMENT '问题备注',

  `result_type` varchar(32) DEFAULT NULL COMMENT '答案类型：默认为空 文本问答  TEXT 文本问答 BOOL  是否  SINGLESELECT 单选  MULTISELECT 多选',
  `result_select_options` text DEFAULT NULL COMMENT '当resultType为 SingleSelect 或者 MultiSelect 时，此字段为可选项，格式为json格式 [选项1,选项2,选项3,选项4]',
  `skip_value` varchar(32) DEFAULT NULL COMMENT '问题跳过条件',
  `jump_enabled` int(1) DEFAULT 0 COMMENT '当resultType是BOOL ，可以设置是否跳转',
  `jump_value` varchar(32) DEFAULT NULL COMMENT '问题循环条件',
  `jump_to_id` int(11) DEFAULT NULL COMMENT '当满足jumpCondition条件的时候，跳转到哪个问题（同一个问题分类分组下的问题）',

  `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
  `del_by` varchar(64) DEFAULT NULL COMMENT '删除人',
  `del_time` datetime DEFAULT NULL COMMENT '删除时间',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='项目问题';


DROP TABLE IF EXISTS `project_review`;
CREATE TABLE `project_review` (
  `id` int(11) NOT NULL AUTO_INCREMENT,

  `project_id` int(11) DEFAULT NULL COMMENT '关联项目id',
  `chat_id` int(11) DEFAULT NULL COMMENT '关联对话id',
  `status` int DEFAULT NULL COMMENT '状态： 1: 未完成  2： 已完成 3：已终止',
  `status_time` datetime DEFAULT NULL COMMENT '状态对应的时间',
  `status_remark` varchar(512) DEFAULT NULL COMMENT '对状态的备注',
  `current_question_id` int(11) DEFAULT NULL COMMENT '当前盘点问题ID',
  `questions` TEXT DEFAULT NULL COMMENT '系统问题副本',

  `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
  `del_by` varchar(64) DEFAULT NULL COMMENT '删除人',
  `del_time` datetime DEFAULT NULL COMMENT '删除时间',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='项目盘点（复盘）';


DROP TABLE IF EXISTS `project_review_status_event`;
CREATE TABLE `project_review_status_event` (
  `id` int(11) NOT NULL AUTO_INCREMENT,

  `project_review_id` int(11) DEFAULT NULL COMMENT '关联项目盘点（复盘）id',
  `status` int DEFAULT NULL COMMENT '状态： 1: 未完成  2： 已完成 3：已终止',
  `status_remark` varchar(512) DEFAULT NULL COMMENT '对状态的备注',

  `status_by` varchar(64) DEFAULT NULL COMMENT '创建人',
  `status_time` datetime DEFAULT NULL COMMENT '创建时间',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='项目盘点（复盘）状态记录';


DROP TABLE IF EXISTS `project_question_review_answer`;
CREATE TABLE `project_question_review_answer` (
  `id` int(11) NOT NULL AUTO_INCREMENT,

  `project_review_id` int(11) DEFAULT NULL COMMENT '关联项目盘点（复盘）id',

  `question_group_id` int(11) DEFAULT NULL COMMENT '问题分类id',
  `question_group_code` varchar(32) DEFAULT NULL COMMENT '问题分类编码',
  `question_group_name` varchar(128) DEFAULT NULL COMMENT '问题分类名称',

  `question_id` int(11) DEFAULT NULL COMMENT '问题id',
  `question_parent_id` int(11) DEFAULT NULL COMMENT '上一级问题id',
  `question_ancestors` varchar(256) DEFAULT NULL COMMENT '问题层次关系',
  `question_code` varchar(32) DEFAULT NULL COMMENT '问题编码（排序）',
  `question_skip_value` varchar(32) DEFAULT NULL COMMENT '问题跳过条件',
  `question_title` varchar(256) DEFAULT NULL COMMENT '问题标题（问题内容）',
  `question_description` varchar(256) DEFAULT NULL COMMENT '问题备注',
  `question_result_type` varchar(32) DEFAULT NULL COMMENT '问题答案类型：默认为空 文本问答  TEXT 文本问答 BOOL  是否  SINGLESELECT 单选  MULTISELECT 多选',
  `question_jump_value` varchar(32) DEFAULT NULL COMMENT '问题循环条件',

  `raw_answer` text DEFAULT NULL COMMENT '原始回答',
  `final_answer` text DEFAULT NULL COMMENT '最终回答',

  `create_by` varchar(64) DEFAULT NULL COMMENT '创建人',
  `create_time` datetime DEFAULT NULL COMMENT '创建时间',
  `update_by` varchar(64) DEFAULT NULL COMMENT '修改人',
  `update_time` datetime DEFAULT NULL COMMENT '修改时间',
  `del_flag` char(1) DEFAULT '0' COMMENT '删除标志（0代表存在 1代表删除）',
  `del_by` varchar(64) DEFAULT NULL COMMENT '删除人',
  `del_time` datetime DEFAULT NULL COMMENT '删除时间',

  PRIMARY KEY (`id`) USING BTREE
) ENGINE=InnoDB  DEFAULT CHARSET=utf8mb4 COMMENT='项目盘点问题答案';

