第八次作业和第九次作业

口腔诊所系统 - 患者评价模块接口文档

1. 查询评价列表

基本信息

项目内容
接口路径GET /api/reviews
功能描述查询患者评价列表,可按医生筛选
请求方式GET

请求参数

参数名类型必填说明
doctorIdInteger医生ID,不传则查询全部

请求示例

GET /api/reviews GET /api/reviews?doctorId=1

响应参数

字段类型说明
codeInteger状态码,200 表示成功
dataArray评价列表
data[].idInteger评价ID
data[].doctorIdInteger被评价医生ID
data[].doctorNameString医生姓名
data[].patientNameString患者姓名
data[].ratingInteger评分,1-5
data[].contentString评价内容
data[].createTimeString评价时间

响应示例

json

{ "code": 200, "data": [ { "id": 1, "doctorId": 1, "doctorName": "陈明远", "patientName": "张先生", "rating": 5, "content": "陈医生技术非常好,种完牙没有任何不适", "createTime": "2026-06-25T10:30:00" } ] }

2. 删除评价

基本信息

项目内容
接口路径DELETE /api/reviews/{id}
功能描述根据ID删除一条评价
请求方式DELETE

路径参数

参数名类型必填说明
idInteger评价ID

请求示例

DELETE /api/reviews/1

响应示例

json

{ "code": 200, "msg": "删除成功" }

错误响应

json

{ "code": 404, "msg": "评价不存在" }

3. 数据库表结构

sql

CREATE TABLE review ( id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '评价ID', doctor_id INT UNSIGNED NOT NULL COMMENT '被评价医生ID', patient_name VARCHAR(10) NOT NULL COMMENT '患者姓名', rating TINYINT UNSIGNED NOT NULL COMMENT '评分 1-5', content VARCHAR(500) COMMENT '评价内容', create_time DATETIME NOT NULL COMMENT '创建时间' ) COMMENT '患者评价表';

4. 前后端调用流程

[前端页面 reviews.html] │ ├── mounted() → GET /api/reviews → 加载评价列表 │ ├── 选择医生筛选 → GET /api/reviews?doctorId=xx → 按医生过滤 │ └── 点击删除按钮 → DELETE /api/reviews/{id} → 删除评价 → 刷新列表

-- 口腔诊所 - 患者评价表

DROP TABLE IF EXISTS review;

CREATE TABLE review (

id INT UNSIGNED PRIMARY KEY AUTO_INCREMENT COMMENT '评价ID',

doctor_id INT UNSIGNED NOT NULL COMMENT '被评价医生ID',

patient_name VARCHAR(10) NOT NULL COMMENT '患者姓名',

rating TINYINT UNSIGNED NOT NULL COMMENT '评分 1-5',

content VARCHAR(500) COMMENT '评价内容',

create_time DATETIME NOT NULL COMMENT '创建时间'

) COMMENT '患者评价表';

INSERT INTO review (doctor_id, patient_name, rating, content, create_time) VALUES

(1, '张先生', 5, '陈医生技术精湛,种完牙感觉和真牙一样,非常感谢!', NOW()),

(1, '李女士', 5, '微创种植真的不疼,陈医生全程很耐心', NOW()),

(3, '王同学', 5, '隐形矫正半年了,效果很明显,张医生人美心善', NOW()),

(3, '赵女士', 4, '矫正方案很合理,就是偶尔排队时间有点长', NOW()),

(5, '刘先生', 5, '赵主任做的全瓷冠颜色非常自然,完全看不出是假牙', NOW()),

(5, '孙女士', 5, '修复做的很精细,咬合舒适,非常满意', NOW()),

(7, '周先生', 5, '孙医生治好了我多年的牙龈出血问题,太感谢了', NOW()),

(9, '小明妈妈', 5, '马医生特别会哄小朋友,孩子看牙第一次没哭', NOW()),

(9, '陈爸爸', 4, '儿童诊室布置得很温馨,医生很有耐心', NOW()),

(2, '黄先生', 5, '李医生做的全口种植方案很专业,恢复得很好', NOW());、

第九次作业