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; + } }