西藏巴青项目

我的预约接口说明.md 3.6KB

我的预约(移动端)

1. 概述

说明
Base Path /app/myAppointment
数据表 biz_service_appointmentbiz_service_appointment_review
用户范围 create_by = 当前登录用户名(与预约提交时一致)
鉴权 需登录

主 Tab → providerType

Tab providerType
兽医 1
专家 3
诊疗机构 2

子 Tab → statusTab(必传)

statusTab 含义 SQL 语义
all 全部 不额外过滤
notStarted 未开始 status in (0,1,5)
pendingReview 待评价 status=4 且无评价记录
completed 已完成 status=4
cancelled 已取消 status=3

状态码:0 待确认、1 已确认、2 已拒绝、3 已取消、4 已完成、5 已预约(机构)。


2. 预约列表

GET /app/myAppointment/list

参数 必填 说明
providerType 1 兽医 / 2 机构 / 3 专家
statusTab 见上表
pageNum 默认 1
pageSize 默认 10,最大 50

rows[] 主要字段

字段 说明
id 预约主键
providerType / providerId 服务方类型与资源 ID
providerName 兽医/专家/机构名称
appointDate 预约日期
timeStart / timeEnd 时段
serviceAddress / serviceRequirement 地址、需求
status / statusLabel 状态码与文案
rejectReason 拒绝理由(已拒绝时)
canCancel 是否可取消(status 为 0/1/5)
hasReview 是否已评价(专家已完成时)

排序:appoint_date 降序。


3. 取消预约

POST /app/myAppointment/cancel/{id}

  • status0、1、5 可取消,更新为 3(已取消)
  • 已完成(4) 不可取消。

4. 查看评价

GET /app/myAppointment/{id}/review

  • 专家providerType=3)且 已完成status=4)的预约。
  • 返回单条 BizServiceAppointmentReviewreviewerNamereviewTimepunctualityScoreattitudeScoreguidanceScoresummary

5. 提交评价

POST /app/myAppointment/{id}/review

Body

字段 必填 说明
punctualityScore 到场准时 1~5
attitudeScore 服务态度 1~5
guidanceScore 指导效果 1~5
summary 综合评价,≤100 字

逻辑

  • 仅专家、已完成、且尚未评价;
  • 写入 biz_service_appointment_review(到场准时 / 服务态度 / 指导效果星级 + 综合评价);
  • 即时更新 biz_tech_resource.expert_rating

响应 data:评价记录 id


6. 专家评分定时同步(后台)

说明
执行时间 每天 23:00
Quartz 目标 expertRatingSyncTask.syncExpertRatings
初始化 SQL sql/biz_sys_job_expert_rating_sync.sql

计算公式(关联 biz_service_appointment_reviewbiz_service_appointmentprovider_type=3):

[ \text{expert_rating} = \mathrm{round}\left(\frac{\sum \text{到场准时} + \sum \text{服务态度} + \sum \text{指导效果}}{3},\ 1\right) ]

仅更新存在评价记录的专家;无评价时该专家不参与本次同步(保持库中原值,新建专家默认 5.0)。


7. 界面参考

doc/app/我的预约/Snipaste_2026-05-24_14-06-16.jpg
doc/app/我的预约/Snipaste_2026-05-24_14-07-00.jpg
doc/app/我的预约/Snipaste_2026-05-24_14-07-21.jpg