refactor(prison): 统一批量删除接口为 POST 请求

统一 prison 模块 delete-list 接口的前后端调用方式,避免批量删除协议不一致导致调用失败。
This commit is contained in:
tangweijie 2026-03-06 16:54:11 +08:00
parent 0825da5f7f
commit 91f32de8dd
21 changed files with 64 additions and 58 deletions

View File

@ -63,11 +63,11 @@ public class PrisonAreaController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除监区信息")
@PreAuthorize("@ss.hasPermission('prison:area:delete')")
public CommonResult<Boolean> deleteAreaList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteAreaList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
areaService.deleteAreaListByIds(ids);
return success(true);
}

View File

@ -68,11 +68,11 @@ public class PrisonCellController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除监室信息")
@PreAuthorize("@ss.hasPermission('prison:cell:delete')")
public CommonResult<Boolean> deleteCellList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteCellList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
cellService.deleteCellListByIds(ids);
return success(true);
}

View File

@ -64,11 +64,11 @@ public class PrisonConsumptionController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号列表", required = true)
@Operation(summary = "批量删除消费订单")
@PreAuthorize("@ss.hasPermission('prison:consumption:delete')")
public CommonResult<Boolean> deleteConsumptionList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteConsumptionList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
consumptionService.deleteConsumptionListByIds(ids);
return success(true);
}

View File

@ -72,11 +72,11 @@ public class EvaluationReportController {
return success(true);
}
@DeleteMapping("/template/delete-list")
@PostMapping("/template/delete-list")
@Operation(summary = "批量删除评估模板")
@Parameter(name = "ids", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:delete')")
public CommonResult<Boolean> deleteTemplateList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteTemplateList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
evaluationReportService.deleteTemplateListByIds(ids);
return success(true);
}
@ -210,11 +210,11 @@ public class EvaluationReportController {
return success(true);
}
@DeleteMapping("/dimension/delete-list")
@PostMapping("/dimension/delete-list")
@Operation(summary = "批量删除评估维度")
@Parameter(name = "ids", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('prison:evaluation-report:template:update')")
public CommonResult<Boolean> deleteDimensionList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteDimensionList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
evaluationReportService.deleteDimensionListByIds(ids);
return success(true);
}
@ -298,11 +298,11 @@ public class EvaluationReportController {
return success(true);
}
@DeleteMapping("/report/delete-list")
@PostMapping("/report/delete-list")
@Operation(summary = "批量删除评估报告")
@Parameter(name = "ids", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('prison:evaluation-report:report:delete')")
public CommonResult<Boolean> deleteReportList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteReportList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
evaluationReportService.deleteReportListByIds(ids);
return success(true);
}
@ -454,11 +454,11 @@ public class EvaluationReportController {
return success(true);
}
@DeleteMapping("/comment/delete-list")
@PostMapping("/comment/delete-list")
@Operation(summary = "批量删除快捷评语")
@Parameter(name = "ids", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('prison:evaluation-report:comment:delete')")
public CommonResult<Boolean> deleteCommentList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteCommentList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
evaluationReportService.deleteCommentListByIds(ids);
return success(true);
}

View File

@ -80,11 +80,11 @@ public class PrisonerController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除服刑人员")
@Parameter(name = "ids", description = "编号列表", required = true)
@PreAuthorize("@ss.hasPermission('prison:prisoner:delete')")
public CommonResult<Boolean> deletePrisonerList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deletePrisonerList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
prisonerService.deletePrisonerList(ids);
return success(true);
}

View File

@ -57,10 +57,10 @@ public class PrisonerAreaLogController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除罪犯监区变动记录")
@PreAuthorize("@ss.hasPermission('prison:prisoner-area-log:delete')")
public CommonResult<Boolean> deletePrisonerAreaLogList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deletePrisonerAreaLogList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
prisonerAreaLogService.deletePrisonerAreaLogList(ids);
return success(true);
}

View File

@ -65,12 +65,12 @@ public class PrisonQuestionController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除问卷问题")
@PreAuthorize("@ss.hasPermission('prison:question:delete') or @ss.hasPermission('prison:questionnaire:update')")
@ApiAccessLog(operateType = DELETE)
public CommonResult<Boolean> deleteQuestionList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteQuestionList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
questionService.deleteQuestionListByIds(ids);
return success(true);
}

View File

@ -65,12 +65,12 @@ public class PrisonQuestionnaireController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号列表", required = true)
@Operation(summary = "批量删除问卷模板")
@PreAuthorize("@ss.hasPermission('prison:questionnaire:delete')")
@ApiAccessLog(operateType = DELETE)
public CommonResult<Boolean> deleteQuestionnaireList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteQuestionnaireList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
questionnaireService.deleteQuestionnaireListByIds(ids);
return success(true);
}

View File

@ -63,10 +63,10 @@ public class PrisonQuestionnaireTaskController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除问卷任务")
@PreAuthorize("@ss.hasPermission('prison:questionnaire-task:delete')")
public CommonResult<Boolean> deleteQuestionnaireTaskList(@NotEmpty(message = "任务ID列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteQuestionnaireTaskList(@NotEmpty(message = "任务ID列表不能为空") @RequestBody List<Long> ids) {
questionnaireTaskService.deleteQuestionnaireTaskListByIds(ids);
return success(true);
}

View File

@ -68,10 +68,11 @@ public class PrisonQuestionnaireRecordController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除问卷答题记录")
@Parameter(name = "ids", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('prison:questionnaire-record:delete')")
public CommonResult<Boolean> deleteQuestionnaireRecordList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteQuestionnaireRecordList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
questionnaireRecordService.deleteQuestionnaireRecordListByIds(ids);
return success(true);
}
@ -91,15 +92,15 @@ public class PrisonQuestionnaireRecordController {
public CommonResult<PageResult<QuestionnaireRecordRespVO>> getQuestionnaireRecordPage(@Valid QuestionnaireRecordPageReqVO pageReqVO) {
PageResult<QuestionnaireRecordDO> pageResult = questionnaireRecordService.getQuestionnaireRecordPage(pageReqVO);
PageResult<QuestionnaireRecordRespVO> voPageResult = QuestionnaireRecordConvert.INSTANCE.convertPage(pageResult);
// 填充任务备注
fillTaskRemark(voPageResult.getList());
// 填充任务信息
fillTaskInfo(voPageResult.getList());
return success(voPageResult);
}
/**
* 填充任务备注
* 填充任务信息
*/
private void fillTaskRemark(List<QuestionnaireRecordRespVO> records) {
private void fillTaskInfo(List<QuestionnaireRecordRespVO> records) {
if (cn.hutool.core.collection.CollUtil.isEmpty(records)) {
return;
}
@ -113,22 +114,25 @@ public class PrisonQuestionnaireRecordController {
if (cn.hutool.core.collection.CollUtil.isEmpty(taskIds)) {
return;
}
// 批量查询任务备注
// 批量查询任务信息
List<cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO> tasks = questionnaireTaskMapper.selectList(
new com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper<cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO>()
.in(cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO::getId, taskIds));
// 构建 taskId -> remark 映射避免 Collectors.toMap 在脏数据场景下抛出 NPE
// 构建 taskId -> 任务信息映射避免 Collectors.toMap 在脏数据场景下抛出 NPE
Map<Long, String> taskRemarkMap = new HashMap<>();
Map<Long, String> taskNameMap = new HashMap<>();
for (cn.iocoder.yudao.module.prison.dal.dataobject.questionnaire_task.QuestionnaireTaskDO task : tasks) {
if (task == null || task.getId() == null) {
continue;
}
taskRemarkMap.putIfAbsent(task.getId(), task.getRemark() == null ? "" : task.getRemark());
taskNameMap.putIfAbsent(task.getId(), task.getTaskName() == null ? "" : task.getTaskName());
}
// 填充备注 VO
// 填充任务信息 VO
for (QuestionnaireRecordRespVO record : records) {
String remark = taskRemarkMap.get(record.getTaskId());
record.setTaskRemark(remark);
Long taskId = record.getTaskId();
record.setTaskRemark(taskRemarkMap.get(taskId));
record.setTaskName(taskNameMap.get(taskId));
}
}

View File

@ -70,11 +70,11 @@ public class QuickCommentController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除快捷评语")
@Parameter(name = "ids", description = "编号列表", required = true)
@PreAuthorize("@ss.hasPermission('prison:quick-comment:delete')")
public CommonResult<Boolean> deleteQuickCommentList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteQuickCommentList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
quickCommentService.deleteQuickCommentListByIds(ids);
return success(true);
}

View File

@ -57,10 +57,10 @@ public class ReleaseController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除释放登记")
@PreAuthorize("@ss.hasPermission('prison:release:delete')")
public CommonResult<Boolean> deleteReleaseList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteReleaseList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
releaseService.deleteReleaseListByIds(ids);
return success(true);
}

View File

@ -62,11 +62,11 @@ public class ReportController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除评估报告")
@Parameter(name = "ids", description = "编号列表", required = true)
@PreAuthorize("@ss.hasPermission('prison:report:delete')")
public CommonResult<Boolean> deleteReportList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteReportList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
reportService.deleteReportListByIds(ids);
return success(true);
}

View File

@ -62,11 +62,11 @@ public class ReportTemplateController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除评估报告模板")
@Parameter(name = "ids", description = "编号列表", required = true)
@PreAuthorize("@ss.hasPermission('prison:report-template:delete')")
public CommonResult<Boolean> deleteReportTemplateList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteReportTemplateList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
reportTemplateService.deleteReportTemplateListByIds(ids);
return success(true);
}

View File

@ -67,10 +67,10 @@ public class RiskController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除风险评估")
@PreAuthorize("@ss.hasPermission('prison:risk:delete')")
public CommonResult<Boolean> deleteList(@RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteList(@RequestBody List<Long> ids) {
riskService.deleteRiskListByIds(ids);
return success(true);
}

View File

@ -19,6 +19,7 @@ import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.servlet.http.HttpServletResponse;
import jakarta.validation.Valid;
import jakarta.validation.constraints.NotEmpty;
import org.springframework.web.bind.annotation.*;
import org.springframework.validation.annotation.Validated;
@ -63,10 +64,11 @@ public class RiskAssessmentController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除危险评估")
@Parameter(name = "ids", description = "编号", required = true)
@PreAuthorize("@ss.hasPermission('prison:risk-assessment:delete')")
public CommonResult<Boolean> deleteList(@RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
riskAssessmentService.deleteRiskAssessmentListByIds(ids);
return success(true);
}

View File

@ -62,11 +62,11 @@ public class PrisonScoreController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Parameter(name = "ids", description = "编号", required = true)
@Operation(summary = "批量删除计分考核")
@PreAuthorize("@ss.hasPermission('prison:score:delete')")
public CommonResult<Boolean> deleteScoreList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
@PreAuthorize("@ss.hasPermission('prison:score:delete')")
public CommonResult<Boolean> deleteScoreList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
scoreService.deleteScoreListByIds(ids);
return success(true);
}

View File

@ -57,10 +57,10 @@ public class ScoreDetailController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除考核记录")
@PreAuthorize("@ss.hasPermission('prison:score-detail:delete')")
public CommonResult<Boolean> deleteScoreDetailList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteScoreDetailList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
scoreDetailService.deleteScoreDetailListByIds(ids);
return success(true);
}

View File

@ -59,10 +59,10 @@ public class ScoreRuleController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除考核规则")
@PreAuthorize("@ss.hasPermission('prison:score-rule:delete')")
public CommonResult<Boolean> deleteScoreRuleList(@NotEmpty(message = "编号列表不能为空") @RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteScoreRuleList(@NotEmpty(message = "编号列表不能为空") @RequestBody List<Long> ids) {
scoreRuleService.deleteScoreRuleListByIds(ids);
return success(true);
}

View File

@ -67,10 +67,10 @@ public class SituationController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除狱情收集")
@PreAuthorize("@ss.hasPermission('prison:situation:delete')")
public CommonResult<Boolean> deleteList(@RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteList(@RequestBody List<Long> ids) {
situationService.deleteSituationListByIds(ids);
return success(true);
}

View File

@ -67,10 +67,10 @@ public class WarningController {
return success(true);
}
@DeleteMapping("/delete-list")
@PostMapping("/delete-list")
@Operation(summary = "批量删除预警信息")
@PreAuthorize("@ss.hasPermission('prison:warning:delete')")
public CommonResult<Boolean> deleteList(@RequestParam("ids") List<Long> ids) {
public CommonResult<Boolean> deleteList(@RequestBody List<Long> ids) {
warningService.deleteWarningListByIds(ids);
return success(true);
}