完成管理端代码

This commit is contained in:
2024-06-14 17:51:13 +08:00
parent cfbaf585a7
commit 963a80a670
18 changed files with 384 additions and 233 deletions

View File

@@ -1,4 +1,4 @@
INSERT INTO Airports (`ID`, `Name`, City) VALUES
INSERT INTO ServiceDatabase.Airports (`ID`, `Name`, City) VALUES
('NAY', '北京南苑机场', '北京'),
('PEK', '北京首都国际机场', '北京'),
('TSN', '天津滨海国际机场', '天津'),

View File

@@ -0,0 +1,17 @@
DROP USER IF EXISTS 'serviceAgent'@'%';
DROP USER IF EXISTS 'managerAgent'@'%';
CREATE USER 'serviceAgent'@'%' IDENTIFIED BY 'password123';
CREATE USER 'managerAgent'@'%' IDENTIFIED BY 'password123';
GRANT SELECT ON ManagerDatabase.Managers TO 'managerAgent'@'%';
GRANT ALL PRIVILEGES ON ServiceDatabase.Flights TO 'managerAgent'@'%';
GRANT ALL PRIVILEGES ON ServiceDatabase.Passengers TO 'serviceAgent'@'%';
GRANT ALL PRIVILEGES ON ServiceDatabase.Orders TO 'serviceAgent'@'%';
GRANT ALL PRIVILEGES ON ServiceDatabase.Users TO 'serviceAgent'@'%';
GRANT ALL PRIVILEGES ON ServiceDatabase.Airports TO 'serviceAgent'@'%';
GRANT ALL PRIVILEGES ON ServiceDatabase.Tickets TO 'serviceAgent'@'%';
GRANT SELECT, UPDATE (First_class_seats_remaining, Business_class_seats_remaining, Economy_class_seats_remaining)
ON ServiceDatabase.Flights TO 'serviceAgent'@'%';
FLUSH PRIVILEGES;

View File

@@ -0,0 +1,3 @@
ID,Airline,Departure_airport,Arrival_airport,Departure_time,Arrival_time,First_class_seats_remaining,Business_class_seats_remaining,Economy_class_seats_remaining,First_class_price,Business_class_price,Economy_class_price,Status
FL321,AirlineE,PEK,PVG,2024-06-16 11:00:00,2024-06-16 12:30:00,5,10,100,2000.00,1000.00,500.00,未知
FL421,AirlineG,PEK,PVG,2024-06-16 11:00:00,2024-06-16 12:30:00,3,10,100,2000.00,1000.00,500.00,未知
1 ID Airline Departure_airport Arrival_airport Departure_time Arrival_time First_class_seats_remaining Business_class_seats_remaining Economy_class_seats_remaining First_class_price Business_class_price Economy_class_price Status
2 FL321 AirlineE PEK PVG 2024-06-16 11:00:00 2024-06-16 12:30:00 5 10 100 2000.00 1000.00 500.00 未知
3 FL421 AirlineG PEK PVG 2024-06-16 11:00:00 2024-06-16 12:30:00 3 10 100 2000.00 1000.00 500.00 未知

View File

@@ -1,4 +1,4 @@
INSERT INTO Flights (ID, Airline, Departure_airport, Arrival_airport, Departure_time, Arrival_time, First_class_seats_remaining, Business_class_seats_remaining, Economy_class_seats_remaining, First_class_price, Business_class_price, Economy_class_price, `Status`) VALUES
INSERT INTO ServiceDatabase.Flights (ID, Airline, Departure_airport, Arrival_airport, Departure_time, Arrival_time, First_class_seats_remaining, Business_class_seats_remaining, Economy_class_seats_remaining, First_class_price, Business_class_price, Economy_class_price, `Status`) VALUES
('FL001', 'AirlineA', 'PEK', 'SHA', '2024-06-14 08:00:00', '2024-06-14 10:00:00', 5, 10, 100, 2000.00, 1000.00, 500.00, '已降落'),
('FL002', 'AirlineB', 'TSN', 'PVG', '2024-06-14 09:00:00', '2024-06-14 11:00:00', 3, 15, 80, 2100.00, 1100.00, 600.00, '已降落'),
('FL003', 'AirlineC', 'SHA', 'SZX', '2024-06-14 07:00:00', '2024-06-14 09:00:00', 2, 12, 70, 2200.00, 1200.00, 550.00, '已降落'),

View File

@@ -1,9 +1,13 @@
DROP TABLE IF EXISTS Managers;
DROP DATABASE IF EXISTS ManagerDatabase;
CREATE DATABASE ManagerDatabase;
ALTER DATABASE ManagerDatabase CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
CREATE TABLE Managers (
DROP TABLE IF EXISTS ManagerDatabase.Managers;
CREATE TABLE ManagerDatabase.Managers (
ID VARCHAR(255) PRIMARY KEY,
`Password` VARCHAR(255) NOT NULL
);
INSERT INTO Managers
INSERT INTO ManagerDatabase.Managers
VALUES ('Admin', 'e10adc3949ba59abbe56e057f20f883e');

View File

@@ -1,11 +1,15 @@
DROP TABLE IF EXISTS Tickets;
DROP TABLE IF EXISTS Orders;
DROP TABLE IF EXISTS Users;
DROP TABLE IF EXISTS Flights;
DROP TABLE IF EXISTS Airports;
DROP TABLE IF EXISTS Passengers;
DROP DATABASE IF EXISTS ServiceDatabase;
CREATE DATABASE ServiceDatabase;
ALTER DATABASE ServiceDatabase CHARACTER SET = utf8mb4 COLLATE = utf8mb4_unicode_ci;
CREATE TABLE Passengers (
DROP TABLE IF EXISTS ServiceDatabase.Tickets;
DROP TABLE IF EXISTS ServiceDatabase.Orders;
DROP TABLE IF EXISTS ServiceDatabase.Users;
DROP TABLE IF EXISTS ServiceDatabase.Flights;
DROP TABLE IF EXISTS ServiceDatabase.Airports;
DROP TABLE IF EXISTS ServiceDatabase.Passengers;
CREATE TABLE ServiceDatabase.Passengers (
ID VARCHAR(18) PRIMARY KEY,
`Name` VARCHAR(255) NOT NULL,
Phone_number BIGINT NOT NULL,
@@ -13,20 +17,20 @@ CREATE TABLE Passengers (
CHECK (REGEXP_LIKE(Phone_number, '^\\d{11}$'))
);
CREATE TABLE Users (
CREATE TABLE ServiceDatabase.Users (
Phone_number BIGINT PRIMARY KEY,
Username VARCHAR(255) NOT NULL,
`Password` VARCHAR(255) NOT NULL,
CHECK (REGEXP_LIKE(Phone_number, '^\\d{11}$'))
);
CREATE TABLE Airports (
CREATE TABLE ServiceDatabase.Airports (
ID VARCHAR(3) PRIMARY KEY, -- 机场三字码
`Name` VARCHAR(255) UNIQUE NOT NULL,
City VARCHAR(255) NOT NULL
);
CREATE TABLE Flights (
CREATE TABLE ServiceDatabase.Flights (
ID VARCHAR(255) PRIMARY KEY,
Airline VARCHAR(255) NOT NULL,
Departure_airport VARCHAR(3) NOT NULL,
@@ -45,7 +49,7 @@ CREATE TABLE Flights (
CHECK (Departure_time < Arrival_time)
);
CREATE TABLE Orders (
CREATE TABLE ServiceDatabase.Orders (
ID INT AUTO_INCREMENT PRIMARY KEY,
Order_time DATETIME NOT NULL,
Paid TINYINT NOT NULL,
@@ -53,7 +57,7 @@ CREATE TABLE Orders (
FOREIGN KEY (User_phone_number) REFERENCES Users(Phone_number) ON DELETE CASCADE
);
CREATE TABLE Tickets (
CREATE TABLE ServiceDatabase.Tickets (
ID INT AUTO_INCREMENT PRIMARY KEY,
Price DECIMAL(7, 2) NOT NULL,
FlightID VARCHAR(255) NOT NULL,