From 1947a5c2d52a37ff25f3f4fd3e01c5f13fd38787 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Fri, 5 Jun 2026 16:46:23 +0800 Subject: [PATCH] =?UTF-8?q?fix(wms/attendance-schedule):=20=E8=B0=83?= =?UTF-8?q?=E6=95=B4=E6=89=B9=E9=87=8F=E5=88=A0=E9=99=A4=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E5=8F=82=E6=95=B0=E7=B1=BB=E5=9E=8B=E4=B8=8E=E9=80=BB=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 1. 接口参数调整:将批量删除接口的路径参数从Long数组改为接收逗号分隔的字符串,并修改为@RequestBody接收 2. 服务层逻辑重构:将deleteWithValidByIds方法参数从Collection改为String,内部实现字符串解析与转换 3. 新增参数校验:在服务层添加字符串解析逻辑,过滤空值并转换为Long列表,避免空列表操作 调整前,批量删除依赖路径参数数组,存在URL长度限制且类型转换复杂;调整后,通过请求体接收字符串参数,服务层统一解析处理,提升接口健壮性与兼容性。 --- .../WmsAttendanceScheduleController.java | 6 +++--- .../service/IWmsAttendanceScheduleService.java | 2 +- .../impl/WmsAttendanceScheduleServiceImpl.java | 15 +++++++++++++-- 3 files changed, 17 insertions(+), 6 deletions(-) diff --git a/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java b/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java index ce3239bc..1bb542c8 100644 --- a/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java +++ b/klp-wms/src/main/java/com/klp/controller/WmsAttendanceScheduleController.java @@ -94,10 +94,10 @@ public class WmsAttendanceScheduleController extends BaseController { * @param scheduleIds 主键串 */ @Log(title = "排班(谁在哪天上班)", businessType = BusinessType.DELETE) - @DeleteMapping("/{scheduleIds}") + @DeleteMapping("/remove") public R remove(@NotEmpty(message = "主键不能为空") - @PathVariable Long[] scheduleIds) { - return toAjax(iWmsAttendanceScheduleService.deleteWithValidByIds(Arrays.asList(scheduleIds), true)); + @RequestBody String scheduleIds) { + return toAjax(iWmsAttendanceScheduleService.deleteWithValidByIds(scheduleIds, true)); } /** diff --git a/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java b/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java index 4fe63d6e..8f34387d 100644 --- a/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java +++ b/klp-wms/src/main/java/com/klp/service/IWmsAttendanceScheduleService.java @@ -48,7 +48,7 @@ public interface IWmsAttendanceScheduleService { /** * 校验并批量删除排班(谁在哪天上班)信息 */ - Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + Boolean deleteWithValidByIds(String ids, Boolean isValid); /** * 生成排班 diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java index a87e3cd9..2afbc13e 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsAttendanceScheduleServiceImpl.java @@ -148,11 +148,22 @@ public class WmsAttendanceScheduleServiceImpl implements IWmsAttendanceScheduleS * 批量删除排班(谁在哪天上班) */ @Override - public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { + public Boolean deleteWithValidByIds(String ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } - return baseMapper.deleteBatchIds(ids) > 0; + // 将逗号分隔的字符串转换为Long列表 + List idList = Arrays.stream(ids.split(",")) + .map(String::trim) + .filter(StringUtils::isNotBlank) + .map(Long::parseLong) + .collect(Collectors.toList()); + + if (idList.isEmpty()) { + return false; + } + + return baseMapper.deleteBatchIds(idList) > 0; } /**