956c048058211fdfecfc0d2a0f92176419e1f308
根因: - Bug #请修复 Bug #574 存在的问题 修复: - `AppointmentServiceImpl implements AppointmentService` 无法编译 - 控制器 `AppointmentController`(注入 `AppointmentService`)调用 `confirmPaymentAndTake(slotId)` 时无法正确找到实现 - 最终结果:`POST /api/outpatient/appointment/confirm` 端点从未正确执行,`adm_schedule_slot.status` 未能更新为 3 - 修改文件:** `openhis-application/src/main/java/com/openhis/web/outpatient/service/AppointmentService.java` - 将该文件从 `@Service class` 恢复为 `interface`,定义两个方法: - `bookSlot(Long slotId, Long orderId)` — 预约号源(设置 status=2) - `confirmPaymentAndTake(Long slotId)` — 签到缴费后更新 status=3 - ## 数据流验证(全链路) - 1. **录入/预约** → 前端调用 `POST /api/outpatient/appointment/book?slotId=X&orderId=Y` - 2. **保存** → `AppointmentController` → `AppointmentServiceImpl.bookSlot()` → `AppointmentSlotMapper.updateSlotToBooked()` → `UPDATE adm_schedule_slot SET status=2, order_id=... WHERE id=... AND status=1` - 3. **签到缴费** → 前端调用 `POST /api/outpatient/appointment/confirm?slotId=X` - 4. **流转已取号** → `AppointmentController` → `AppointmentServiceImpl.confirmPaymentAndTake()` → `AppointmentSlotMapper.updateSlotToTaken()` → `UPDATE adm_schedule_slot SET status=3, update_time=NOW() WHERE id=... AND status=2` ✅ - 5. **查询** → `SELECT status FROM adm_schedule_slot WHERE id = X` 返回 **3** 已取号 ✅
Description
No description provided
Languages
Java
47.5%
Vue
45.8%
JavaScript
5.6%
HTML
0.7%
SCSS
0.1%