diff --git a/health_care.sql b/health_care.sql new file mode 100644 index 0000000000000000000000000000000000000000..170c9a5ea41d90d5791a2a6507a5803396de7ae9 --- /dev/null +++ b/health_care.sql @@ -0,0 +1,252 @@ +/* + Navicat Premium Data Transfer + + Source Server : wyl + Source Server Type : MySQL + Source Server Version : 80031 + Source Host : localhost:3306 + Source Schema : health_care + + Target Server Type : MySQL + Target Server Version : 80031 + File Encoding : 65001 + + Date: 09/12/2024 17:09:25 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for care_homes +-- ---------------------------- +DROP TABLE IF EXISTS `care_homes`; +CREATE TABLE `care_homes` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` enum('approved','rejected','pending') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'pending', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of care_homes +-- ---------------------------- + +-- ---------------------------- +-- Table structure for common_admin +-- ---------------------------- +DROP TABLE IF EXISTS `common_admin`; +CREATE TABLE `common_admin` ( + `id` int NOT NULL AUTO_INCREMENT, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `roleId` int NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` int NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of common_admin +-- ---------------------------- +INSERT INTO `common_admin` VALUES (1, '26497@qq.com', '$2a$10$5UzuKUxgR8H0RzLYrP.BUu8.76yKwMD4XkvJIu/xxB7AAHWfphFQm', 'commonAdmin', 1, '111', 'justnoww', 1); +INSERT INTO `common_admin` VALUES (2, '1234@qq.com', '$2a$10$iW/zeL9TLq55SHFaOfyfr.xFMvB4aD3CL2layeAlGC7CqZ9kcscA.', 'commonAdmin', 1, '123', 'BAa', 1); +INSERT INTO `common_admin` VALUES (3, '123cmy@qq.com', '$2a$10$u2KxNBaHuTVwX7KudUgyNelp8j2lymarXKkkUXfWBMRAgbPNryTuW', 'commonAdmin', 1, '123', 'cmy', 1); + +-- ---------------------------- +-- Table structure for device +-- ---------------------------- +DROP TABLE IF EXISTS `device`; +CREATE TABLE `device` ( + `id` int NOT NULL AUTO_INCREMENT, + `hospitalId` int NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `freeTime` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of device +-- ---------------------------- +INSERT INTO `device` VALUES (1, 0, 'bed1', 'bed', '2024-12-02 09:51:12'); +INSERT INTO `device` VALUES (2, 2, 'bed2', 'bed', '2024-12-03 09:30:00'); +INSERT INTO `device` VALUES (3, 2, 'bed3', 'bed', '2025-12-05 10:30:35'); +INSERT INTO `device` VALUES (4, 2, 'instrument1', 'instrument', '2024-12-05 07:15:59'); +INSERT INTO `device` VALUES (5, 2, 'instrument5', 'instrument', '2024-12-05 10:30:00'); + +-- ---------------------------- +-- Table structure for hospital +-- ---------------------------- +DROP TABLE IF EXISTS `hospital`; +CREATE TABLE `hospital` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `amountPatient` int NULL DEFAULT NULL, + `maxAmount` int NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` int NULL DEFAULT NULL, + `roleId` int NULL DEFAULT NULL, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `patientId` int NULL DEFAULT NULL, + `deviceId` int NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of hospital +-- ---------------------------- +INSERT INTO `hospital` VALUES (1, 'hospital1', 5, 200, 'hospital', 'beijing', '6371', 1, 3, 'hospital1@qq.com', '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie', 0, 0); +INSERT INTO `hospital` VALUES (2, 'hospital2', 10, 50, 'hospital', 'cardiff', '123', 1, 3, 'hospital2@qq.com', '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie', 0, 0); + +-- ---------------------------- +-- Table structure for hospital_device +-- ---------------------------- +DROP TABLE IF EXISTS `hospital_device`; +CREATE TABLE `hospital_device` ( + `hospitalId` int NULL DEFAULT NULL, + `deviceId` int NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of hospital_device +-- ---------------------------- + +-- ---------------------------- +-- Table structure for nurse +-- ---------------------------- +DROP TABLE IF EXISTS `nurse`; +CREATE TABLE `nurse` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` int NULL DEFAULT NULL, + `hospitalId` int NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `age` int NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of nurse +-- ---------------------------- +INSERT INTO `nurse` VALUES (1, 'nn', 0, 2, 'nurse', 23, '111', '23453', 'Cardiff'); +INSERT INTO `nurse` VALUES (2, 'Li Xiaoming', 1, 2, 'nurse', 25, '222', '4399', 'Cardiff'); +INSERT INTO `nurse` VALUES (3, 'Sun Hao', 1, 2, 'nurse', 24, '123', '23576', 'Bute'); +INSERT INTO `nurse` VALUES (4, 'Wang Xiaoming', 0, 2, 'nurse', 26, '333', '34578', 'Cardiff'); +INSERT INTO `nurse` VALUES (5, 'Tian Hao', 0, 2, 'nurse', 30, '321', '24353', 'Cardiff'); + +-- ---------------------------- +-- Table structure for patient +-- ---------------------------- +DROP TABLE IF EXISTS `patient`; +CREATE TABLE `patient` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `roleId` int NULL DEFAULT NULL, + `status` int NULL DEFAULT NULL, + `hospitalId` int NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `age` int NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 5 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of patient +-- ---------------------------- +INSERT INTO `patient` VALUES (1, 'Li Ming', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 0, 'patient', 20, '135', 'wwgwg@outlook.com'); +INSERT INTO `patient` VALUES (2, 'Li Hua', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 0, 0, 'patient', 21, '166', 'ss@qq.com'); +INSERT INTO `patient` VALUES (3, 'Huang Li', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 0, 0, 'patient', 13, '111', '22@qq.com'); +INSERT INTO `patient` VALUES (4, 'Xia Ming', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 2, 'patient', 61, '15', '131@qq.com'); +INSERT INTO `patient` VALUES (5, 'Xia Yu', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 2, 'patient', 33, '14315', 'xx@qq.com'); + +-- ---------------------------- +-- Table structure for patient_hospital +-- ---------------------------- +DROP TABLE IF EXISTS `patient_hospital`; +CREATE TABLE `patient_hospital` ( + `hosptialId` int NULL DEFAULT NULL, + `patientId` int NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of patient_hospital +-- ---------------------------- + +-- ---------------------------- +-- Table structure for role +-- ---------------------------- +DROP TABLE IF EXISTS `role`; +CREATE TABLE `role` ( + `roleId` int NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of role +-- ---------------------------- +INSERT INTO `role` VALUES (0, 'SUPER'); +INSERT INTO `role` VALUES (1, 'ADMIN'); +INSERT INTO `role` VALUES (2, 'PATIENT'); +INSERT INTO `role` VALUES (3, 'HOSPITAL'); + +-- ---------------------------- +-- Table structure for super_admin +-- ---------------------------- +DROP TABLE IF EXISTS `super_admin`; +CREATE TABLE `super_admin` ( + `id` int NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `roleId` int NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of super_admin +-- ---------------------------- +INSERT INTO `super_admin` VALUES (1, '2649783657@qq.com', '$2a$10$5UzuKUxgR8H0RzLYrP.BUu8.76yKwMD4XkvJIu/xxB7AAHWfphFQm', 0); + +-- ---------------------------- +-- Procedure structure for reset_primary_keys +-- ---------------------------- +DROP PROCEDURE IF EXISTS `reset_primary_keys`; +delimiter ;; +CREATE PROCEDURE `reset_primary_keys`() +BEGIN + DECLARE done INT DEFAULT 0; + DECLARE current_id INT DEFAULT 0; + DECLARE cur CURSOR FOR + SELECT id FROM common_admin ORDER BY id; + DECLARE CONTINUE HANDLER FOR NOT FOUND SET done = 1; + + OPEN cur; + + -- 釿–°æ›´æ–°æ¯ä¸€æ¡è®°å½•çš„ ID + read_loop: LOOP + FETCH cur INTO current_id; + IF done THEN + LEAVE read_loop; + END IF; + + -- æ ¹æ®æ–°çš„æŽ’åºä¿®æ”¹ ID + UPDATE common_admin SET id = current_id - 1 WHERE id = current_id; + END LOOP; + + CLOSE cur; +END +;; +delimiter ; + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/maria.sql b/maria.sql new file mode 100644 index 0000000000000000000000000000000000000000..071f5be07513209931ee931c5b089d1fb280aa55 --- /dev/null +++ b/maria.sql @@ -0,0 +1,221 @@ +/* + Navicat Premium Data Transfer + + Source Server : mariaDB + Source Server Type : MariaDB + Source Server Version : 101110 + Source Host : localhost:3307 + Source Schema : healthcare + + Target Server Type : MariaDB + Target Server Version : 101110 + File Encoding : 65001 + + Date: 09/12/2024 17:26:16 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for care_homes +-- ---------------------------- +DROP TABLE IF EXISTS `care_homes`; +CREATE TABLE `care_homes` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` enum('approved','rejected','pending') CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT 'pending', + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of care_homes +-- ---------------------------- + +-- ---------------------------- +-- Table structure for common_admin +-- ---------------------------- +DROP TABLE IF EXISTS `common_admin`; +CREATE TABLE `common_admin` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `roleId` int(11) NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 4 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of common_admin +-- ---------------------------- +INSERT INTO `common_admin` VALUES (1, '26497@qq.com', '$2a$10$5UzuKUxgR8H0RzLYrP.BUu8.76yKwMD4XkvJIu/xxB7AAHWfphFQm', 'commonAdmin', 1, '111', 'justnoww', 1); +INSERT INTO `common_admin` VALUES (2, '1234@qq.com', '$2a$10$iW/zeL9TLq55SHFaOfyfr.xFMvB4aD3CL2layeAlGC7CqZ9kcscA.', 'commonAdmin', 1, '123', 'BAa', 1); +INSERT INTO `common_admin` VALUES (3, '123cmy@qq.com', '$2a$10$u2KxNBaHuTVwX7KudUgyNelp8j2lymarXKkkUXfWBMRAgbPNryTuW', 'commonAdmin', 1, '123', 'cmy', 1); + +-- ---------------------------- +-- Table structure for device +-- ---------------------------- +DROP TABLE IF EXISTS `device`; +CREATE TABLE `device` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `hospitalId` int(11) NULL DEFAULT NULL, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `freeTime` datetime NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of device +-- ---------------------------- +INSERT INTO `device` VALUES (1, 0, 'bed1', 'bed', '2024-12-02 09:51:12'); +INSERT INTO `device` VALUES (2, 2, 'bed2', 'bed', '2024-12-03 09:30:00'); +INSERT INTO `device` VALUES (3, 2, 'bed3', 'bed', '2025-12-05 10:30:35'); +INSERT INTO `device` VALUES (4, 2, 'instrument1', 'instrument', '2024-12-05 07:15:59'); +INSERT INTO `device` VALUES (5, 2, 'instrument5', 'instrument', '2024-12-05 10:30:00'); + +-- ---------------------------- +-- Table structure for hospital +-- ---------------------------- +DROP TABLE IF EXISTS `hospital`; +CREATE TABLE `hospital` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `amountPatient` int(11) NULL DEFAULT NULL, + `maxAmount` int(11) NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` int(11) NULL DEFAULT NULL, + `roleId` int(11) NULL DEFAULT NULL, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `patientId` int(11) NULL DEFAULT NULL, + `deviceId` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 3 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of hospital +-- ---------------------------- +INSERT INTO `hospital` VALUES (1, 'hospital1', 5, 200, 'hospital', 'beijing', '6371', 1, 3, 'hospital1@qq.com', '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie', 0, 0); +INSERT INTO `hospital` VALUES (2, 'hospital2', 10, 50, 'hospital', 'cardiff', '123', 1, 3, 'hospital2@qq.com', '$2a$10$wvAZoj4V51MH/MLhVIrnG.NrY07/.Gn9Ar6JsyzRAubWtqbWzgKie', 0, 0); + +-- ---------------------------- +-- Table structure for hospital_device +-- ---------------------------- +DROP TABLE IF EXISTS `hospital_device`; +CREATE TABLE `hospital_device` ( + `hospitalId` int(11) NULL DEFAULT NULL, + `deviceId` int(11) NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of hospital_device +-- ---------------------------- + +-- ---------------------------- +-- Table structure for nurse +-- ---------------------------- +DROP TABLE IF EXISTS `nurse`; +CREATE TABLE `nurse` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `status` int(11) NULL DEFAULT NULL, + `hospitalId` int(11) NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `age` int(11) NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `address` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of nurse +-- ---------------------------- +INSERT INTO `nurse` VALUES (1, 'nn', 0, 2, 'nurse', 23, '111', '23453', 'Cardiff'); +INSERT INTO `nurse` VALUES (2, 'Li Xiaoming', 1, 2, 'nurse', 25, '222', '4399', 'Cardiff'); +INSERT INTO `nurse` VALUES (3, 'Sun Hao', 1, 2, 'nurse', 24, '123', '23576', 'Bute'); +INSERT INTO `nurse` VALUES (4, 'Wang Xiaoming', 0, 2, 'nurse', 26, '333', '34578', 'Cardiff'); +INSERT INTO `nurse` VALUES (5, 'Tian Hao', 0, 2, 'nurse', 30, '321', '24353', 'Cardiff'); + +-- ---------------------------- +-- Table structure for patient +-- ---------------------------- +DROP TABLE IF EXISTS `patient`; +CREATE TABLE `patient` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `roleId` int(11) NULL DEFAULT NULL, + `status` int(11) NULL DEFAULT NULL, + `hospitalId` int(11) NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `age` int(11) NULL DEFAULT NULL, + `phone` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + `email` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 6 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of patient +-- ---------------------------- +INSERT INTO `patient` VALUES (1, 'Li Ming', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 0, 'patient', 20, '135', 'wwgwg@outlook.com'); +INSERT INTO `patient` VALUES (2, 'Li Hua', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 0, 0, 'patient', 21, '166', 'ss@qq.com'); +INSERT INTO `patient` VALUES (3, 'Huang Li', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 0, 0, 'patient', 13, '111', '22@qq.com'); +INSERT INTO `patient` VALUES (4, 'Xia Ming', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 2, 'patient', 61, '15', '131@qq.com'); +INSERT INTO `patient` VALUES (5, 'Xia Yu', '$2a$10$obgmyiqAuhIkBjuw3bROr.LkCh.Nb70e4dL8lwKjSsPxS8gSpQxSC', 2, 1, 2, 'patient', 33, '14315', 'xx@qq.com'); + +-- ---------------------------- +-- Table structure for patient_hospital +-- ---------------------------- +DROP TABLE IF EXISTS `patient_hospital`; +CREATE TABLE `patient_hospital` ( + `hosptialId` int(11) NULL DEFAULT NULL, + `patientId` int(11) NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of patient_hospital +-- ---------------------------- + +-- ---------------------------- +-- Table structure for role +-- ---------------------------- +DROP TABLE IF EXISTS `role`; +CREATE TABLE `role` ( + `roleId` int(11) NULL DEFAULT NULL, + `type` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NULL DEFAULT NULL +) ENGINE = InnoDB CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of role +-- ---------------------------- +INSERT INTO `role` VALUES (0, 'SUPER'); +INSERT INTO `role` VALUES (1, 'ADMIN'); +INSERT INTO `role` VALUES (2, 'PATIENT'); +INSERT INTO `role` VALUES (3, 'HOSPITAL'); + +-- ---------------------------- +-- Table structure for super_admin +-- ---------------------------- +DROP TABLE IF EXISTS `super_admin`; +CREATE TABLE `super_admin` ( + `id` int(11) NOT NULL AUTO_INCREMENT, + `name` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `password` varchar(255) CHARACTER SET utf8mb3 COLLATE utf8mb3_general_ci NOT NULL, + `roleId` int(11) NULL DEFAULT NULL, + PRIMARY KEY (`id`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 2 CHARACTER SET = utf8mb3 COLLATE = utf8mb3_general_ci ROW_FORMAT = Dynamic; + +-- ---------------------------- +-- Records of super_admin +-- ---------------------------- +INSERT INTO `super_admin` VALUES (1, '2649783657@qq.com', '$2a$10$5UzuKUxgR8H0RzLYrP.BUu8.76yKwMD4XkvJIu/xxB7AAHWfphFQm', 0); + +SET FOREIGN_KEY_CHECKS = 1; diff --git a/src/main/java/com/cardiff/client_project/config/WebSecurityConfig.java b/src/main/java/com/cardiff/client_project/config/WebSecurityConfig.java index fe2fac1506400c59bed33bf7175eef29a6c2b378..cc805aa29e1308ef3ed80cf59ab9e09e822bd641 100644 --- a/src/main/java/com/cardiff/client_project/config/WebSecurityConfig.java +++ b/src/main/java/com/cardiff/client_project/config/WebSecurityConfig.java @@ -53,7 +53,7 @@ public class WebSecurityConfig{ .authorizeHttpRequests(requests -> requests .requestMatchers("/superAdminView.html").hasRole("SUPER") .requestMatchers("/hospitalView.html").hasRole("HOSPITAL") - .requestMatchers("/admin.html").hasRole("ADMIN") + //.requestMatchers("/admin.html").hasRole("ADMIN") .anyRequest().permitAll() ) diff --git a/src/main/java/com/cardiff/client_project/service/imp/CommonAdminHospitalServiceImp.java b/src/main/java/com/cardiff/client_project/service/imp/CommonAdminHospitalServiceImp.java index 535199c8949f1fd2011910a681d5bbf53a931b30..e91fbeb29cdc0baa550a7eff82ef5fc15a233ad2 100644 --- a/src/main/java/com/cardiff/client_project/service/imp/CommonAdminHospitalServiceImp.java +++ b/src/main/java/com/cardiff/client_project/service/imp/CommonAdminHospitalServiceImp.java @@ -51,9 +51,9 @@ public class CommonAdminHospitalServiceImp implements CommonAdminHospitalService double occupancyRate = 1.0 - (double) hospital.getAvailableBeds() / hospital.getTotalBeds(); - String sql = "INSERT INTO hospital (name, address, phone, totalBeds, availableBeds, occupancyRate) VALUES (?, ?, ?, ?, ?, ?)"; + String sql = "INSERT INTO hospital (name, address, phone, maxAmount, amountPatient) VALUES (?, ?, ?, ?, ?)"; jdbcTemplate.update(sql, hospital.getName(), hospital.getAddress(), hospital.getPhone(), - hospital.getTotalBeds(), hospital.getAvailableBeds(), occupancyRate); + hospital.getTotalBeds(), hospital.getAvailableBeds()); } @Override @@ -68,7 +68,7 @@ public class CommonAdminHospitalServiceImp implements CommonAdminHospitalService throw new IllegalArgumentException("Invalid hospital data: Missing or incorrect fields."); } - String sql = "UPDATE hospital SET name = ?, address = ?, phone = ?, totalBeds = ?, availableBeds = ?, occupancyRate = ? WHERE id = ?"; + String sql = "UPDATE hospital SET name = ?, address = ?, phone = ?, maxAmount = ?, amountPatient = ? WHERE id = ?"; double occupancyRate = 1.0 - (double) hospital.getAvailableBeds() / hospital.getTotalBeds(); int rowsUpdated = jdbcTemplate.update(sql, hospital.getName(), hospital.getAddress(), hospital.getPhone(), diff --git a/src/main/resources/application-dev.yml b/src/main/resources/application-dev.yml index 0b8680184734f9359f3e3bc8f2de28c6194ba4d9..c2a63adcc08f658473607b00aea33a325b758198 100644 --- a/src/main/resources/application-dev.yml +++ b/src/main/resources/application-dev.yml @@ -1,6 +1,6 @@ healthcare: datasource: - url: jdbc:mariadb://localhost:3306/healthcare?createDatabaseIfNotExist=true - port: 3306 + url: jdbc:mariadb://localhost:3307/healthcare?createDatabaseIfNotExist=true + port: 3307 username: root - password: comsc \ No newline at end of file + password: root \ No newline at end of file diff --git a/src/test/java/com/cardiff/client_project/HospitalServiceTest.java b/src/test/java/com/cardiff/client_project/HospitalServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..4fc8ff6c51ff8ec1df74b3d42bae2133c4719f2b --- /dev/null +++ b/src/test/java/com/cardiff/client_project/HospitalServiceTest.java @@ -0,0 +1,76 @@ +package com.cardiff.client_project; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.jdbc.JdbcTest; +import org.springframework.boot.test.context.SpringBootTest; +import org.springframework.jdbc.core.JdbcTemplate; + +import java.util.List; + +import static org.assertj.core.api.Assertions.assertThat;import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.jdbc.core.JdbcTemplate; +import org.springframework.jdbc.core.BeanPropertyRowMapper; + +import java.util.Arrays; +import java.util.List; + +import static org.mockito.Mockito.*; +import static org.junit.jupiter.api.Assertions.*; +@SpringBootTest +class HospitalServiceTest { + + @Autowired + private JdbcTemplate jdbcTemplate; + + + @Test + void testQueryAdmins() { + + String sql = "SELECT * FROM common_admin ORDER BY status DESC"; + List<AdminVO> result = jdbcTemplate.query(sql, new BeanPropertyRowMapper<>(AdminVO.class)); + + + assertThat(result).hasSize(3); // back 3 data + assertThat(result.get(0).getName()).isEqualTo("justnoww"); + assertThat(result.get(1).getName()).isEqualTo("BAa"); + assertThat(result.get(2).getName()).isEqualTo("cmy"); + } + + + public static class AdminVO { + private int id; + private String name; + private int status; + + // Getters and Setters + public int getId() { + return id; + } + + public void setId(int id) { + this.id = id; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public int getStatus() { + return status; + } + + public void setStatus(int status) { + this.status = status; + } + } +} diff --git a/src/test/java/com/cardiff/client_project/SuperAdminServiceTest.java b/src/test/java/com/cardiff/client_project/SuperAdminServiceTest.java new file mode 100644 index 0000000000000000000000000000000000000000..71508d516833094a6f07f75181bf1e9f80156b0a --- /dev/null +++ b/src/test/java/com/cardiff/client_project/SuperAdminServiceTest.java @@ -0,0 +1,57 @@ +package com.cardiff.client_project; + +import com.cardiff.client_project.mapper.SuperAdminMapper; +import com.cardiff.client_project.pojo.vo.AdminVO; +import com.cardiff.client_project.service.SuperAdminService; +import com.cardiff.client_project.service.imp.SuperAdminServiceImp; +import com.cardiff.client_project.utils.Result; +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.mockito.InjectMocks; +import org.mockito.Mock; +import org.mockito.MockitoAnnotations; +import org.springframework.beans.BeanUtils; + +import java.util.Arrays; +import java.util.List; + +import static org.junit.jupiter.api.Assertions.assertEquals; +import static org.mockito.Mockito.when; + +class SuperAdminServiceTest { + + @Mock + private SuperAdminMapper superAdminMapper; + + @InjectMocks + private SuperAdminServiceImp superAdminService; // å‡è®¾ä½ çš„ç±»åæ˜¯ SuperAdminService + + @BeforeEach + void setUp() { + MockitoAnnotations.openMocks(this); + } + + @Test + void testSelectAllAdmin() { + // Arrange: Prepare mock data + AdminVO admin1 = new AdminVO(); + admin1.setId(1); + admin1.setName("Admin_A"); + admin1.setStatus(1); + + List<AdminVO> mockAdmins = Arrays.asList(admin1); + + // Mock superAdminMapper behavior + when(superAdminMapper.selectAllAdmin()).thenReturn(mockAdmins); + // Act: Call the method + Result result = superAdminService.selectAllAdmin(); + + // Assert: Verify the result + + List<AdminVO> adminVOS = (List<AdminVO>) result.getData(); + + assertEquals(1, adminVOS.size()); + assertEquals("Admin_A", adminVOS.get(0).getName()); + assertEquals("ACTIVE", adminVOS.get(0).getStatus_str()); + } +}