From 1637c1bf9278c6376ecf918bc464485c80c42dd2 Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Fri, 12 Dec 2025 09:23:13 +0800 Subject: [PATCH] =?UTF-8?q?=E5=B9=B3=E5=8F=B0=E5=86=85=E9=83=A8=E9=85=8D?= =?UTF-8?q?=E9=80=81=E8=B4=B9=E7=9A=84=E9=80=BB=E8=BE=91=E6=96=B0=E5=A2=9E?= =?UTF-8?q?=E3=80=82=E5=A2=9E=E5=8A=A0=E6=97=A5=E5=BF=97=E6=89=93=E5=8D=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...StoreSameCityTransportBaseServiceImpl.java | 98 +++++++++++++------ 1 file changed, 70 insertions(+), 28 deletions(-) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportBaseServiceImpl.java index 688e39e5..d91d4b18 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSameCityTransportBaseServiceImpl.java @@ -79,94 +79,123 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl pair = saveOrUpdateShopStoreSameCityTransportBase(transportBase); - - // 新增或更新同城配送扩展设置列表 - shopStoreSameCityTransportBaseDTO.setTransportBase(transportBase); - shopStoreSameCityTransportBaseDTO.rebuildTransportList(); - shopStoreSameCityTransportService.saveOrUpdateShopStoreSameCityTransportList(shopStoreSameCityTransportBaseDTO.getTransportList()); - - if (pair.getFirst() > 0) { - return CommonResult.success(null, pair.getSecond()); + // 保存或更新同城配送基础设置 + Pair saveResult = saveOrUpdateShopStoreSameCityTransportBase(transportBase); + if (saveResult.getFirst() <= 0) { + logger.error("保存或更新同城配送基础设置失败, storeId={}, errorMsg={}", storeId, saveResult.getSecond()); + return CommonResult.failed(saveResult.getSecond()); } - return CommonResult.failed(pair.getSecond()); + // 更新DTO中的基础设置和运输列表 + shopStoreSameCityTransportBaseDTO.setTransportBase(transportBase); + shopStoreSameCityTransportBaseDTO.rebuildTransportList(); + + // 保存或更新同城配送扩展设置列表 + int updateCount = shopStoreSameCityTransportService.saveOrUpdateShopStoreSameCityTransportList(shopStoreSameCityTransportBaseDTO.getTransportList()); + logger.debug("保存或更新同城配送扩展设置列表完成, storeId={}, 更新条数={}", storeId, updateCount); + + logger.info("成功保存或更新店铺 {} 的同城配送设置", storeId); + return CommonResult.success(shopStoreSameCityTransportBaseDTO, saveResult.getSecond()); } + /** * 店铺主营商品类型 * @@ -331,6 +360,13 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl + */ public Pair saveOrUpdateShopStoreSameCityTransportBase(ShopStoreSameCityTransportBase transportBase) { try { // 参数校验 @@ -339,13 +375,14 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl 2) { - isPlatform = 2; + isPlatform = CommonConstant.Disable2; // 默认为商户级别 transportBase.setIs_platform(isPlatform); } - // 设置默认值 - 使用更清晰的条件判断 + // 设置默认值 - 确保数值合理性 if (transportBase.getDistance_base() == null || transportBase.getDistance_base() < 0) { transportBase.setDistance_base(0); } @@ -368,25 +405,29 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); queryWrapper.eq("store_id", transportBase.getStore_id()); queryWrapper.eq("is_platform", transportBase.getIs_platform()); queryWrapper.eq("status", CommonConstant.Enable); + + // 先尝试查找已存在的记录 ShopStoreSameCityTransportBase exist = getOne(queryWrapper); Date now = new Date(); if (exist == null) { // 新增操作 - log.debug("开始新增同城配送基础信息, storeId={}", transportBase.getStore_id()); + log.debug("开始新增同城配送基础信息, storeId={}, isPlatform={}", transportBase.getStore_id(), transportBase.getIs_platform()); transportBase.setCreated_by(transportBase.getUpdated_by()); transportBase.setCreated_at(now); transportBase.setUpdated_at(now); + transportBase.setStatus(CommonConstant.Enable); // 确保状态为启用 if (add(transportBase)) { // 确保获取到ID Long transportBaseId = transportBase.getTransport_base_id(); if (transportBaseId == null || transportBaseId <= 0) { - // 补偿机制:若transportBase.getTransport_base_id()==null,重新查询数据 + // 补偿机制:若新增后ID仍为空,重新查询获取ID log.debug("新增后ID为空,重新查询获取ID, storeId={}", transportBase.getStore_id()); exist = getOne(queryWrapper); if (exist != null) { @@ -400,10 +441,11 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl