diff --git a/backend/pom.xml b/backend/pom.xml index 9af278b..eb331b4 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -54,6 +54,7 @@ com.mysql mysql-connector-j + ${mysql.version} runtime @@ -83,13 +84,6 @@ runtime - - - com.h2database - h2 - runtime - - org.projectlombok diff --git a/backend/src/main/resources/application-dev.yml b/backend/src/main/resources/application-dev.yml index 366ffe9..e219fda 100644 --- a/backend/src/main/resources/application-dev.yml +++ b/backend/src/main/resources/application-dev.yml @@ -8,33 +8,30 @@ spring: name: pet-hospital datasource: - driver-class-name: org.h2.Driver - url: jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1;DB_CLOSE_ON_EXIT=FALSE;MODE=MYSQL; - username: sa + driver-class-name: com.mysql.cj.jdbc.Driver + url: jdbc:mysql://localhost:3306/pet_hospital_dev?useUnicode=true&characterEncoding=utf8&useSSL=false&serverTimezone=GMT%2B8 + username: root password: password hikari: - maximum-pool-size: 10 - minimum-idle: 5 + maximum-pool-size: 20 + minimum-idle: 10 connection-timeout: 30000 + idle-timeout: 600000 + max-lifetime: 1800000 jackson: time-zone: GMT+8 date-format: yyyy-MM-dd HH:mm:ss - h2: - console: - enabled: true - path: /h2-console - jpa: hibernate: - ddl-auto: create-drop + ddl-auto: update show-sql: true sql: init: mode: always - schema-locations: classpath*:schema-h2.sql + schema-locations: classpath*:schema.sql data-locations: classpath*:data.sql mybatis-plus: diff --git a/backend/src/main/resources/application.yml b/backend/src/main/resources/application.yml index b83f286..0001a01 100644 --- a/backend/src/main/resources/application.yml +++ b/backend/src/main/resources/application.yml @@ -25,6 +25,10 @@ mybatis-plus: logic-not-delete-value: 0 mapper-locations: classpath*:mapper/**/*.xml +# 数据库配置 +database: + type: mysql + # JWT配置 jwt: secret: pet-hospital-secret-key-2024-guanpengfei-graduate-design diff --git a/backend/src/main/resources/schema-h2.sql b/backend/src/main/resources/schema-h2.sql deleted file mode 100644 index 22298e9..0000000 --- a/backend/src/main/resources/schema-h2.sql +++ /dev/null @@ -1,242 +0,0 @@ --- 如果表不存在则创建表,如果存在则添加缺失的列 - --- 检查并创建appointment表或添加缺失列 -CREATE TABLE IF NOT EXISTS appointment ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - customer_id BIGINT NOT NULL, - pet_id BIGINT NOT NULL, - doctor_id BIGINT, - department VARCHAR(50), - appointment_date DATE, - time_slot VARCHAR(20), -- 添加这个缺失的列 - status VARCHAR(20) DEFAULT 'PENDING', - remark TEXT, - cancel_time TIMESTAMP NULL, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建visit表 -CREATE TABLE IF NOT EXISTS visit ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - appointment_id BIGINT, - customer_id BIGINT NOT NULL, - pet_id BIGINT NOT NULL, - doctor_id BIGINT NOT NULL, - symptoms TEXT, - diagnosis TEXT, - treatment_plan TEXT, - status VARCHAR(20) DEFAULT 'PENDING', - total_amount DECIMAL(10,2), - payment_status VARCHAR(20) DEFAULT 'UNPAID', - payment_method VARCHAR(20), - payment_time TIMESTAMP NULL, - start_time TIMESTAMP, - end_time TIMESTAMP, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建prescription表 -CREATE TABLE IF NOT EXISTS prescription ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - visit_id BIGINT, - doctor_id BIGINT, - customer_id BIGINT, - total_amount DECIMAL(10,2), - status VARCHAR(20) DEFAULT 'DRAFT', - remark TEXT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建prescription_item表 -CREATE TABLE IF NOT EXISTS prescription_item ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - prescription_id BIGINT NOT NULL, - drug_id BIGINT NOT NULL, - quantity INT NOT NULL, - dosage VARCHAR(100), - frequency VARCHAR(50), - duration VARCHAR(50), - usage_instructions TEXT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建order_info表 -CREATE TABLE IF NOT EXISTS order_info ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - visit_id BIGINT, - customer_id BIGINT NOT NULL, - amount DECIMAL(10,2), - status VARCHAR(20) DEFAULT 'UNPAID', - payment_method VARCHAR(20), - payment_time TIMESTAMP NULL, - remark TEXT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建drug表 -CREATE TABLE IF NOT EXISTS drug ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(100) NOT NULL, - category VARCHAR(50), - manufacturer VARCHAR(100), - specification VARCHAR(100), - unit_price DECIMAL(10,2), - stock_quantity INT DEFAULT 0, - unit VARCHAR(20), - status INT DEFAULT 1, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建pet表 -CREATE TABLE IF NOT EXISTS pet ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - owner_id BIGINT NOT NULL, - name VARCHAR(50) NOT NULL, - species VARCHAR(50), - breed VARCHAR(100), - gender VARCHAR(10), -- 修改为VARCHAR以支持MALE/FEMALE - birthday DATE, -- 添加birthday字段而不是age - weight DOUBLE, -- 添加weight字段 - photo VARCHAR(255), -- 添加photo字段 - remark TEXT, -- 添加remark字段 - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建doctor表 -CREATE TABLE IF NOT EXISTS doctor ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(50) NOT NULL, - department VARCHAR(50), - title VARCHAR(50), - phone VARCHAR(20), - email VARCHAR(100), - avatar VARCHAR(255), - status INT DEFAULT 1, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建user表 -CREATE TABLE IF NOT EXISTS `user` ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - username VARCHAR(50) NOT NULL UNIQUE, - phone VARCHAR(20), - email VARCHAR(100), - password VARCHAR(255) NOT NULL, - role VARCHAR(20) DEFAULT 'CUSTOMER', - status INT DEFAULT 1, - avatar VARCHAR(255), - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建medical_record表 -CREATE TABLE IF NOT EXISTS medical_record ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - visit_id BIGINT NOT NULL, - record_type VARCHAR(50), -- CHECKUP体检, DIAGNOSIS诊断, TREATMENT治疗 - content TEXT, - attachment_urls TEXT, - doctor_id BIGINT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建message表 -CREATE TABLE IF NOT EXISTS message ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - sender_id BIGINT, - receiver_id BIGINT NOT NULL, - content TEXT NOT NULL, - type VARCHAR(20) DEFAULT 'NOTICE', -- NOTICE通知, CHAT聊天 - status VARCHAR(20) DEFAULT 'UNREAD', -- UNREAD未读, READ已读 - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建notice表 -CREATE TABLE IF NOT EXISTS notice ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - title VARCHAR(200) NOT NULL, - content TEXT NOT NULL, - publisher_id BIGINT NOT NULL, - publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - status INT DEFAULT 1, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建report表 -CREATE TABLE IF NOT EXISTS report ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - report_type VARCHAR(50) NOT NULL, -- REVENUE收入, CUSTOMER客户, PET宠物, DRUG药品 - report_data JSON, - period_start DATE, - period_end DATE, - generated_by BIGINT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建stock_in表 -CREATE TABLE IF NOT EXISTS stock_in ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - drug_id BIGINT NOT NULL, - quantity INT NOT NULL, - unit_price DECIMAL(10,2), - supplier VARCHAR(100), - operator_id BIGINT, - remark TEXT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建stock_out表 -CREATE TABLE IF NOT EXISTS stock_out ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - drug_id BIGINT NOT NULL, - quantity INT NOT NULL, - unit_price DECIMAL(10,2), - purpose VARCHAR(100), -- 用途:销售、损耗等 - operator_id BIGINT, - remark TEXT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 检查并创建vaccine_record表 -CREATE TABLE IF NOT EXISTS vaccine_record ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - pet_id BIGINT NOT NULL, - vaccine_name VARCHAR(100) NOT NULL, - dose_number INT, - injection_date DATE, - next_appointment_date DATE, - doctor_id BIGINT, - remark TEXT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); \ No newline at end of file diff --git a/backend/src/main/resources/schema.sql b/backend/src/main/resources/schema.sql index c28ec10..22298e9 100644 --- a/backend/src/main/resources/schema.sql +++ b/backend/src/main/resources/schema.sql @@ -1,79 +1,59 @@ --- 用户表 -CREATE TABLE IF NOT EXISTS `user` ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - username VARCHAR(50) NOT NULL UNIQUE, - phone VARCHAR(20), - email VARCHAR(100), - password VARCHAR(255) NOT NULL, - role VARCHAR(20) DEFAULT 'CUSTOMER', - status INT DEFAULT 1, - avatar VARCHAR(255), - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); +-- 如果表不存在则创建表,如果存在则添加缺失的列 --- 宠物表 -CREATE TABLE IF NOT EXISTS pet ( +-- 检查并创建appointment表或添加缺失列 +CREATE TABLE IF NOT EXISTS appointment ( id BIGINT AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(50) NOT NULL, - species VARCHAR(50), - breed VARCHAR(100), - gender CHAR(1), - age INT, - owner_id BIGINT NOT NULL, - health_status VARCHAR(100), - vaccination_status VARCHAR(100), - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 医生表 -CREATE TABLE IF NOT EXISTS doctor ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - name VARCHAR(50) NOT NULL, + customer_id BIGINT NOT NULL, + pet_id BIGINT NOT NULL, + doctor_id BIGINT, department VARCHAR(50), - title VARCHAR(50), - phone VARCHAR(20), - email VARCHAR(100), - avatar VARCHAR(255), - status INT DEFAULT 1, + appointment_date DATE, + time_slot VARCHAR(20), -- 添加这个缺失的列 + status VARCHAR(20) DEFAULT 'PENDING', + remark TEXT, + cancel_time TIMESTAMP NULL, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 ); --- 就诊记录表 +-- 检查并创建visit表 CREATE TABLE IF NOT EXISTS visit ( id BIGINT AUTO_INCREMENT PRIMARY KEY, + appointment_id BIGINT, + customer_id BIGINT NOT NULL, pet_id BIGINT NOT NULL, doctor_id BIGINT NOT NULL, - customer_id BIGINT NOT NULL, symptoms TEXT, diagnosis TEXT, treatment_plan TEXT, - visit_date DATE, status VARCHAR(20) DEFAULT 'PENDING', + total_amount DECIMAL(10,2), + payment_status VARCHAR(20) DEFAULT 'UNPAID', + payment_method VARCHAR(20), + payment_time TIMESTAMP NULL, + start_time TIMESTAMP, + end_time TIMESTAMP, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 ); --- 处方表 +-- 检查并创建prescription表 CREATE TABLE IF NOT EXISTS prescription ( id BIGINT AUTO_INCREMENT PRIMARY KEY, - visit_id BIGINT NOT NULL, - doctor_id BIGINT NOT NULL, - customer_id BIGINT NOT NULL, + visit_id BIGINT, + doctor_id BIGINT, + customer_id BIGINT, total_amount DECIMAL(10,2), - status VARCHAR(20) DEFAULT 'ACTIVE', + status VARCHAR(20) DEFAULT 'DRAFT', + remark TEXT, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 ); --- 处方明细表 +-- 检查并创建prescription_item表 CREATE TABLE IF NOT EXISTS prescription_item ( id BIGINT AUTO_INCREMENT PRIMARY KEY, prescription_id BIGINT NOT NULL, @@ -88,7 +68,22 @@ CREATE TABLE IF NOT EXISTS prescription_item ( deleted INT DEFAULT 0 ); --- 药品表 +-- 检查并创建order_info表 +CREATE TABLE IF NOT EXISTS order_info ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + visit_id BIGINT, + customer_id BIGINT NOT NULL, + amount DECIMAL(10,2), + status VARCHAR(20) DEFAULT 'UNPAID', + payment_method VARCHAR(20), + payment_time TIMESTAMP NULL, + remark TEXT, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + deleted INT DEFAULT 0 +); + +-- 检查并创建drug表 CREATE TABLE IF NOT EXISTS drug ( id BIGINT AUTO_INCREMENT PRIMARY KEY, name VARCHAR(100) NOT NULL, @@ -104,52 +99,106 @@ CREATE TABLE IF NOT EXISTS drug ( deleted INT DEFAULT 0 ); --- 订单表 -CREATE TABLE IF NOT EXISTS order_info ( +-- 检查并创建pet表 +CREATE TABLE IF NOT EXISTS pet ( id BIGINT AUTO_INCREMENT PRIMARY KEY, - visit_id BIGINT, - customer_id BIGINT NOT NULL, - amount DECIMAL(10,2), - status VARCHAR(20) DEFAULT 'UNPAID', - payment_method VARCHAR(20), - payment_time TIMESTAMP NULL, - remark TEXT, + owner_id BIGINT NOT NULL, + name VARCHAR(50) NOT NULL, + species VARCHAR(50), + breed VARCHAR(100), + gender VARCHAR(10), -- 修改为VARCHAR以支持MALE/FEMALE + birthday DATE, -- 添加birthday字段而不是age + weight DOUBLE, -- 添加weight字段 + photo VARCHAR(255), -- 添加photo字段 + remark TEXT, -- 添加remark字段 create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 ); --- 预约表 -CREATE TABLE IF NOT EXISTS appointment ( +-- 检查并创建doctor表 +CREATE TABLE IF NOT EXISTS doctor ( id BIGINT AUTO_INCREMENT PRIMARY KEY, - pet_id BIGINT NOT NULL, - doctor_id BIGINT NOT NULL, - customer_id BIGINT NOT NULL, - appointment_date DATE NOT NULL, - appointment_time TIME NOT NULL, - reason TEXT, - status VARCHAR(20) DEFAULT 'PENDING', + name VARCHAR(50) NOT NULL, + department VARCHAR(50), + title VARCHAR(50), + phone VARCHAR(20), + email VARCHAR(100), + avatar VARCHAR(255), + status INT DEFAULT 1, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 ); --- 疫苗接种记录表 -CREATE TABLE IF NOT EXISTS vaccine_record ( +-- 检查并创建user表 +CREATE TABLE IF NOT EXISTS `user` ( id BIGINT AUTO_INCREMENT PRIMARY KEY, - pet_id BIGINT NOT NULL, - vaccine_name VARCHAR(100) NOT NULL, - dose_number INT, - injection_date DATE, - next_appointment_date DATE, + username VARCHAR(50) NOT NULL UNIQUE, + phone VARCHAR(20), + email VARCHAR(100), + password VARCHAR(255) NOT NULL, + role VARCHAR(20) DEFAULT 'CUSTOMER', + status INT DEFAULT 1, + avatar VARCHAR(255), + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + deleted INT DEFAULT 0 +); + +-- 检查并创建medical_record表 +CREATE TABLE IF NOT EXISTS medical_record ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + visit_id BIGINT NOT NULL, + record_type VARCHAR(50), -- CHECKUP体检, DIAGNOSIS诊断, TREATMENT治疗 + content TEXT, + attachment_urls TEXT, doctor_id BIGINT, - remark TEXT, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0 ); --- 库存入库表 +-- 检查并创建message表 +CREATE TABLE IF NOT EXISTS message ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + sender_id BIGINT, + receiver_id BIGINT NOT NULL, + content TEXT NOT NULL, + type VARCHAR(20) DEFAULT 'NOTICE', -- NOTICE通知, CHAT聊天 + status VARCHAR(20) DEFAULT 'UNREAD', -- UNREAD未读, READ已读 + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + deleted INT DEFAULT 0 +); + +-- 检查并创建notice表 +CREATE TABLE IF NOT EXISTS notice ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + title VARCHAR(200) NOT NULL, + content TEXT NOT NULL, + publisher_id BIGINT NOT NULL, + publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + status INT DEFAULT 1, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + deleted INT DEFAULT 0 +); + +-- 检查并创建report表 +CREATE TABLE IF NOT EXISTS report ( + id BIGINT AUTO_INCREMENT PRIMARY KEY, + report_type VARCHAR(50) NOT NULL, -- REVENUE收入, CUSTOMER客户, PET宠物, DRUG药品 + report_data JSON, + period_start DATE, + period_end DATE, + generated_by BIGINT, + create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, + update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + deleted INT DEFAULT 0 +); + +-- 检查并创建stock_in表 CREATE TABLE IF NOT EXISTS stock_in ( id BIGINT AUTO_INCREMENT PRIMARY KEY, drug_id BIGINT NOT NULL, @@ -163,7 +212,7 @@ CREATE TABLE IF NOT EXISTS stock_in ( deleted INT DEFAULT 0 ); --- 库存出库表 +-- 检查并创建stock_out表 CREATE TABLE IF NOT EXISTS stock_out ( id BIGINT AUTO_INCREMENT PRIMARY KEY, drug_id BIGINT NOT NULL, @@ -177,53 +226,16 @@ CREATE TABLE IF NOT EXISTS stock_out ( deleted INT DEFAULT 0 ); --- 消息表 -CREATE TABLE IF NOT EXISTS message ( +-- 检查并创建vaccine_record表 +CREATE TABLE IF NOT EXISTS vaccine_record ( id BIGINT AUTO_INCREMENT PRIMARY KEY, - sender_id BIGINT, - receiver_id BIGINT NOT NULL, - content TEXT NOT NULL, - type VARCHAR(20) DEFAULT 'NOTICE', -- NOTICE通知, CHAT聊天 - status VARCHAR(20) DEFAULT 'UNREAD', -- UNREAD未读, READ已读 - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 公告表 -CREATE TABLE IF NOT EXISTS notice ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - title VARCHAR(200) NOT NULL, - content TEXT NOT NULL, - publisher_id BIGINT NOT NULL, - publish_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - status INT DEFAULT 1, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 医疗记录表 -CREATE TABLE IF NOT EXISTS medical_record ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - visit_id BIGINT NOT NULL, - record_type VARCHAR(50), -- CHECKUP体检, DIAGNOSIS诊断, TREATMENT治疗 - content TEXT, - attachment_urls TEXT, + pet_id BIGINT NOT NULL, + vaccine_name VARCHAR(100) NOT NULL, + dose_number INT, + injection_date DATE, + next_appointment_date DATE, doctor_id BIGINT, - create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, - update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, - deleted INT DEFAULT 0 -); - --- 报表统计表 -CREATE TABLE IF NOT EXISTS report ( - id BIGINT AUTO_INCREMENT PRIMARY KEY, - report_type VARCHAR(50) NOT NULL, -- REVENUE收入, CUSTOMER客户, PET宠物, DRUG药品 - report_data JSON, - period_start DATE, - period_end DATE, - generated_by BIGINT, + remark TEXT, create_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP, update_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, deleted INT DEFAULT 0