{ "swagger": "2.0", "info": { "title": "评价服务", "version": "1.0.0" }, "basePath": "/", "paths": { "/admin/review/list": { "get": { "tags": [ "管理端-评价审核" ], "summary": "评价列表(支持好中差评/有图/有视频筛选)", "description": "分页查询全部评价(含待审核/已通过/已拒绝),支持按评价等级、是否有图/视频、目标类型筛选\n\n**关联字典**:\n- review_status:评价审核状态(列表筛选+显示)\n- rating_level:评价等级(列表筛选+显示)", "operationId": "listReviewsUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "hasImage", "in": "query", "description": "是否有图片: true/false", "required": false, "type": "boolean" }, { "name": "hasVideo", "in": "query", "description": "是否有视频: true/false", "required": false, "type": "boolean" }, { "name": "keyword", "in": "query", "description": "搜索关键词", "required": false, "type": "string", "x-example": "风景" }, { "name": "maxRating", "in": "query", "description": "最高评分(整体满意度)", "required": false, "type": "integer", "format": "int32", "x-example": 5 }, { "name": "minRating", "in": "query", "description": "最低评分(整体满意度)", "required": false, "type": "integer", "format": "int32", "x-example": 3 }, { "name": "page", "in": "query", "description": "页码", "required": false, "type": "integer", "format": "int32", "x-example": 1 }, { "name": "pageSize", "in": "query", "description": "每页条数", "required": false, "type": "integer", "format": "int32", "x-example": 20 }, { "name": "productType", "in": "query", "description": "产品类型(字典 review_product_type)", "required": false, "type": "string", "x-example": "CORE" }, { "name": "ratingLevel", "in": "query", "description": "评价等级: GOOD/MEDIUM/BAD", "required": false, "type": "string", "x-example": "GOOD" }, { "name": "reviewType", "in": "query", "description": "评论类型(字典 review_type)", "required": false, "type": "string", "x-example": "PRODUCT" }, { "name": "status", "in": "query", "description": "评价状态", "required": false, "type": "string", "x-example": "APPROVED" }, { "name": "targetId", "in": "query", "description": "评价目标ID", "required": false, "type": "integer", "format": "int64", "x-example": 2001 }, { "name": "targetType", "in": "query", "description": "评价目标类型", "required": false, "type": "string", "x-example": "PRODUCT" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«分页结果«评价列表项(管理端)»»", "originalRef": "统一响应结果«分页结果«评价列表项(管理端)»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«分页结果«评价列表项(管理端)»»", "originalRef": "统一响应结果«分页结果«评价列表项(管理端)»»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "deprecated": false, "x-order": "2147483647" } }, "/admin/review/{reviewId}": { "get": { "tags": [ "管理端-评价审核" ], "summary": "评价详情", "description": "**关联字典**:\n- review_status:评价审核状态(显示)\n- rating_level:评价等级(显示)", "operationId": "getReviewDetailUsingGET", "produces": [ "*/*" ], "parameters": [ { "name": "reviewId", "in": "path", "description": "评价ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«评价详情»", "originalRef": "统一响应结果«评价详情»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«评价详情»", "originalRef": "统一响应结果«评价详情»" } }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "deprecated": false, "x-order": "2147483647" } }, "/admin/review/{reviewId}/approve": { "post": { "tags": [ "管理端-评价审核" ], "summary": "通过评价", "description": "审核通过评价,通过后评价在小程序端公开展示。状态流转:PENDING_REVIEW → APPROVED", "operationId": "approveUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "reviewId", "in": "path", "description": "评价ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "deprecated": false, "x-order": "2147483647" } }, "/admin/review/{reviewId}/override-approve": { "post": { "tags": [ "管理端-评价审核" ], "summary": "覆盖通过(机器拒绝的)", "description": "对阿里云内容审核自动拒绝的评价进行人工覆盖通过。状态流转:AUTO_REJECTED → APPROVED", "operationId": "overrideApproveUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "name": "reviewId", "in": "path", "description": "评价ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "deprecated": false, "x-order": "2147483647" } }, "/admin/review/{reviewId}/reject": { "post": { "tags": [ "管理端-评价审核" ], "summary": "拒绝评价", "description": "审核拒绝评价,需填写拒绝原因。拒绝后评价不公开展示。状态流转:PENDING_REVIEW → REJECTED", "operationId": "rejectUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "body", "description": "拒绝请求", "required": false, "schema": { "$ref": "#/definitions/拒绝评价请求", "originalRef": "拒绝评价请求" } }, { "name": "reviewId", "in": "path", "description": "评价ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "deprecated": false, "x-order": "2147483647" } }, "/admin/review/{reviewId}/reply": { "post": { "tags": [ "管理端-评价审核" ], "summary": "回复评价(每条评价仅可回复一次)", "description": "管理员回复用户评价,回复内容在小程序端公开展示。每条评价仅允许回复一次,不可修改。\n\n**权限**:需管理员登录。", "operationId": "adminReplyUsingPOST", "consumes": [ "application/json" ], "produces": [ "*/*" ], "parameters": [ { "in": "body", "name": "body", "description": "回复内容", "required": false, "schema": { "$ref": "#/definitions/管理员回复请求", "originalRef": "管理员回复请求" } }, { "name": "reviewId", "in": "path", "description": "评价ID", "required": false, "type": "integer", "format": "int64" } ], "responses": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "responsesObject": { "200": { "description": "OK", "schema": { "$ref": "#/definitions/统一响应结果«Void»", "originalRef": "统一响应结果«Void»" } }, "201": { "description": "Created" }, "401": { "description": "Unauthorized" }, "403": { "description": "Forbidden" }, "404": { "description": "Not Found" } }, "deprecated": false, "x-order": "2147483647" } } }, "definitions": { "分页结果«评价列表项(管理端)»": { "type": "object", "properties": { "page": { "type": "integer", "format": "int32", "example": 1, "description": "当前页码" }, "pageSize": { "type": "integer", "format": "int32", "example": 20, "description": "每页条数" }, "records": { "type": "array", "description": "数据列表", "items": { "$ref": "#/definitions/评价列表项(管理端)", "originalRef": "评价列表项(管理端)" } }, "total": { "type": "integer", "format": "int32", "example": 100, "description": "总记录数" } }, "title": "分页结果«评价列表项(管理端)»" }, "拒绝评价请求": { "type": "object", "required": [ "rejectReason" ], "properties": { "rejectReason": { "type": "string", "example": "评价内容包含不当言论", "description": "拒绝原因" } }, "title": "拒绝评价请求" }, "管理员回复请求": { "type": "object", "required": [ "replyContent" ], "properties": { "replyContent": { "type": "string", "example": "感谢您的评价,期待下次为您服务!", "description": "回复内容" } }, "title": "管理员回复请求" }, "统一响应结果«Void»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "message": { "type": "string", "example": "成功", "description": "响应消息" } }, "title": "统一响应结果«Void»" }, "统一响应结果«分页结果«评价列表项(管理端)»»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/分页结果«评价列表项(管理端)»", "originalRef": "分页结果«评价列表项(管理端)»" }, "message": { "type": "string", "example": "成功", "description": "响应消息" } }, "title": "统一响应结果«分页结果«评价列表项(管理端)»»" }, "统一响应结果«评价详情»": { "type": "object", "properties": { "code": { "type": "integer", "format": "int32", "example": 200, "description": "状态码" }, "data": { "description": "响应数据", "$ref": "#/definitions/评价详情", "originalRef": "评价详情" }, "message": { "type": "string", "example": "成功", "description": "响应消息" } }, "title": "统一响应结果«评价详情»" }, "评价列表项(管理端)": { "type": "object", "properties": { "auditedAt": { "type": "string", "format": "date-time", "description": "审核时间" }, "auditorName": { "type": "string", "description": "审核人姓名" }, "content": { "type": "string", "description": "评价内容" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "hasReply": { "type": "boolean", "description": "是否已回复" }, "imageCount": { "type": "integer", "format": "int32", "description": "图片数量" }, "orderId": { "type": "string", "description": "订单ID" }, "orderNo": { "type": "string", "description": "订单编号" }, "productType": { "type": "string", "description": "产品类型" }, "productTypeLabel": { "type": "string", "description": "产品类型标签" }, "ratingAccommodation": { "type": "integer", "format": "int32", "description": "住宿安排评分(1-5)" }, "ratingDining": { "type": "integer", "format": "int32", "description": "餐饮质量评分(1-5)" }, "ratingDriver": { "type": "integer", "format": "int32", "description": "司机服务评分(1-5)" }, "ratingItinerary": { "type": "integer", "format": "int32", "description": "行程安排评分(1-5)" }, "ratingLevel": { "type": "string", "description": "评价等级: GOOD/MEDIUM/BAD" }, "ratingLevelLabel": { "type": "string", "description": "评价等级标签" }, "ratingOverall": { "type": "integer", "format": "int32", "description": "整体满意度评分(1-5)" }, "rejectReason": { "type": "string", "description": "拒绝原因" }, "reviewId": { "type": "string", "description": "评价ID" }, "reviewType": { "type": "string", "description": "评论类型" }, "reviewTypeLabel": { "type": "string", "description": "评论类型标签" }, "status": { "type": "string", "description": "评价状态" }, "statusLabel": { "type": "string", "description": "评价状态标签" }, "targetId": { "type": "string", "description": "评价目标ID" }, "targetName": { "type": "string", "description": "评价目标名称" }, "targetType": { "type": "string", "description": "评价目标类型" }, "targetTypeLabel": { "type": "string", "description": "评价目标类型标签" }, "userAvatar": { "type": "string", "description": "用户头像" }, "userNickname": { "type": "string", "description": "用户昵称" }, "videoCount": { "type": "integer", "format": "int32", "description": "视频数量" } }, "title": "评价列表项(管理端)" }, "评价图片信息": { "type": "object", "properties": { "fileId": { "type": "string", "description": "文件ID" }, "imageId": { "type": "string", "description": "图片ID" }, "imageUrl": { "type": "string", "description": "图片URL" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序序号" } }, "title": "评价图片信息" }, "评价视频信息": { "type": "object", "properties": { "coverUrl": { "type": "string", "description": "视频封面URL" }, "duration": { "type": "integer", "format": "int32", "description": "视频时长(秒)" }, "fileId": { "type": "string", "description": "文件ID" }, "sortOrder": { "type": "integer", "format": "int32", "description": "排序序号" }, "videoId": { "type": "string", "description": "视频ID" }, "videoUrl": { "type": "string", "description": "视频URL" } }, "title": "评价视频信息" }, "评价详情": { "type": "object", "properties": { "adminReply": { "type": "string", "description": "管理员回复内容" }, "adminReplyAt": { "type": "string", "format": "date-time", "description": "回复时间" }, "adminReplyName": { "type": "string", "description": "回复管理员姓名" }, "auditedAt": { "type": "string", "format": "date-time", "description": "审核时间" }, "auditorAdminId": { "type": "string", "description": "审核人ID" }, "auditorName": { "type": "string", "description": "审核人姓名" }, "content": { "type": "string", "description": "评价内容" }, "createdAt": { "type": "string", "format": "date-time", "description": "创建时间" }, "departureDate": { "type": "string", "format": "date", "description": "出发日期(冗余自订单)" }, "hasImage": { "type": "boolean", "description": "是否有图片" }, "hasVideo": { "type": "boolean", "description": "是否有视频" }, "imageCount": { "type": "integer", "format": "int32", "description": "图片数量" }, "images": { "type": "array", "description": "评价图片列表", "items": { "$ref": "#/definitions/评价图片信息", "originalRef": "评价图片信息" } }, "machineResult": { "type": "string", "description": "机审结果" }, "orderId": { "type": "string", "description": "订单ID" }, "orderNo": { "type": "string", "description": "订单编号" }, "productType": { "type": "string", "description": "产品类型" }, "productTypeLabel": { "type": "string", "description": "产品类型标签" }, "ratingAccommodation": { "type": "integer", "format": "int32", "description": "住宿安排评分(1-5)" }, "ratingDining": { "type": "integer", "format": "int32", "description": "餐饮质量评分(1-5)" }, "ratingDriver": { "type": "integer", "format": "int32", "description": "司机服务评分(1-5)" }, "ratingItinerary": { "type": "integer", "format": "int32", "description": "行程安排评分(1-5)" }, "ratingLevel": { "type": "string", "description": "评价等级: GOOD/MEDIUM/BAD" }, "ratingLevelLabel": { "type": "string", "description": "评价等级标签: 好评/中评/差评" }, "ratingOverall": { "type": "integer", "format": "int32", "description": "整体满意度评分(1-5)" }, "rejectReason": { "type": "string", "description": "拒绝原因" }, "reviewId": { "type": "string", "description": "评价ID" }, "reviewType": { "type": "string", "description": "评论类型" }, "reviewTypeLabel": { "type": "string", "description": "评论类型标签" }, "status": { "type": "string", "description": "评价状态" }, "statusLabel": { "type": "string", "description": "评价状态标签" }, "targetId": { "type": "string", "description": "评价目标ID" }, "targetName": { "type": "string", "description": "评价目标名称" }, "targetType": { "type": "string", "description": "评价目标类型" }, "targetTypeLabel": { "type": "string", "description": "评价目标类型标签" }, "userAvatar": { "type": "string", "description": "用户头像" }, "userId": { "type": "string", "description": "用户ID" }, "userNickname": { "type": "string", "description": "用户昵称" }, "videoCount": { "type": "integer", "format": "int32", "description": "视频数量" }, "videos": { "type": "array", "description": "评价视频列表", "items": { "$ref": "#/definitions/评价视频信息", "originalRef": "评价视频信息" } } }, "title": "评价详情" } } }