FEEDBACK_README.md 6.4 KB

问题/建议功能接口文档

功能概述

用户可以提交问题或建议,支持文字内容和图片上传。管理员可以查看、回复问题建议。

数据库表结构

问题建议表 (tbl_dzbc_feedback)

  • id: 编号
  • user_id: 用户ID
  • user_name: 用户姓名
  • user_phone: 用户电话
  • content: 内容(必填)
  • image_urls: 图片地址,多个用逗号分隔
  • type: 类型(1-问题,2-建议)
  • status: 状态(0-待处理,1-处理中,2-已完成)
  • reply_content: 回复内容
  • reply_user_id: 回复人ID
  • reply_user_name: 回复人姓名
  • reply_time: 回复时间
  • remark: 备注
  • ext1, ext2: 扩展字段

接口列表

1. 用户接口

查询我的问题建议列表

GET /system/dzbc/feedback/my/list

说明:获取当前登录用户的所有问题建议记录

返回示例:

{
  "code": 200,
  "data": [
    {
      "id": 1,
      "userId": 1,
      "userName": "张三",
      "userPhone": "13800138000",
      "content": "班车晚点了,希望能准时发车",
      "imageUrls": "http://xxx.com/image1.jpg,http://xxx.com/image2.jpg",
      "type": 1,
      "status": 2,
      "replyContent": "感谢您的反馈,我们会加强调度管理",
      "replyUserId": 10,
      "replyUserName": "管理员",
      "replyTime": "2024-02-20 10:00:00",
      "createTime": "2024-02-20 09:00:00"
    }
  ]
}

提交问题/建议

POST /system/dzbc/feedback/submit
Content-Type: multipart/form-data

请求参数:

  • content: 内容(必填)
  • type: 类型(必填,1-问题,2-建议)
  • images: 图片文件(可选,可上传多个)

请求示例(使用 Postman):

方法:POST URL: http://localhost:8080/system/dzbc/feedback/submit Body 类型:form-data

参数名 类型 必填 说明
content String 问题/建议内容
type Integer 类型:1-问题,2-建议
images File 图片文件(可上传多个)

返回示例:

{
  "code": 200,
  "msg": "操作成功",
  "data": {
    "id": 1,
    "userId": 1,
    "userName": "张三",
    "userPhone": "13800138000",
    "content": "班车晚点了,希望能准时发车",
    "imageUrls": "http://xxx.com/image1.jpg,http://xxx.com/image2.jpg",
    "type": 1,
    "status": 0,
    "createTime": "2024-02-20 09:00:00"
  }
}

2. 管理员接口

查询问题建议列表(分页)

GET /system/dzbc/feedback/list

查询参数:

  • userId: 用户ID
  • userName: 用户姓名(模糊查询)
  • content: 内容(模糊查询)
  • type: 类型(1-问题,2-建议)
  • status: 状态(0-待处理,1-处理中,2-已完成)
  • pageNum: 页码
  • pageSize: 每页大小

返回示例:

{
  "code": 200,
  "rows": [
    {
      "id": 1,
      "userId": 1,
      "userName": "张三",
      "userPhone": "13800138000",
      "content": "班车晚点了,希望能准时发车",
      "imageUrls": "http://xxx.com/image1.jpg,http://xxx.com/image2.jpg",
      "type": 1,
      "status": 0,
      "createTime": "2024-02-20 09:00:00"
    }
  ],
  "total": 1
}

查询问题建议详情

GET /system/dzbc/feedback/{id}

返回示例:

{
  "code": 200,
  "data": {
    "id": 1,
    "userId": 1,
    "userName": "张三",
    "userPhone": "13800138000",
    "content": "班车晚点了,希望能准时发车",
    "imageUrls": "http://xxx.com/image1.jpg,http://xxx.com/image2.jpg",
    "type": 1,
    "status": 2,
    "replyContent": "感谢您的反馈,我们会加强调度管理",
    "replyUserId": 10,
    "replyUserName": "管理员",
    "replyTime": "2024-02-20 10:00:00",
    "createTime": "2024-02-20 09:00:00"
  }
}

回复问题建议

POST /system/dzbc/feedback/reply/{id}

请求参数:

  • id: 问题建议ID(路径参数)
  • replyContent: 回复内容(表单参数,必填)

请求示例:

POST /system/dzbc/feedback/reply/1
Content-Type: application/x-www-form-urlencoded

replyContent=感谢您的反馈,我们会加强调度管理

返回示例:

{
  "code": 200,
  "msg": "操作成功"
}

修改问题建议状态

PUT /system/dzbc/feedback

请求体:

{
  "id": 1,
  "status": 1,
  "remark": "正在处理中"
}

删除问题建议

DELETE /system/dzbc/feedback/{ids}

返回示例:

{
  "code": 200,
  "msg": "操作成功"
}

导出问题建议

POST /system/dzbc/feedback/export

使用示例

1. 用户提交问题(含图片)

使用 cURL:

curl -X POST "http://localhost:8080/system/dzbc/feedback/submit" \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -F "content=班车晚点了,希望能准时发车" \
  -F "type=1" \
  -F "images=@/path/to/image1.jpg" \
  -F "images=@/path/to/image2.jpg"

使用 Postman:

  1. 方法:POST
  2. URL: http://localhost:8080/system/dzbc/feedback/submit
  3. Headers: Authorization: Bearer YOUR_TOKEN
  4. Body: form-data
    • content (Text): 班车晚点了,希望能准时发车
    • type (Text): 1
    • images (File): 选择图片文件(可添加多个)

2. 管理员回复问题

curl -X POST "http://localhost:8080/system/dzbc/feedback/reply/1" \
  -H "Authorization: Bearer ADMIN_TOKEN" \
  -d "replyContent=感谢您的反馈,我们会加强调度管理"

3. 用户查询我的问题

curl -X GET "http://localhost:8080/system/dzbc/feedback/my/list" \
  -H "Authorization: Bearer YOUR_TOKEN"

字段说明

类型 (type)

  • 1: 问题
  • 2: 建议

状态 (status)

  • 0: 待处理
  • 1: 处理中
  • 2: 已完成(已回复)

注意事项

  1. 图片上传:支持同时上传多张图片,图片会自动上传到 OSS,返回的 URL 以逗号分隔存储在数据库中
  2. 自动获取用户信息:提交时自动获取当前登录用户的信息(姓名、电话)
  3. 回复功能:回复后自动将状态更新为"已完成",并记录回复人和回复时间
  4. 图片地址格式:imageUrls 字段存储格式为:url1,url2,url3
  5. 权限控制:普通用户只能查看自己的记录,管理员可以查看所有记录

数据库初始化

执行以下 SQL 创建表:

mysql -u root -p khyznh < script/sql/feedback.sql

安全配置

该接口已在安全配置中放行,无需额外权限验证:

security:
  excludes:
    - /system/dzbc/feedback/**