From 82c801cf9c9c63578b37b6bcaf3033fc5a3051e9 Mon Sep 17 00:00:00 2001 From: Joshi <3040996759@qq.com> Date: Mon, 6 Apr 2026 10:28:52 +0800 Subject: [PATCH] =?UTF-8?q?refactor(WmsTransferOrderService):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=B0=83=E6=8B=A8=E5=8D=95=E5=88=A0=E9=99=A4=E9=80=BB?= =?UTF-8?q?=E8=BE=91?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - 添加事务注解确保数据一致性 - 注入调拨单明细相关的mapper和服务 - 删除调拨单时先删除关联的明细记录 - 使用LambdaQueryWrapper进行明细记录查询和删除 - 保持原有业务校验逻辑不变 - 提升代码结构清晰度和可维护性 --- .../impl/WmsTransferOrderServiceImpl.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java index aed91082..b8f64414 100644 --- a/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java +++ b/klp-wms/src/main/java/com/klp/service/impl/WmsTransferOrderServiceImpl.java @@ -9,11 +9,15 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.klp.common.utils.StringUtils; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import com.klp.domain.bo.WmsTransferOrderBo; import com.klp.domain.vo.WmsTransferOrderVo; import com.klp.domain.WmsTransferOrder; +import com.klp.domain.WmsTransferOrderItem; import com.klp.mapper.WmsTransferOrderMapper; +import com.klp.mapper.WmsTransferOrderItemMapper; import com.klp.service.IWmsTransferOrderService; +import com.klp.service.IWmsTransferOrderItemService; import java.util.List; import java.util.Map; @@ -30,6 +34,8 @@ import java.util.Collection; public class WmsTransferOrderServiceImpl implements IWmsTransferOrderService { private final WmsTransferOrderMapper baseMapper; + private final WmsTransferOrderItemMapper wmsTransferOrderItemMapper; + private final IWmsTransferOrderItemService wmsTransferOrderItemService; /** * 查询调拨单主 @@ -103,10 +109,20 @@ public class WmsTransferOrderServiceImpl implements IWmsTransferOrderService { * 批量删除调拨单主 */ @Override + @Transactional(rollbackFor = Exception.class) public Boolean deleteWithValidByIds(Collection ids, Boolean isValid) { if(isValid){ //TODO 做一些业务上的校验,判断是否需要校验 } + + // 先删除关联的调拨单明细记录 + if (ids != null && !ids.isEmpty()) { + LambdaQueryWrapper queryWrapper = new LambdaQueryWrapper<>(); + queryWrapper.in(WmsTransferOrderItem::getTransferId, ids); + wmsTransferOrderItemMapper.delete(queryWrapper); + } + + // 再删除调拨单主记录 return baseMapper.deleteBatchIds(ids) > 0; } }