From 4cbb05b0a09fbf86e0f4d7d1923ec4638b0c8176 Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Sat, 14 Dec 2024 16:50:36 +0800 Subject: [PATCH] =?UTF-8?q?=E8=BF=90=E8=B4=B9=E8=AE=BE=E7=BD=AE=20fix=20bu?= =?UTF-8?q?g?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../impl/ShopOrderBaseServiceImpl.java | 14 ++++----- .../impl/ShopOrderInfoServiceImpl.java | 5 +++- .../service/impl/SFExpressApiServiceImpl.java | 17 ++++++++--- .../service/ShopStoreSfOrderService.java | 8 +++++ ...StoreSameCityTransportBaseServiceImpl.java | 29 +++++++++++++++---- .../impl/ShopStoreSfOrderServiceImpl.java | 20 +++++++++++++ 6 files changed, 75 insertions(+), 18 deletions(-) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java index 6d4edcb7..df0ad2b5 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderBaseServiceImpl.java @@ -8305,18 +8305,18 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl queryWrapper = new QueryWrapper<>(); - queryWrapper.eq("order_id", orderId); + queryWrapper.eq("order_id", shopOrderId); List shopOrderItemList = shopOrderItemService.list(queryWrapper); if (shopOrderBase == null || CollUtil.isEmpty(shopOrderItemList)) { logger.error("无法获取订单信息!"); @@ -8331,7 +8331,7 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl innerCreateSfExpressOrder(String orderId, Long orderPickupNum) { + public Pair innerCreateSfExpressOrder(String shopOrderId, Long orderPickupNum) { + if(StrUtil.isBlank(shopOrderId) || orderPickupNum == null|| orderPickupNum <=0) { + return Pair.of(false, "顺丰同城下单时,缺少必要参数!"); + } + + // 检查 shop_store_sf_order 订单是否已存在? + if(shopStoreSfOrderService.exists(devId,shopOrderId)){ + return Pair.of(false, "顺丰同城下单时,发现订单已存在!"); + } // 从商家订单中,组件顺丰的订单信息,注:关键的函数 - SFCreateOrderReq sfCreateOrderReq = shopOrderBaseService.buildSFOrderData(devId, orderId, orderPickupNum); + SFCreateOrderReq sfCreateOrderReq = shopOrderBaseService.buildSFOrderData(devId, shopOrderId, orderPickupNum); if (sfCreateOrderReq == null) { logger.error("顺丰同城下单异常,无法获取下单记录!"); return Pair.of(false, "顺丰同城下单异常,无法获取下单记录!"); @@ -194,7 +203,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { // String pickupCode = shopStoreSfOrder.getPickup_code() != null ? shopStoreSfOrder.getPickup_code().toString() : ""; // 商城订单状态:从 2020-待配货/待出库审核 到 2030-待发货 - shopOrderInfoService.changeOrderStatus(orderId, StateCode.ORDER_STATE_WAIT_SHIPPING, 0, 0); + shopOrderInfoService.changeOrderStatus(shopOrderId, StateCode.ORDER_STATE_WAIT_SHIPPING, 0, 0); return Pair.of(true, "顺丰同城下单成功!"); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSfOrderService.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSfOrderService.java index 4454e2c4..072a8237 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSfOrderService.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/ShopStoreSfOrderService.java @@ -38,5 +38,13 @@ public interface ShopStoreSfOrderService extends IBaseService * @return */ Boolean updateShopStoreSfOrderStatus(ShopStoreSfOrder record); + + /** + * 检查顺丰同城开发者id下,某个订单是否已经存在 + * @param devId + * @param shopOrderId 商城订单号 + * @return + */ + Boolean exists(Integer devId, String shopOrderId); } 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 0a7a98f5..739713a3 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 @@ -250,16 +250,33 @@ public class ShopStoreSameCityTransportBaseServiceImpl extends BaseServiceImpl= 0) { - return Pair.of(0L, "请输入配送运费!"); + if (transportBase.getDelivery_base_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDelivery_base_fee()) > 0) { + // return Pair.of(0L, "请输入配送运费!"); + transportBase.setDelivery_base_fee(BigDecimal.ZERO); + } + + if (transportBase.getDistance_increase_km() == null || transportBase.getDistance_increase_km() < 0) { + transportBase.setDistance_increase_km(0); + } + if (transportBase.getDistance_increase_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getDistance_increase_fee()) > 0) { + transportBase.setDistance_increase_fee(BigDecimal.ZERO); + } + + if (transportBase.getWeight_increase_kg() == null || transportBase.getWeight_increase_kg() < 0) { + transportBase.setWeight_increase_kg(0); + } + if (transportBase.getWeight_increase_fee() == null || BigDecimal.ZERO.compareTo(transportBase.getWeight_increase_fee()) > 0) { + transportBase.setWeight_increase_fee(BigDecimal.ZERO); } QueryWrapper queryWrapper = new QueryWrapper<>(); diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSfOrderServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSfOrderServiceImpl.java index c2be336c..abdcf513 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSfOrderServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStoreSfOrderServiceImpl.java @@ -176,4 +176,24 @@ public class ShopStoreSfOrderServiceImpl extends BaseServiceImpl wrapper = new QueryWrapper<>(); + wrapper.eq("sf_order_id", shopOrderId); + wrapper.eq("dev_id", devId); + + return count(wrapper) > 0; + } }