[P0] 需要添加问卷问题批量更新接口 #1

Open
opened 2026-01-13 16:07:20 +08:00 by tangweijie · 1 comment
Owner

背景

前端代码审查发现 QuestionList.vue 在保存分区设置时使用了嵌套循环逐个更新问题,导致大量 API 请求。

前端 Issue: [P0] 问卷系统存在循环调用API的性能问题 (#1)

需求描述

前端需要调用批量更新接口来减少 API 调用次数。

API 设计建议

POST /prison/question/batch-update

请求体:

{
  "questions": [
    {
      "id": 1,
      "partSort": 0,
      "sort": 0,
      "partName": "基本信息"
    },
    {
      "id": 2,
      "partSort": 0,
      "sort": 1,
      "partName": "基本信息"
    }
  ]
}

响应: 返回更新成功/失败状态

实现位置

建议在 yudao-module-prison 模块的 QuestionController 中添加:

@PostMapping("/batch-update")
@Operation(summary = "批量更新问题")
public CommonResult<Void> batchUpdateQuestion(@RequestBody BatchUpdateQuestionReqDTO req) {
    // 批量更新逻辑
}

优先级

P0 - 高(配合前端修复)

标签

backend api performance

## 背景 前端代码审查发现 `QuestionList.vue` 在保存分区设置时使用了嵌套循环逐个更新问题,导致大量 API 请求。 **前端 Issue**: [P0] 问卷系统存在循环调用API的性能问题 (#1) ## 需求描述 前端需要调用批量更新接口来减少 API 调用次数。 ## API 设计建议 ``` POST /prison/question/batch-update ``` **请求体**: ```json { "questions": [ { "id": 1, "partSort": 0, "sort": 0, "partName": "基本信息" }, { "id": 2, "partSort": 0, "sort": 1, "partName": "基本信息" } ] } ``` **响应**: 返回更新成功/失败状态 ## 实现位置 建议在 `yudao-module-prison` 模块的 QuestionController 中添加: ```java @PostMapping("/batch-update") @Operation(summary = "批量更新问题") public CommonResult<Void> batchUpdateQuestion(@RequestBody BatchUpdateQuestionReqDTO req) { // 批量更新逻辑 } ``` ## 优先级 P0 - 高(配合前端修复) ## 标签 backend api performance
Author
Owner

修复状态:已修复

修复版本: d4cb9960 (master)

修复内容:

  1. 添加批量更新API: POST /prison/question/batch-update
  2. 前端 savePartitions、onPartitionDragEnd、onQuestionDragEnd 均已改为批量调用

性能提升:

  • 50题保存分区: 50次请求 → 1次请求

请手动关闭此 Issue。

## 修复状态:已修复 ✅ **修复版本**: d4cb9960 (master) **修复内容**: 1. 添加批量更新API: `POST /prison/question/batch-update` 2. 前端 savePartitions、onPartitionDragEnd、onQuestionDragEnd 均已改为批量调用 **性能提升**: - 50题保存分区: 50次请求 → **1次请求** 请手动关闭此 Issue。
Sign in to join this conversation.
No Label
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: tangweijie/xlcp-backend#1
No description provided.