| 项 | 说明 |
|---|---|
| Base Path | /app/bookingService |
| 资源视图 | v_appointment_resource(DDL:sql/biz_v_appointment_resource.sql) |
| 视图依赖 | biz_tech_resource.expert_rating(见 sql/biz_tech_resource_alter_expert_rating.sql) |
| 预约主表 | biz_service_appointment |
| 专家评价 | biz_service_appointment_review |
| 鉴权 | 需登录 |
Tab 与资源类型(列表 resourceType 必传):
| Tab | resourceType |
|---|---|
| 兽医(默认) | 004001 |
| 专家 | 004005 |
| 诊疗机构 | 004003 |
资料页:列表项已返回详情字段,无单独详情接口。
v_appointment_resource 列说明| 视图列 | 兽医 004001 |
机构 004003 |
专家 004005 |
|---|---|---|---|
photo_file_url |
biz_medical_resource.photo_file_url |
同左 | biz_tech_resource.photo_file_url |
max_daily_appointments |
有值(机构)/ 兽医多为 NULL | 有值 | NULL |
expert_rating |
NULL | NULL | biz_tech_resource.expert_rating |
其余列三端同源字段名一致(名称、介绍、地址、服务时段等)。
提交后状态:
| 类型 | 初始 status |
|---|---|
| 兽医、专家 | 0 待确认 |
| 诊疗机构 | 5 已预约 |
GET /app/bookingService/dates
自当天起连续 7 天(含当天)。
响应 data[]
| 字段 | 说明 |
|---|---|
weekdayName |
周几(如「周一」) |
weekday |
数字:周一=1 … 周日=7 |
dateMmDd |
日期 MM-dd |
appointDate |
日期 yyyy-MM-dd(提交预约用) |
GET /app/bookingService/resource/list
| 参数 | 必填 | 说明 |
|---|---|---|
resourceType |
是 | 004001 / 004005 / 004003 |
resourceName |
否 | 名称模糊 |
weekday |
否 | 周几 1~7;传入时仅返回 service_weekdays 含该值的资源 |
pageNum |
否 | 默认 1 |
pageSize |
否 | 默认 10,最大 50 |
响应:TableDataInfo,rows[] 字段(与视图列一一对应,驼峰):
| 字段 | 说明 |
|---|---|
id |
资源主键 |
resourceType |
004001 / 004003 / 004005 |
resourceName |
名称 |
photoFileUrl |
主图/头像 URL |
affiliatedUnit |
隶属单位 |
contactPhone |
联系电话 |
introduction |
介绍 |
detailAddress |
详细地址 |
serviceStartTime / serviceEndTime |
服务时段 HH:mm |
serviceArea |
服务区域 |
feeStandard |
收费标准 |
serviceWeekdays |
服务周日 1~7,逗号分隔 |
maxDailyAppointments |
单日最大预约数(机构常见有值) |
expertRating |
专家评分(仅专家) |
sysUserId / assignedLoginName |
已分配账号信息 |
publishTime |
发布时间 |
排序:publish_time 降序。
GET /app/bookingService/expert/{expertResourceId}/reviews
| 参数 | 必填 | 说明 |
|---|---|---|
expertResourceId |
是 | 路径:专家资源 id(004005) |
pageNum |
否 | 页码,默认 1 |
pageSize |
否 | 每页条数,默认 10,最大 50 |
响应 rows[]
| 字段 | 说明 |
|---|---|
reviewerName |
评价人 |
reviewTime |
评价时间 |
punctualityScore |
到场准时(1~5) |
attitudeScore |
服务态度(1~5) |
guidanceScore |
指导效果(1~5) |
summary |
综合评价 |
按 reviewTime 倒序。
GET /app/bookingService/appointment/booked
用于资料页选择预约日期后,判断当前登录用户在该服务方、该日是否已有有效预约。
| 参数 | 必填 | 说明 |
|---|---|---|
providerType |
是 | 1 兽医 / 2 机构 / 3 专家 |
providerId |
是 | 服务方资源 id(与列表 id 一致) |
appointDate |
是 | yyyy-MM-dd |
响应 data
| 字段 | 类型 | 说明 |
|---|---|---|
booked |
boolean | true 表示当日已有有效预约 |
有效预约:create_by 为当前用户,且 status 不为 2(已拒绝)、3(已取消)。
POST /app/bookingService/appointment
Body(JSON)
| 字段 | 必填 | 说明 |
|---|---|---|
resourceType |
是 | 004001 / 004005 / 004003 |
resourceId |
是 | 资源 id |
appointDate |
是 | yyyy-MM-dd |
appointeeName |
是 | 预约人 |
contactPhone |
是 | 手机号 |
timeSlot |
二选一 | 如 08:00~10:00 |
timeStart / timeEnd |
二选一 | HH:mm |
serviceAddress |
是 | 服务地址 |
serviceRequirement |
否 | 服务需求 |
响应 data:新建预约主键 id。
校验:
serviceWeekdays 内(有配置时);maxDailyAppointments 时,当日有效预约数(非已拒绝/已取消)未满。失败示例:「预约对象不存在或未发布」「所选日期不在服务日内」「该机构当日预约已满」。
doc/app/预约服务/Snipaste_2026-05-24_10-52-44.jpg
doc/app/预约服务/Snipaste_2026-05-24_13-55-00.jpg
doc/app/预约服务/Snipaste_2026-05-24_13-56-00.jpg
(专家评价样式可参考 doc/app/在线问诊/ 下星级展示图。)