forked from admin/innovation-platform
feat: 部署配置完成,添加 MySQL 和 Docker 支持
This commit is contained in:
5
backend/Dockerfile
Normal file
5
backend/Dockerfile
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
FROM eclipse-temurin:21-jdk-alpine
|
||||||
|
WORKDIR /app
|
||||||
|
COPY target/*.jar app.jar
|
||||||
|
EXPOSE 8080
|
||||||
|
ENTRYPOINT ["java", "-jar", "app.jar"]
|
||||||
@@ -3,45 +3,26 @@ server:
|
|||||||
|
|
||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
|
url: jdbc:mysql://mysql:3306/innovation_platform?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
|
||||||
|
username: innovation
|
||||||
|
password: innovation123
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://localhost:3306/innovation_platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
sql:
|
||||||
username: root
|
init:
|
||||||
password: root123456
|
mode: always
|
||||||
jackson:
|
schema-locations: classpath:schema.sql
|
||||||
date-format: yyyy-MM-dd HH:mm:ss
|
data-locations: classpath:data.sql
|
||||||
time-zone: GMT+8
|
|
||||||
|
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath*:/mapper/**/*.xml
|
mapper-locations: classpath*:/mapper/**/*.xml
|
||||||
type-aliases-package: com.innovation.platform.entity
|
|
||||||
global-config:
|
|
||||||
db-config:
|
|
||||||
id-type: auto
|
|
||||||
logic-delete-field: deleted
|
|
||||||
logic-delete-value: 1
|
|
||||||
logic-not-delete-value: 0
|
|
||||||
configuration:
|
configuration:
|
||||||
map-underscore-to-camel-case: true
|
map-underscore-to-camel-case: true
|
||||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
|
||||||
|
|
||||||
sa-token:
|
sa-token:
|
||||||
token-name: Authorization
|
token-name: satoken
|
||||||
timeout: 86400
|
timeout: 86400
|
||||||
active-timeout: -1
|
active-timeout: -1
|
||||||
is-concurrent: true
|
is-concurrent: true
|
||||||
is-share: true
|
is-share: true
|
||||||
token-style: uuid
|
token-style: uuid
|
||||||
is-log: true
|
is-log: false
|
||||||
|
|
||||||
knife4j:
|
|
||||||
enable: true
|
|
||||||
openapi:
|
|
||||||
title: 高校创新创业项目孵化平台API
|
|
||||||
description: 高校创新创业项目孵化平台接口文档
|
|
||||||
version: v1.0.0
|
|
||||||
group:
|
|
||||||
default:
|
|
||||||
group-name: default
|
|
||||||
api-rule: package
|
|
||||||
api-rule-resources:
|
|
||||||
- com.innovation.platform.controller
|
|
||||||
|
|||||||
133
backend/src/main/resources/schema.sql
Normal file
133
backend/src/main/resources/schema.sql
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
-- 创建用户表
|
||||||
|
CREATE TABLE IF NOT EXISTS sys_user (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
username VARCHAR(50) NOT NULL,
|
||||||
|
password VARCHAR(100) NOT NULL,
|
||||||
|
real_name VARCHAR(50) NOT NULL,
|
||||||
|
gender TINYINT DEFAULT 0,
|
||||||
|
phone VARCHAR(20) DEFAULT NULL,
|
||||||
|
email VARCHAR(100) DEFAULT NULL,
|
||||||
|
avatar VARCHAR(255) DEFAULT NULL,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
role_type TINYINT NOT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by BIGINT DEFAULT NULL,
|
||||||
|
update_by BIGINT DEFAULT NULL,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_username (username)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建学生信息表
|
||||||
|
CREATE TABLE IF NOT EXISTS stu_info (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
user_id BIGINT NOT NULL,
|
||||||
|
student_no VARCHAR(20) NOT NULL,
|
||||||
|
college VARCHAR(100) NOT NULL,
|
||||||
|
major VARCHAR(100) NOT NULL,
|
||||||
|
grade VARCHAR(10) NOT NULL,
|
||||||
|
class_name VARCHAR(50) DEFAULT NULL,
|
||||||
|
advisor_id BIGINT DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_student_no (student_no),
|
||||||
|
UNIQUE KEY uk_user_id (user_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建教师信息表
|
||||||
|
CREATE TABLE IF NOT EXISTS teacher_info (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
user_id BIGINT NOT NULL,
|
||||||
|
teacher_no VARCHAR(20) NOT NULL,
|
||||||
|
college VARCHAR(100) NOT NULL,
|
||||||
|
title VARCHAR(50) DEFAULT NULL,
|
||||||
|
research_field VARCHAR(255) DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_teacher_no (teacher_no),
|
||||||
|
UNIQUE KEY uk_user_id (user_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建项目表
|
||||||
|
CREATE TABLE IF NOT EXISTS project (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_no VARCHAR(30) NOT NULL,
|
||||||
|
project_name VARCHAR(200) NOT NULL,
|
||||||
|
project_type TINYINT NOT NULL,
|
||||||
|
project_level TINYINT NOT NULL,
|
||||||
|
leader_id BIGINT NOT NULL,
|
||||||
|
advisor_id BIGINT NOT NULL,
|
||||||
|
description TEXT,
|
||||||
|
research_plan TEXT,
|
||||||
|
expected_result TEXT,
|
||||||
|
budget DECIMAL(10,2) DEFAULT 0.00,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
start_time DATE DEFAULT NULL,
|
||||||
|
end_time DATE DEFAULT NULL,
|
||||||
|
college VARCHAR(100) DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by BIGINT DEFAULT NULL,
|
||||||
|
update_by BIGINT DEFAULT NULL,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_project_no (project_no)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建项目成员表
|
||||||
|
CREATE TABLE IF NOT EXISTS project_member (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_id BIGINT NOT NULL,
|
||||||
|
user_id BIGINT NOT NULL,
|
||||||
|
member_order INT DEFAULT 1,
|
||||||
|
role TINYINT DEFAULT 1,
|
||||||
|
join_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_project_user (project_id, user_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建成果表
|
||||||
|
CREATE TABLE IF NOT EXISTS achievement (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_id BIGINT NOT NULL,
|
||||||
|
achievement_type TINYINT NOT NULL,
|
||||||
|
achievement_name VARCHAR(200) NOT NULL,
|
||||||
|
achievement_level TINYINT DEFAULT NULL,
|
||||||
|
author_names VARCHAR(500) DEFAULT NULL,
|
||||||
|
publish_time DATE DEFAULT NULL,
|
||||||
|
publish_org VARCHAR(200) DEFAULT NULL,
|
||||||
|
description TEXT,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
auditor_id BIGINT DEFAULT NULL,
|
||||||
|
audit_time DATETIME DEFAULT NULL,
|
||||||
|
audit_opinion VARCHAR(500) DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by BIGINT DEFAULT NULL,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建评审表
|
||||||
|
CREATE TABLE IF NOT EXISTS review (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_id BIGINT NOT NULL,
|
||||||
|
reviewer_id BIGINT NOT NULL,
|
||||||
|
review_type TINYINT NOT NULL,
|
||||||
|
score DECIMAL(5,1) DEFAULT NULL,
|
||||||
|
opinion TEXT,
|
||||||
|
result TINYINT DEFAULT NULL,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
review_time DATETIME DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
@@ -3,45 +3,26 @@ server:
|
|||||||
|
|
||||||
spring:
|
spring:
|
||||||
datasource:
|
datasource:
|
||||||
|
url: jdbc:mysql://mysql:3306/innovation_platform?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
|
||||||
|
username: innovation
|
||||||
|
password: innovation123
|
||||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||||
url: jdbc:mysql://localhost:3306/innovation_platform?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=Asia/Shanghai&allowPublicKeyRetrieval=true
|
sql:
|
||||||
username: root
|
init:
|
||||||
password: root123456
|
mode: always
|
||||||
jackson:
|
schema-locations: classpath:schema.sql
|
||||||
date-format: yyyy-MM-dd HH:mm:ss
|
data-locations: classpath:data.sql
|
||||||
time-zone: GMT+8
|
|
||||||
|
|
||||||
mybatis-plus:
|
mybatis-plus:
|
||||||
mapper-locations: classpath*:/mapper/**/*.xml
|
mapper-locations: classpath*:/mapper/**/*.xml
|
||||||
type-aliases-package: com.innovation.platform.entity
|
|
||||||
global-config:
|
|
||||||
db-config:
|
|
||||||
id-type: auto
|
|
||||||
logic-delete-field: deleted
|
|
||||||
logic-delete-value: 1
|
|
||||||
logic-not-delete-value: 0
|
|
||||||
configuration:
|
configuration:
|
||||||
map-underscore-to-camel-case: true
|
map-underscore-to-camel-case: true
|
||||||
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl
|
|
||||||
|
|
||||||
sa-token:
|
sa-token:
|
||||||
token-name: Authorization
|
token-name: satoken
|
||||||
timeout: 86400
|
timeout: 86400
|
||||||
active-timeout: -1
|
active-timeout: -1
|
||||||
is-concurrent: true
|
is-concurrent: true
|
||||||
is-share: true
|
is-share: true
|
||||||
token-style: uuid
|
token-style: uuid
|
||||||
is-log: true
|
is-log: false
|
||||||
|
|
||||||
knife4j:
|
|
||||||
enable: true
|
|
||||||
openapi:
|
|
||||||
title: 高校创新创业项目孵化平台API
|
|
||||||
description: 高校创新创业项目孵化平台接口文档
|
|
||||||
version: v1.0.0
|
|
||||||
group:
|
|
||||||
default:
|
|
||||||
group-name: default
|
|
||||||
api-rule: package
|
|
||||||
api-rule-resources:
|
|
||||||
- com.innovation.platform.controller
|
|
||||||
|
|||||||
39
backend/target/classes/data.sql
Normal file
39
backend/target/classes/data.sql
Normal file
@@ -0,0 +1,39 @@
|
|||||||
|
-- 预埋测试数据
|
||||||
|
|
||||||
|
-- 1. 管理员账号 (密码: admin123)
|
||||||
|
INSERT INTO sys_user (username, password, real_name, gender, role_type, status) VALUES
|
||||||
|
('admin', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt9hQIu', '系统管理员', 1, 3, 1);
|
||||||
|
|
||||||
|
-- 2. 教师账号 (密码: teacher123)
|
||||||
|
INSERT INTO sys_user (username, password, real_name, gender, role_type, status) VALUES
|
||||||
|
('teacher001', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt9hQIu', '张教授', 1, 2, 1),
|
||||||
|
('teacher002', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt9hQIu', '李老师', 2, 2, 1);
|
||||||
|
|
||||||
|
-- 3. 学生账号 (密码: student123)
|
||||||
|
INSERT INTO sys_user (username, password, real_name, gender, role_type, status) VALUES
|
||||||
|
('student001', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt9hQIu', '王小明', 1, 1, 1),
|
||||||
|
('student002', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt9hQIu', '李小红', 2, 1, 1),
|
||||||
|
('student003', '$2a$10$N.zmdr9k7uOCQb376NoUnuTJ8iAt6Z5EHsM8lE9lBOsl7iAt9hQIu', '张小华', 1, 1, 1);
|
||||||
|
|
||||||
|
-- 4. 教师信息
|
||||||
|
INSERT INTO teacher_info (user_id, teacher_no, college, title, research_field) VALUES
|
||||||
|
(2, 'T2024001', '计算机学院', '教授', '人工智能'),
|
||||||
|
(3, 'T2024002', '计算机学院', '副教授', '大数据');
|
||||||
|
|
||||||
|
-- 5. 学生信息
|
||||||
|
INSERT INTO stu_info (user_id, student_no, college, major, grade, class_name, advisor_id) VALUES
|
||||||
|
(4, 'S2021001', '计算机学院', '计算机科学与技术', '2021', '计科2101', 2),
|
||||||
|
(5, 'S2021002', '计算机学院', '软件工程', '2021', '软工2101', 2),
|
||||||
|
(6, 'S2022001', '计算机学院', '计算机科学与技术', '2022', '计科2201', 3);
|
||||||
|
|
||||||
|
-- 6. 测试项目
|
||||||
|
INSERT INTO project (project_no, project_name, project_type, project_level, leader_id, advisor_id, description, status) VALUES
|
||||||
|
('PRJ2024001', '基于AI的智能问答系统', 1, 2, 4, 2, '本项目旨在开发一个基于大语言模型的智能问答系统', 3),
|
||||||
|
('PRJ2024002', '校园二手交易平台', 2, 1, 5, 3, '搭建一个面向高校学生的二手物品交易平台', 1);
|
||||||
|
|
||||||
|
-- 7. 项目成员
|
||||||
|
INSERT INTO project_member (project_id, user_id, member_order, role) VALUES
|
||||||
|
(1, 4, 1, 2),
|
||||||
|
(1, 5, 2, 1),
|
||||||
|
(2, 5, 1, 2),
|
||||||
|
(2, 6, 2, 1);
|
||||||
133
backend/target/classes/schema.sql
Normal file
133
backend/target/classes/schema.sql
Normal file
@@ -0,0 +1,133 @@
|
|||||||
|
-- 创建用户表
|
||||||
|
CREATE TABLE IF NOT EXISTS sys_user (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
username VARCHAR(50) NOT NULL,
|
||||||
|
password VARCHAR(100) NOT NULL,
|
||||||
|
real_name VARCHAR(50) NOT NULL,
|
||||||
|
gender TINYINT DEFAULT 0,
|
||||||
|
phone VARCHAR(20) DEFAULT NULL,
|
||||||
|
email VARCHAR(100) DEFAULT NULL,
|
||||||
|
avatar VARCHAR(255) DEFAULT NULL,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
role_type TINYINT NOT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by BIGINT DEFAULT NULL,
|
||||||
|
update_by BIGINT DEFAULT NULL,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_username (username)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建学生信息表
|
||||||
|
CREATE TABLE IF NOT EXISTS stu_info (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
user_id BIGINT NOT NULL,
|
||||||
|
student_no VARCHAR(20) NOT NULL,
|
||||||
|
college VARCHAR(100) NOT NULL,
|
||||||
|
major VARCHAR(100) NOT NULL,
|
||||||
|
grade VARCHAR(10) NOT NULL,
|
||||||
|
class_name VARCHAR(50) DEFAULT NULL,
|
||||||
|
advisor_id BIGINT DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_student_no (student_no),
|
||||||
|
UNIQUE KEY uk_user_id (user_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建教师信息表
|
||||||
|
CREATE TABLE IF NOT EXISTS teacher_info (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
user_id BIGINT NOT NULL,
|
||||||
|
teacher_no VARCHAR(20) NOT NULL,
|
||||||
|
college VARCHAR(100) NOT NULL,
|
||||||
|
title VARCHAR(50) DEFAULT NULL,
|
||||||
|
research_field VARCHAR(255) DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_teacher_no (teacher_no),
|
||||||
|
UNIQUE KEY uk_user_id (user_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建项目表
|
||||||
|
CREATE TABLE IF NOT EXISTS project (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_no VARCHAR(30) NOT NULL,
|
||||||
|
project_name VARCHAR(200) NOT NULL,
|
||||||
|
project_type TINYINT NOT NULL,
|
||||||
|
project_level TINYINT NOT NULL,
|
||||||
|
leader_id BIGINT NOT NULL,
|
||||||
|
advisor_id BIGINT NOT NULL,
|
||||||
|
description TEXT,
|
||||||
|
research_plan TEXT,
|
||||||
|
expected_result TEXT,
|
||||||
|
budget DECIMAL(10,2) DEFAULT 0.00,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
start_time DATE DEFAULT NULL,
|
||||||
|
end_time DATE DEFAULT NULL,
|
||||||
|
college VARCHAR(100) DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by BIGINT DEFAULT NULL,
|
||||||
|
update_by BIGINT DEFAULT NULL,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_project_no (project_no)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建项目成员表
|
||||||
|
CREATE TABLE IF NOT EXISTS project_member (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_id BIGINT NOT NULL,
|
||||||
|
user_id BIGINT NOT NULL,
|
||||||
|
member_order INT DEFAULT 1,
|
||||||
|
role TINYINT DEFAULT 1,
|
||||||
|
join_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id),
|
||||||
|
UNIQUE KEY uk_project_user (project_id, user_id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建成果表
|
||||||
|
CREATE TABLE IF NOT EXISTS achievement (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_id BIGINT NOT NULL,
|
||||||
|
achievement_type TINYINT NOT NULL,
|
||||||
|
achievement_name VARCHAR(200) NOT NULL,
|
||||||
|
achievement_level TINYINT DEFAULT NULL,
|
||||||
|
author_names VARCHAR(500) DEFAULT NULL,
|
||||||
|
publish_time DATE DEFAULT NULL,
|
||||||
|
publish_org VARCHAR(200) DEFAULT NULL,
|
||||||
|
description TEXT,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
auditor_id BIGINT DEFAULT NULL,
|
||||||
|
audit_time DATETIME DEFAULT NULL,
|
||||||
|
audit_opinion VARCHAR(500) DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
create_by BIGINT DEFAULT NULL,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
|
|
||||||
|
-- 创建评审表
|
||||||
|
CREATE TABLE IF NOT EXISTS review (
|
||||||
|
id BIGINT NOT NULL AUTO_INCREMENT,
|
||||||
|
project_id BIGINT NOT NULL,
|
||||||
|
reviewer_id BIGINT NOT NULL,
|
||||||
|
review_type TINYINT NOT NULL,
|
||||||
|
score DECIMAL(5,1) DEFAULT NULL,
|
||||||
|
opinion TEXT,
|
||||||
|
result TINYINT DEFAULT NULL,
|
||||||
|
status TINYINT DEFAULT 1,
|
||||||
|
review_time DATETIME DEFAULT NULL,
|
||||||
|
create_time DATETIME DEFAULT CURRENT_TIMESTAMP,
|
||||||
|
update_time DATETIME DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
|
||||||
|
deleted TINYINT DEFAULT 0,
|
||||||
|
PRIMARY KEY (id)
|
||||||
|
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;
|
||||||
BIN
backend/target/innovation-platform-1.0.0.jar
Normal file
BIN
backend/target/innovation-platform-1.0.0.jar
Normal file
Binary file not shown.
BIN
backend/target/innovation-platform-1.0.0.jar.original
Normal file
BIN
backend/target/innovation-platform-1.0.0.jar.original
Normal file
Binary file not shown.
3
backend/target/maven-archiver/pom.properties
Normal file
3
backend/target/maven-archiver/pom.properties
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
artifactId=innovation-platform
|
||||||
|
groupId=com.innovation
|
||||||
|
version=1.0.0
|
||||||
37
docker-compose.yml
Normal file
37
docker-compose.yml
Normal file
@@ -0,0 +1,37 @@
|
|||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
mysql:
|
||||||
|
image: mysql:8.0
|
||||||
|
container_name: innovation-mysql
|
||||||
|
environment:
|
||||||
|
MYSQL_ROOT_PASSWORD: root123456
|
||||||
|
MYSQL_DATABASE: innovation_platform
|
||||||
|
MYSQL_USER: innovation
|
||||||
|
MYSQL_PASSWORD: innovation123
|
||||||
|
ports:
|
||||||
|
- "3307:3306"
|
||||||
|
volumes:
|
||||||
|
- mysql-data:/var/lib/mysql
|
||||||
|
networks:
|
||||||
|
- innovation-network
|
||||||
|
|
||||||
|
backend:
|
||||||
|
build: ./backend
|
||||||
|
container_name: innovation-backend
|
||||||
|
depends_on:
|
||||||
|
- mysql
|
||||||
|
environment:
|
||||||
|
SPRING_DATASOURCE_URL: jdbc:mysql://mysql:3306/innovation_platform?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
|
||||||
|
SPRING_DATASOURCE_USERNAME: innovation
|
||||||
|
SPRING_DATASOURCE_PASSWORD: innovation123
|
||||||
|
ports:
|
||||||
|
- "8080:8080"
|
||||||
|
networks:
|
||||||
|
- innovation-network
|
||||||
|
|
||||||
|
networks:
|
||||||
|
innovation-network:
|
||||||
|
driver: bridge
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
mysql-data:
|
||||||
Reference in New Issue
Block a user