#!/bin/bash echo "================================" echo "医生预约系统安装脚本" echo "================================" echo "" # 检查是否在项目根目录 if [ ! -d "server" ] || [ ! -d "admin" ]; then echo "错误: 请在项目根目录运行此脚本" exit 1 fi echo "步骤 1/4: 检查后端文件..." files=( "server/app/common/model/doctor/Appointment.php" "server/app/adminapi/controller/doctor/AppointmentController.php" "server/app/adminapi/logic/doctor/AppointmentLogic.php" "server/app/adminapi/validate/doctor/AppointmentValidate.php" "server/app/adminapi/lists/doctor/AppointmentLists.php" "server/sql/doctor_appointment.sql" ) all_exist=true for file in "${files[@]}"; do if [ -f "$file" ]; then echo " ✓ $file" else echo " ✗ $file (不存在)" all_exist=false fi done if [ "$all_exist" = false ]; then echo "" echo "错误: 部分文件不存在,请检查" exit 1 fi echo "" echo "步骤 2/4: 创建数据库表..." echo "请输入数据库信息:" read -p "数据库主机 (默认: localhost): " db_host db_host=${db_host:-localhost} read -p "数据库用户名: " db_user read -sp "数据库密码: " db_pass echo "" read -p "数据库名称: " db_name echo "" echo "正在创建数据库表..." mysql -h "$db_host" -u "$db_user" -p"$db_pass" "$db_name" < server/sql/doctor_appointment.sql if [ $? -eq 0 ]; then echo " ✓ 数据库表创建成功" else echo " ✗ 数据库表创建失败" echo " 请手动执行: mysql -h $db_host -u $db_user -p $db_name < server/sql/doctor_appointment.sql" fi echo "" echo "步骤 3/4: 清除缓存..." cd server php think clear if [ $? -eq 0 ]; then echo " ✓ 缓存清除成功" else echo " ✗ 缓存清除失败" fi cd .. echo "" echo "步骤 4/4: 验证安装..." echo "检查控制器文件..." if [ -f "server/app/adminapi/controller/doctor/AppointmentController.php" ]; then echo " ✓ AppointmentController.php 存在" else echo " ✗ AppointmentController.php 不存在" fi echo "" echo "================================" echo "安装完成!" echo "================================" echo "" echo "后续步骤:" echo "1. 确保医生有排班数据 (la_doctor_roster表)" echo "2. 在后台权限管理中添加预约相关权限" echo "3. 测试API接口:" echo " GET /adminapi/doctor.appointment/availableSlots" echo " POST /adminapi/doctor.appointment/create" echo " POST /adminapi/doctor.appointment/cancel" echo " GET /adminapi/doctor.appointment/lists" echo "" echo "详细文档请查看:" echo " - server/APPOINTMENT_BACKEND_SETUP.md" echo " - admin/APPOINTMENT_SYSTEM.md" echo ""