From 56a62f667398d1931465b4ac46b211ce0f99175f Mon Sep 17 00:00:00 2001 From: Jack <46790855@qq.com> Date: Mon, 20 Oct 2025 17:26:12 +0800 Subject: [PATCH] =?UTF-8?q?=E9=A1=BA=E4=B8=B0=E5=AE=8C=E6=88=90=E8=AE=A2?= =?UTF-8?q?=E5=8D=95=E6=97=B6=E5=80=99=EF=BC=8C=E5=8F=91=E5=87=BA=E5=82=AC?= =?UTF-8?q?=E4=BF=83=E7=A1=AE=E8=AE=A4=E6=94=B6=E8=B4=A7=E7=9A=84=E9=80=9A?= =?UTF-8?q?=E7=9F=A5->=20=E5=BE=AE=E4=BF=A1?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/impl/LakalaApiServiceImpl.java | 1 - .../impl/ShopOrderBaseServiceImpl.java | 17 +++++++++++++-- .../impl/ShopOrderInfoServiceImpl.java | 2 +- .../impl/ShopOrderReturnServiceImpl.java | 21 ++++++++++++------- .../service/impl/SFExpressApiServiceImpl.java | 10 ++++----- .../impl/WxOrderShippingServiceImpl.java | 12 ++++------- 6 files changed, 39 insertions(+), 24 deletions(-) diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java index f7dcddf1..9ebb96b4 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/lakala/service/impl/LakalaApiServiceImpl.java @@ -831,7 +831,6 @@ public class LakalaApiServiceImpl implements LakalaApiService { logDate = DateUtil.format(new Date(), "yyyyMMdd"); // 当前时间 } - log.debug("[确认收货通知] 获取基础交易信息: logNo={} tradeNo={} logDate={}", logNo, tradeNo, logDate); // 查询用途 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 222b0d10..08116afb 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 @@ -99,6 +99,7 @@ import com.suisung.mall.shop.sfexpress.service.SFExpressApiService; import com.suisung.mall.shop.store.service.*; import com.suisung.mall.shop.sync.service.SyncThirdDataService; import com.suisung.mall.shop.user.service.*; +import com.suisung.mall.shop.wechat.service.WxOrderShippingService; import io.seata.common.util.StringUtils; import io.seata.core.context.RootContext; import io.seata.core.exception.TransactionException; @@ -376,6 +377,10 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl= 0) { diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java index 5375ee43..c4b620c4 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/impl/ShopOrderInfoServiceImpl.java @@ -498,7 +498,7 @@ public class ShopOrderInfoServiceImpl extends BaseServiceImpl 0) { is_denyreturn = true; - throw new ApiException(I18nUtil._("此商品已过退货期,不允许退货!")); + //throw new ApiException(I18nUtil._("此商品已过退货期,不允许退货!")); } } @@ -2550,12 +2554,14 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl orderItems = shopOrderItemService.find(new QueryWrapper().eq("order_id", orderId)); - if (CollectionUtil.isEmpty(orderItems)) return CommonResult.failed("无可退货商品"); + if (CollectionUtil.isEmpty(orderItems)) { + return CommonResult.failed("无可退货商品"); + } // === 3. 检查退货单 === ShopOrderReturn refundOrder = findOne(new QueryWrapper() @@ -2712,9 +2718,10 @@ public class ShopOrderReturnServiceImpl extends BaseServiceImpl 0) { return "订单已超过退货期限,无法退货"; } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java index 1c9e8289..5f579562 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/sfexpress/service/impl/SFExpressApiServiceImpl.java @@ -1021,7 +1021,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { pushRemark = "已完成配送"; orderStatus = StateCode.ORDER_STATE_RECEIVED; //已签收 - // 通知微信用户确认收货(同城配送不能调用微信的确认收货) + // 顺丰送达后,发出催促微信用户确认收货通知 (同城配送不能调用微信的确认收货) wxOrderShippingService.notifyConfirmReceive(shopStoreSfOrder.getShop_order_id()); // 不要提前 订单确认收货,等微信拉卡拉确认通知 @@ -1117,13 +1117,14 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { throw new ApiException(I18nUtil._("状态处理失败!")); } - // 通知微信用户确认收货(同城配送不能调用该微信接口) - // wxOrderShippingService.notifyConfirmReceive(shopStoreSfOrder.getShop_order_id()); + String orderId = shopStoreSfOrder.getShop_order_id(); + + // 顺丰送达后,发出催促微信用户确认收货通知 (同城配送不能调用微信的确认收货) + wxOrderShippingService.notifyConfirmReceive(orderId); // 订单确认收货 // shopOrderBaseService.receive(shopStoreSfOrder.getShop_order_id(), null); - String orderId = shopStoreSfOrder.getShop_order_id(); // 消息推送 // JSONObject payload = new JSONObject(); @@ -1131,7 +1132,6 @@ public class SFExpressApiServiceImpl implements SFExpressApiService { // payload.put("orderId", orderId); // pushMessageService.noticeMerchantEmployeeOrderAction(null, orderId, "", "顺丰同城订单[" + orderId + "]已完成配送。", null); - return new ThirdApiRes().success("success"); } diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/wechat/service/impl/WxOrderShippingServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/wechat/service/impl/WxOrderShippingServiceImpl.java index 36c23633..19ed7cdf 100644 --- a/mall-shop/src/main/java/com/suisung/mall/shop/wechat/service/impl/WxOrderShippingServiceImpl.java +++ b/mall-shop/src/main/java/com/suisung/mall/shop/wechat/service/impl/WxOrderShippingServiceImpl.java @@ -128,21 +128,17 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService { // Step 4: Prepare request payload JSONArray shippingList = new JSONArray().put(shippingItem); -// String mchId = orderBaseInfo.getMch_id(); - JSONObject paramsJSON = new JSONObject() .set("order_key", new JSONObject().set("order_number_type", 2).set("transaction_id", orderBaseInfo.getTransaction_id())) -// .set("order_key", new JSONObject().set("order_number_type", 1).set("out_trade_no", orderBaseInfo.getOut_trade_no()).set("mchid", mchId)) .set("delivery_mode", 1) .set("logistics_type", logisticsType) .set("shipping_list", shippingList) .set("upload_time", DateTimeUtils.formatDateTimeRFC3339(new Date())) .set("payer", new JSONObject().set("openid", orderBaseInfo.getOpen_id())); - // Step 5: Send request to WeChat API String postUrl = "https://api.weixin.qq.com/wxa/sec/order/upload_shipping_info?access_token=" + accessToken; - log.debug("发货信息录入请求: {} \n {}", postUrl, paramsJSON); + log.debug("发货信息录入请求: {} \n 响应数据 {}", postUrl, paramsJSON); JSONObject respObj = RestTemplateHttpUtil.sendPost( postUrl, @@ -161,7 +157,7 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService { return Pair.of(false, "发货信息录入失败: " + errorMsg); } - // 跳转链接设置 + // 服务号发货通知跳转链接设置 setMsgJumpPath(orderId); log.info("发货信息录入成功, 订单ID: {}", orderId); @@ -235,9 +231,9 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService { return Pair.of(false, "通知微信用户确认收货失败: " + errorMsg); } - // 跳转链接设置 + /// 服务号催促确认收货通知跳转链接设置 setMsgJumpPath(orderId); - + log.info("通知微信用户确认收货成功, 订单ID: {}", orderId); return Pair.of(true, "通知微信用户确认收货成功");