diff --git a/数据库脚本 b/数据库脚本 new file mode 100644 index 0000000..5c0a9ff --- /dev/null +++ b/数据库脚本 @@ -0,0 +1,510 @@ +/* + Navicat Premium Data Transfer + + Source Server : 111 + Source Server Type : MySQL + Source Server Version : 80040 (8.0.40) + Source Host : localhost:3306 + Source Schema : laundrymanagementsystem + + Target Server Type : MySQL + Target Server Version : 80040 (8.0.40) + File Encoding : 65001 + + Date: 28/12/2024 17:20:05 +*/ + +SET NAMES utf8mb4; +SET FOREIGN_KEY_CHECKS = 0; + +-- ---------------------------- +-- Table structure for administrator +-- ---------------------------- +DROP TABLE IF EXISTS `administrator`; +CREATE TABLE `administrator` ( + `adminID` int NOT NULL AUTO_INCREMENT COMMENT '管理员id', + `account` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '管理员账号', + `password` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '管理员密码', + `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '管理员名', + `phoneNumber` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '管理员手机号', + PRIMARY KEY (`adminID`) USING BTREE, + INDEX `idx_admin_account`(`account` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of administrator +-- ---------------------------- +INSERT INTO `administrator` VALUES (1, 'WangHaoxuan', '123456', '王浩轩', '18863631989'); +INSERT INTO `administrator` VALUES (2, 'LiAnnuo', '654321', '李安诺', '19506191876'); +INSERT INTO `administrator` VALUES (3, 'StarLight1999', '3124551hfdas', '星光123', '18572839234'); +INSERT INTO `administrator` VALUES (4, 'WoShiTianCai666', 'fajhdsh431ADH', '天才', '18475283904'); +INSERT INTO `administrator` VALUES (5, 'ZhangSan', '2317151hdas', '张三', '13624859202'); +INSERT INTO `administrator` VALUES (6, 'LiSi', 'dusanbbf', '李四', '13290482910'); +INSERT INTO `administrator` VALUES (7, 'WangWu', 'kfahgbv417581', '王五', '17482932054'); +INSERT INTO `administrator` VALUES (8, 'MingTian', 'hfabcvmc93DA', '明天', '19642937490'); +INSERT INTO `administrator` VALUES (9, 'ZhangLiang', 'zkshdkfq3', '张良', '17642895402'); +INSERT INTO `administrator` VALUES (10, 'CaoCao', 'fbadk2328FJS', '曹操', '13782990472'); + +-- ---------------------------- +-- Table structure for announcement +-- ---------------------------- +DROP TABLE IF EXISTS `announcement`; +CREATE TABLE `announcement` ( + `announcementID` int NOT NULL AUTO_INCREMENT COMMENT '公告id', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告标题', + `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '公告内容', + `addTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + PRIMARY KEY (`announcementID`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of announcement +-- ---------------------------- +INSERT INTO `announcement` VALUES (1, '开业大酬宾!', '洗衣店开业啦!今日起一周内可享优惠:活动期间进店第一件9.9;本周内洗衣可享受8折优惠!', '2024-02-08 13:39:00'); +INSERT INTO `announcement` VALUES (2, '本店来活动啦!', '即日起一周内带本店定位发布朋友圈、抖音或小红书集赞38,洗衣可享受七折优惠!', '2024-11-01 13:46:18'); +INSERT INTO `announcement` VALUES (3, '双十一活动开始啦!', '11月10号到15号充值可享受优惠:消费满100减8,满200减28,满300减58。', '2024-11-10 13:50:24'); +INSERT INTO `announcement` VALUES (4, '冬季洗衣不用愁!', '冬天到啦,压箱底的厚衣服该洗洗了!即日起至12月10日,羽绒服低至18元起,进店消费满100减8,满200减28,满300减50!', '2024-11-29 13:54:26'); +INSERT INTO `announcement` VALUES (5, '开学季活动来啦!', '开学季,享优惠!即日起至9月8日,进店消费享受八折优惠,羽绒服低至26.9元。', '2024-08-27 14:00:25'); +INSERT INTO `announcement` VALUES (6, '五一洗衣优惠来啦!', '五一假期洗衣可享受九折优惠!16.9精洗两件衣服(仅限普通款式)。', '2024-05-01 14:03:44'); +INSERT INTO `announcement` VALUES (7, '六月会员活动来啦!', '活动一:本店会员消费可享受九折优惠;活动二:会员可享受洗三免一;两个活动不可同时使用。', '2024-06-01 14:07:50'); +INSERT INTO `announcement` VALUES (8, '服务上新啦!', '今日起本店可提供洗鞋服务,即日起两周内洗鞋可享受九折优惠,板鞋低至9.9!', '2024-07-18 14:11:40'); +INSERT INTO `announcement` VALUES (9, '双十二洗衣享优惠!', '12月10日至13日,羽绒服低至19.9元起,第二件可享八折优惠。', '2024-12-09 14:14:29'); +INSERT INTO `announcement` VALUES (10, '国庆优惠来啦!', '国庆假期期间,洗衣可享受第二件七折优惠!', '2024-09-30 14:16:25'); + +-- ---------------------------- +-- Table structure for cloth +-- ---------------------------- +DROP TABLE IF EXISTS `cloth`; +CREATE TABLE `cloth` ( + `clothID` int NOT NULL AUTO_INCREMENT COMMENT '衣服id', + `clothType` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '衣服类型', + `quantity` int NOT NULL COMMENT '数量', + `cleaningType` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '清洗方式', + `color` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '衣服颜色', + PRIMARY KEY (`clothID`) USING BTREE, + INDEX `idx_cloth_type`(`clothType` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of cloth +-- ---------------------------- +INSERT INTO `cloth` VALUES (1, '毛衣', 1, '干洗', '黑色·'); +INSERT INTO `cloth` VALUES (2, '羽绒服', 1, '干洗', '白色'); +INSERT INTO `cloth` VALUES (3, '羊毛大衣', 1, '干洗', '棕色'); +INSERT INTO `cloth` VALUES (4, '裙子', 2, '水洗', '红色'); +INSERT INTO `cloth` VALUES (5, '牛仔裤', 1, '水洗', '牛仔蓝'); +INSERT INTO `cloth` VALUES (6, '运动裤', 3, '水洗', '灰色'); +INSERT INTO `cloth` VALUES (7, '毛衣', 1, '干洗', '白色'); +INSERT INTO `cloth` VALUES (8, '卫衣', 2, '水洗', '黑色'); +INSERT INTO `cloth` VALUES (9, '羽绒服', 1, '干洗', '粉色'); +INSERT INTO `cloth` VALUES (10, '毛呢大衣', 1, '干洗', '黑色'); + +-- ---------------------------- +-- Table structure for evaluation +-- ---------------------------- +DROP TABLE IF EXISTS `evaluation`; +CREATE TABLE `evaluation` ( + `evaluationID` int NOT NULL AUTO_INCREMENT COMMENT '评价编号', + `type` varchar(10) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '评价类型', + `orderID` int NOT NULL COMMENT '订单id', + `userID` int NOT NULL COMMENT '用户id', + `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '评价内容', + PRIMARY KEY (`evaluationID`) USING BTREE, + INDEX `idx_evaluation_type`(`type` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of evaluation +-- ---------------------------- +INSERT INTO `evaluation` VALUES (1, '五星', 1, 3, '这家洗衣店真是太棒了!衣服洗得干干净净,服务态度也很好,工作人员热情友好。'); +INSERT INTO `evaluation` VALUES (2, '三星', 2, 1, '衣服洗得还可以,但取衣的时间有点长,等了二十分钟。'); +INSERT INTO `evaluation` VALUES (3, '五星', 3, 5, '洗衣店的环境很干净,设备也很先进。我的白衬衫在这里洗得特别亮白,强烈推荐!'); +INSERT INTO `evaluation` VALUES (4, '四星', 4, 7, '洗衣效果还不错,但服务态度有点冷淡。希望能改进一下。'); +INSERT INTO `evaluation` VALUES (5, '四星', 6, 8, '衣服清洗的很干净,但是包装得不够好,感觉有点随意,希望能改进一下。'); +INSERT INTO `evaluation` VALUES (6, '五星', 5, 4, '我在这里洗了几次衣服,每次都很满意。特别喜欢他们的快速服务,真是节省了我的时间!'); +INSERT INTO `evaluation` VALUES (7, '四星', 7, 2, '虽然服务态度不错,但我发现有一件衣服洗后有些褶皱,希望下次能更注意。'); +INSERT INTO `evaluation` VALUES (8, '五星', 8, 9, '价格合理,洗衣效果出乎意料的好。以后就定点来这家洗衣店了!'); +INSERT INTO `evaluation` VALUES (9, '五星', 9, 6, '第一次来这家洗衣店,体验很好。以后有需要还会再来,推荐给朋友们!'); +INSERT INTO `evaluation` VALUES (10, '五星', 10, 10, '他们对待每一件衣服都很细心,连小细节都不放过。真是专业的洗衣店!'); +INSERT INTO `evaluation` VALUES (11, '五星', 15, 9, '好评好评好评,他们家洗出来衣服的效果真的挺不错的'); + +-- ---------------------------- +-- Table structure for log +-- ---------------------------- +DROP TABLE IF EXISTS `log`; +CREATE TABLE `log` ( + `logID` int NOT NULL AUTO_INCREMENT COMMENT '日志id', + `orderID` int NOT NULL COMMENT '订单id', + `addTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '状态', + PRIMARY KEY (`logID`) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 22 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of log +-- ---------------------------- +INSERT INTO `log` VALUES (1, 1, '2024-12-21 21:41:35', '未处理'); +INSERT INTO `log` VALUES (2, 1, '2024-12-22 14:01:42', '处理中'); +INSERT INTO `log` VALUES (3, 3, '2024-07-06 14:04:10', '已完成'); +INSERT INTO `log` VALUES (4, 4, '2024-12-23 14:12:11', '未处理'); +INSERT INTO `log` VALUES (5, 5, '2024-11-07 14:12:33', '处理中'); +INSERT INTO `log` VALUES (6, 6, '2024-08-05 14:14:11', '已完成'); +INSERT INTO `log` VALUES (7, 7, '2024-09-19 14:14:37', '未处理'); +INSERT INTO `log` VALUES (8, 8, '2024-05-09 14:15:23', '处理中'); +INSERT INTO `log` VALUES (9, 9, '2024-03-21 14:15:55', '未处理'); +INSERT INTO `log` VALUES (10, 10, '2024-06-12 14:16:22', '未处理'); +INSERT INTO `log` VALUES (12, 2, '2024-10-03 00:00:00', '处理中'); +INSERT INTO `log` VALUES (18, 15, '2024-12-24 12:38:29', '未处理'); +INSERT INTO `log` VALUES (19, 15, '2024-12-24 12:45:17', '处理中'); +INSERT INTO `log` VALUES (20, 15, '2024-12-24 12:45:36', '已完成'); +INSERT INTO `log` VALUES (21, 0, '2024-12-24 12:48:44', '新预约创建: 预约ID11'); + +-- ---------------------------- +-- Table structure for order +-- ---------------------------- +DROP TABLE IF EXISTS `order`; +CREATE TABLE `order` ( + `orderID` int NOT NULL AUTO_INCREMENT COMMENT '订单id', + `addTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '订单状态', + `userID` int NOT NULL COMMENT '用户id', + `cost` int NOT NULL COMMENT '清洗费用', + PRIMARY KEY (`orderID`) USING BTREE, + INDEX `idx_order_addTime`(`addTime` ASC) USING BTREE, + INDEX `idx_order_state`(`state` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 16 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of order +-- ---------------------------- +INSERT INTO `order` VALUES (1, '2024-12-21 21:41:35', '处理中', 3, 127); +INSERT INTO `order` VALUES (2, '2024-10-02 13:29:34', '处理中', 1, 92); +INSERT INTO `order` VALUES (3, '2024-07-05 10:30:45', '已完成', 5, 59); +INSERT INTO `order` VALUES (4, '2024-12-23 15:38:33', '未处理', 7, 88); +INSERT INTO `order` VALUES (5, '2024-11-07 08:12:12', '处理中', 4, 60); +INSERT INTO `order` VALUES (6, '2024-08-05 20:19:22', '已完成', 8, 75); +INSERT INTO `order` VALUES (7, '2024-09-18 18:33:36', '未处理', 2, 30); +INSERT INTO `order` VALUES (8, '2024-05-08 21:34:17', '处理中', 9, 118); +INSERT INTO `order` VALUES (9, '2024-03-21 15:34:54', '未处理', 6, 82); +INSERT INTO `order` VALUES (10, '2024-06-12 23:41:57', '未处理', 10, 138); +INSERT INTO `order` VALUES (15, '2024-12-24 12:38:29', '已完成', 9, 11); + +-- ---------------------------- +-- Table structure for reminder +-- ---------------------------- +DROP TABLE IF EXISTS `reminder`; +CREATE TABLE `reminder` ( + `reminderID` int NOT NULL AUTO_INCREMENT COMMENT '信息id', + `title` varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '标题', + `content` varchar(500) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '信息内容', + `date` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '发送日期', + `orderID` int NOT NULL COMMENT '订单信息', + PRIMARY KEY (`reminderID` DESC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 14 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of reminder +-- ---------------------------- +INSERT INTO `reminder` VALUES (13, '预约成功', '您的订单已预约成功', '2024-12-24 12:53:19', 0); +INSERT INTO `reminder` VALUES (12, '订单已完成', '您的衣服已清洗完成', '2024-12-24 12:45:36', 15); +INSERT INTO `reminder` VALUES (11, '订单状态更新', '您的衣服正在清洗中', '2024-12-24 12:38:29', 15); +INSERT INTO `reminder` VALUES (10, '预约成功', '您的订单已预约成功', '2024-06-12 00:00:00', 0); +INSERT INTO `reminder` VALUES (9, '预约成功', '您的订单已预约成功', '2024-03-21 00:00:00', 0); +INSERT INTO `reminder` VALUES (8, '订单状态更新啦', '您的衣服正在清洗中', '2024-05-09 00:00:00', 8); +INSERT INTO `reminder` VALUES (7, '预约成功', '您的订单已预约成功', '2024-09-19 00:00:00', 0); +INSERT INTO `reminder` VALUES (6, '订单已完成', '您的衣服已清洗完成', '2024-08-05 00:00:00', 6); +INSERT INTO `reminder` VALUES (5, '洗衣状态更新啦', '您的衣服正在清洗中', '2024-11-07 00:00:00', 5); +INSERT INTO `reminder` VALUES (4, '预约成功', '您的订单已预约成功', '2024-12-23 00:00:00', 4); +INSERT INTO `reminder` VALUES (3, '洗衣状态更新啦', '您的衣服正在清洗中', '2024-10-03 00:00:00', 2); +INSERT INTO `reminder` VALUES (2, '订单已完成', '您的衣服已清洗完成', '2024-07-06 00:00:00', 3); +INSERT INTO `reminder` VALUES (1, '洗衣状态更新啦', '您的衣服正在清洗中', '2024-12-22 00:00:00', 1); + +-- ---------------------------- +-- Table structure for reservation +-- ---------------------------- +DROP TABLE IF EXISTS `reservation`; +CREATE TABLE `reservation` ( + `reservationID` int NOT NULL AUTO_INCREMENT COMMENT '预约id', + `addTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `userID` int NOT NULL COMMENT '用户id', + `notes` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', + `applicationTime` date NOT NULL COMMENT '申请日期', + `examine` char(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '否' COMMENT '是否审核', + `reply` varchar(200) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '审核回复', + PRIMARY KEY (`reservationID`) USING BTREE, + INDEX `idx_reservation_applicationTime`(`applicationTime` ASC) USING BTREE, + INDEX `idx_reservation_examine`(`examine` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 12 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of reservation +-- ---------------------------- +INSERT INTO `reservation` VALUES (1, '2024-06-20 23:32:23', 3, '洗羽绒服和棉被', '2024-06-22', '是', '本店不能洗棉被'); +INSERT INTO `reservation` VALUES (2, '2024-11-14 12:22:41', 5, '洗皮鞋', '2024-11-14', '否', NULL); +INSERT INTO `reservation` VALUES (3, '2024-03-08 20:03:04', 1, '洗礼服', '2024-03-08', '是', NULL); +INSERT INTO `reservation` VALUES (4, '2024-03-18 21:23:03', 2, '洗球鞋', '2023-09-03', '是', NULL); +INSERT INTO `reservation` VALUES (5, '2024-07-11 13:43:27', 5, '洗短袖', '2024-07-15', '否', NULL); +INSERT INTO `reservation` VALUES (6, '2024-02-23 21:27:45', 7, '洗棉袄', '2024-02-24', '是', '11号休息,请换个时间'); +INSERT INTO `reservation` VALUES (7, '2024-04-20 10:20:30', 8, '洗衬衫', '2024-04-20', '是', '今天家里有事,闭店一天'); +INSERT INTO `reservation` VALUES (8, '2024-04-25 06:10:49', 2, '洗毛衣', '2024-04-25', '是', NULL); +INSERT INTO `reservation` VALUES (9, '2024-06-24 08:08:08', 3, '洗鞋', '2024-06-25', '否', NULL); +INSERT INTO `reservation` VALUES (10, '2024-12-05 20:30:28', 6, '洗T恤', '2024-12-06', '是', NULL); +INSERT INTO `reservation` VALUES (11, '2024-12-24 12:48:44', 10, '洗球鞋', '2024-12-25', '是', NULL); + +-- ---------------------------- +-- Table structure for user +-- ---------------------------- +DROP TABLE IF EXISTS `user`; +CREATE TABLE `user` ( + `userID` int NOT NULL AUTO_INCREMENT COMMENT '用户id', + `addTime` datetime NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间', + `account` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户账号', + `password` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户密码', + `name` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '用户名', + `sex` varchar(1) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '性别', + `email` varchar(30) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '邮箱', + `phoneNumber` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '手机号码', + PRIMARY KEY (`userID`) USING BTREE, + INDEX `idx_user_info`(`account` ASC, `name` ASC, `sex` ASC, `email` ASC, `phoneNumber` ASC) USING BTREE, + INDEX `idx_user_name`(`name` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of user +-- ---------------------------- +INSERT INTO `user` VALUES (1, '2024-12-31 20:28:24', '298427', 'fashba', '王浩轩', '男', '1327677915@qq.com', '18863631989'); +INSERT INTO `user` VALUES (2, '2023-06-21 10:26:55', '321581', 'vaCA59', '李安诺', '女', '2872985526@qq.com', '19506191876'); +INSERT INTO `user` VALUES (3, '2024-09-30 10:22:09', '239178', 'NVMA133jda', '张强', '男', 'zhangqiang@126.com', '15929603123'); +INSERT INTO `user` VALUES (4, '2024-03-18 20:37:59', '329105', 'fdafjv123', '周栋', '男', 'zd123@163.com', '19572939422'); +INSERT INTO `user` VALUES (5, '2023-05-12 14:22:00', '418513', 'faFJAS2314', '李华', '男', 'lihua@gmail.com', '18432845901'); +INSERT INTO `user` VALUES (6, '2024-10-22 20:45:03', '585190', 'faaAFJAS321', '孙晓华', '女', 'aaaaa@abc.com', '18457529320'); +INSERT INTO `user` VALUES (7, '2023-11-22 12:35:23', '509328', 'fajdfnBDd.589', '萧炎', '男', 'xxxyyy@qq.com', '13759201058'); +INSERT INTO `user` VALUES (8, '2023-07-19 11:45:00', '923791', 'BNFHAD418571', '林黛玉', '女', 'ldyldy@xyz.com', '12593482100'); +INSERT INTO `user` VALUES (9, '2023-06-25 09:15:18', '571690', 'jfgahBDU932854', '王芳', '女', 'wfffff@123.com', '17857293024'); +INSERT INTO `user` VALUES (10, '2022-03-22 18:04:30', '455819', '8fhasn9321KHJD', '李娜娜', '女', 'lnnlnnlnn@qq.com', '19574729302'); + +-- ---------------------------- +-- Table structure for wmachine +-- ---------------------------- +DROP TABLE IF EXISTS `wmachine`; +CREATE TABLE `wmachine` ( + `wmachineID` int NOT NULL AUTO_INCREMENT COMMENT '洗衣机ID', + `state` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '状态', + `workPhase` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '运行阶段', + `type` varchar(20) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL COMMENT '类型', + PRIMARY KEY (`wmachineID`) USING BTREE, + INDEX `idx_wmachine_state`(`state` ASC) USING BTREE +) ENGINE = InnoDB AUTO_INCREMENT = 11 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci ROW_FORMAT = DYNAMIC; + +-- ---------------------------- +-- Records of wmachine +-- ---------------------------- +INSERT INTO `wmachine` VALUES (1, '空闲', NULL, '水洗'); +INSERT INTO `wmachine` VALUES (2, '运行中', '洗涤', '水洗'); +INSERT INTO `wmachine` VALUES (3, '运行中', '漂洗', '水洗'); +INSERT INTO `wmachine` VALUES (4, '运行中', '脱水', '水洗'); +INSERT INTO `wmachine` VALUES (5, '清洁中', NULL, '水洗'); +INSERT INTO `wmachine` VALUES (6, '运行中', '清洗', '干洗'); +INSERT INTO `wmachine` VALUES (7, '运行中', '干燥', '干洗'); +INSERT INTO `wmachine` VALUES (8, '空闲', NULL, '干洗'); +INSERT INTO `wmachine` VALUES (9, '清洁中', NULL, '干洗'); +INSERT INTO `wmachine` VALUES (10, '运行中', '脱水', '干洗'); + +-- ---------------------------- +-- View structure for admin_info +-- ---------------------------- +DROP VIEW IF EXISTS `admin_info`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `admin_info` AS select `administrator`.`adminID` AS `adminID`,`administrator`.`name` AS `name`,`administrator`.`phoneNumber` AS `phoneNumber` from `administrator`; + +-- ---------------------------- +-- View structure for cloth_cleaning_info +-- ---------------------------- +DROP VIEW IF EXISTS `cloth_cleaning_info`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `cloth_cleaning_info` AS select `cloth`.`clothID` AS `clothID`,`cloth`.`clothType` AS `clothType`,`cloth`.`quantity` AS `quantity`,`cloth`.`cleaningType` AS `cleaningType` from `cloth`; + +-- ---------------------------- +-- View structure for order_details +-- ---------------------------- +DROP VIEW IF EXISTS `order_details`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `order_details` AS select `order`.`orderID` AS `orderID`,`order`.`userID` AS `userID`,`order`.`addTime` AS `addTime`,`order`.`state` AS `state` from `order`; + +-- ---------------------------- +-- View structure for reservation_details +-- ---------------------------- +DROP VIEW IF EXISTS `reservation_details`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `reservation_details` AS select `reservation`.`reservationID` AS `reservationID`,`reservation`.`userID` AS `userID`,`reservation`.`applicationTime` AS `applicationTime`,`reservation`.`examine` AS `examine` from `reservation`; + +-- ---------------------------- +-- View structure for user_info +-- ---------------------------- +DROP VIEW IF EXISTS `user_info`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `user_info` AS select `user`.`userID` AS `userID`,`user`.`account` AS `account`,`user`.`addTime` AS `addTime`,`user`.`name` AS `name`,`user`.`email` AS `email`,`user`.`phoneNumber` AS `phoneNumber` from `user`; + +-- ---------------------------- +-- View structure for user_order_info +-- ---------------------------- +DROP VIEW IF EXISTS `user_order_info`; +CREATE ALGORITHM = UNDEFINED SQL SECURITY DEFINER VIEW `user_order_info` AS select `u`.`userID` AS `userID`,`u`.`name` AS `name`,`o`.`state` AS `state` from (`user` `u` join `order` `o` on((`u`.`userID` = `o`.`userID`))); + +-- ---------------------------- +-- Procedure structure for AddNewUser +-- ---------------------------- +DROP PROCEDURE IF EXISTS `AddNewUser`; +delimiter ;; +CREATE PROCEDURE `AddNewUser`(IN p_account VARCHAR(20), + IN p_password VARCHAR(20), + IN p_name VARCHAR(20), + IN p_sex VARCHAR(1), + IN p_email VARCHAR(30), + IN p_phoneNumber VARCHAR(20)) +BEGIN + INSERT INTO user (account, password, name, sex, email, phoneNumber) + VALUES (p_account, p_password, p_name, p_sex, p_email, p_phoneNumber); +END +;; +delimiter ; + +-- ---------------------------- +-- Procedure structure for CreateReservation +-- ---------------------------- +DROP PROCEDURE IF EXISTS `CreateReservation`; +delimiter ;; +CREATE PROCEDURE `CreateReservation`(IN p_userID INT, + IN p_notes VARCHAR(200), + IN p_applicationTime DATE) +BEGIN + INSERT INTO reservation (userID, notes, applicationTime) + VALUES (p_userID, p_notes, p_applicationTime); +END +;; +delimiter ; + +-- ---------------------------- +-- Procedure structure for GetUserOrders +-- ---------------------------- +DROP PROCEDURE IF EXISTS `GetUserOrders`; +delimiter ;; +CREATE PROCEDURE `GetUserOrders`(IN p_userID INT) +BEGIN + SELECT * FROM `order` + WHERE userID = p_userID; +END +;; +delimiter ; + +-- ---------------------------- +-- Procedure structure for LogOrderActivity +-- ---------------------------- +DROP PROCEDURE IF EXISTS `LogOrderActivity`; +delimiter ;; +CREATE PROCEDURE `LogOrderActivity`(IN p_orderID INT, + IN p_state VARCHAR(20)) +BEGIN + INSERT INTO log (orderID, state) + VALUES (p_orderID, p_state); +END +;; +delimiter ; + +-- ---------------------------- +-- Procedure structure for UpdateOrderState +-- ---------------------------- +DROP PROCEDURE IF EXISTS `UpdateOrderState`; +delimiter ;; +CREATE PROCEDURE `UpdateOrderState`(IN p_orderID INT, + IN p_state VARCHAR(20)) +BEGIN + UPDATE `order` + SET state = p_state + WHERE orderID = p_orderID; +END +;; +delimiter ; + +-- ---------------------------- +-- Triggers structure for table order +-- ---------------------------- +DROP TRIGGER IF EXISTS `newOrder_newLog`; +delimiter ;; +CREATE TRIGGER `newOrder_newLog` AFTER INSERT ON `order` FOR EACH ROW BEGIN + INSERT INTO log (orderID, addTime, state) + VALUES (NEW.orderID, NOW(), '未处理'); +END +;; +delimiter ; + +-- ---------------------------- +-- Triggers structure for table order +-- ---------------------------- +DROP TRIGGER IF EXISTS `newOrder_newReminder`; +delimiter ;; +CREATE TRIGGER `newOrder_newReminder` AFTER INSERT ON `order` FOR EACH ROW BEGIN + INSERT INTO reminder (title, content, date, orderID) + VALUES ('订单状态更新', '您的衣服正在清洗中', NOW(), NEW.orderID); +END +;; +delimiter ; + +-- ---------------------------- +-- Triggers structure for table order +-- ---------------------------- +DROP TRIGGER IF EXISTS `Finish_Reminder`; +delimiter ;; +CREATE TRIGGER `Finish_Reminder` AFTER UPDATE ON `order` FOR EACH ROW BEGIN + IF New.state = '已完成' THEN + INSERT INTO reminder (title, content, date, orderID) + VALUES ('订单已完成', + '您的衣服已清洗完成', + NOW(), + NEW.orderID); + END IF; +END +;; +delimiter ; + +-- ---------------------------- +-- Triggers structure for table order +-- ---------------------------- +DROP TRIGGER IF EXISTS `updOrder_newLog`; +delimiter ;; +CREATE TRIGGER `updOrder_newLog` AFTER UPDATE ON `order` FOR EACH ROW BEGIN + IF OLD.state <> NEW.state THEN + INSERT INTO log (orderID, addTime, state) + VALUES (NEW.orderID, + NOW(), + NEW.state); + END IF; +END +;; +delimiter ; + +-- ---------------------------- +-- Triggers structure for table reservation +-- ---------------------------- +DROP TRIGGER IF EXISTS `newReservationLog`; +delimiter ;; +CREATE TRIGGER `newReservationLog` AFTER INSERT ON `reservation` FOR EACH ROW BEGIN + INSERT INTO log (orderID, addTime, state) + VALUES (0, NOW(), CONCAT('新预约创建: 预约ID', NEW.reservationID)); +END +;; +delimiter ; + +-- ---------------------------- +-- Triggers structure for table reservation +-- ---------------------------- +DROP TRIGGER IF EXISTS `AcceptReservation`; +delimiter ;; +CREATE TRIGGER `AcceptReservation` AFTER UPDATE ON `reservation` FOR EACH ROW BEGIN + IF OLD.examine = '否' AND NEW.examine = '是' THEN + INSERT INTO reminder (title, content, date, orderID) + VALUES ('预约成功', + '您的订单已预约成功', + NOW(), + 0); + END IF; +END +;; +delimiter ; + +SET FOREIGN_KEY_CHECKS = 1;