refactor(prison): 统一批量删除接口为 POST 请求
统一 prison 模块 delete-list 接口的前后端调用方式,避免批量删除协议不一致导致调用失败。
This commit is contained in:
parent
0825da5f7f
commit
91f32de8dd
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
@ -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);
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user