From ce85d72ceefb5656e2fca76fa54a0cc2d82844a1 Mon Sep 17 00:00:00 2001
From: Jack <46790855@qq.com>
Date: Tue, 30 Sep 2025 00:23:16 +0800
Subject: [PATCH] =?UTF-8?q?=E5=B0=8F=E9=97=AE=E9=A2=98=E4=BF=AE=E5=A4=8D?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../service/impl/LakalaApiServiceImpl.java | 15 ++++++--
.../order/service/ShopOrderInfoService.java | 8 +++++
.../impl/ShopOrderBaseServiceImpl.java | 11 +++---
.../impl/ShopOrderInfoServiceImpl.java | 35 +++++++++++++++++++
.../service/impl/SFExpressApiServiceImpl.java | 5 +--
.../impl/ShopStorePrinterServiceImpl.java | 2 --
...StoreSameCityTransportBaseServiceImpl.java | 1 +
.../impl/WxOrderShippingServiceImpl.java | 3 +-
8 files changed, 67 insertions(+), 13 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 445f9b1c..311cb06c 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
@@ -39,6 +39,7 @@ import com.suisung.mall.shop.lakala.utils.LakalaUtil;
import com.suisung.mall.shop.message.service.PushMessageService;
import com.suisung.mall.shop.message.service.ShopMessageTemplateService;
import com.suisung.mall.shop.order.service.ShopOrderBaseService;
+import com.suisung.mall.shop.order.service.ShopOrderInfoService;
import com.suisung.mall.shop.order.service.ShopOrderLklService;
import com.suisung.mall.shop.page.service.OssService;
import com.suisung.mall.shop.store.service.ShopMchEntryService;
@@ -153,6 +154,10 @@ public class LakalaApiServiceImpl implements LakalaApiService {
@Resource
private ShopOrderBaseService shopOrderBaseService;
+ @Lazy
+ @Resource
+ private ShopOrderInfoService shopOrderInfoService;
+
@Lazy
@Resource
private PushMessageService pushMessageService;
@@ -772,7 +777,7 @@ public class LakalaApiServiceImpl implements LakalaApiService {
/**
- * 发货类交易确认收货通知处理
+ * 发货类交易确认收货通知处理, 微信通知拉卡拉,拉卡拉通知我们系统,已经完成确认收货
*
* 参考文档:https://o.lakala.com/#/home/document/detail?id=1003
*
@@ -2825,8 +2830,12 @@ public class LakalaApiServiceImpl implements LakalaApiService {
if (CollUtil.isNotEmpty(detailDatas)) {
int idx = 1;
for (JSONObject detailData : detailDatas.jsonIter()) {
- String recvNo = detailData.getStr("recv_no");
- String amt = detailData.getStr("amt");
+ if (detailData == null || detailData.isEmpty()) {
+ continue;
+ }
+
+ String recvNo = Convert.toStr(detailData.get("recv_no"), "");
+ String amt = Convert.toStr(detailData.get("amt"), "");
if (StrUtil.isNotBlank(recvNo) && StrUtil.isNotBlank(amt)) {
String outSeparateNoTemp = String.format("%s_%d", outSeparateNo, idx);
Boolean drawSuccess = ewalletWithDrawD1(recvNo, outSeparateNoTemp, amt, JSONUtil.toJsonStr(detailDatas));
diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderInfoService.java b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderInfoService.java
index 812ec6d3..c0488662 100644
--- a/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderInfoService.java
+++ b/mall-shop/src/main/java/com/suisung/mall/shop/order/service/ShopOrderInfoService.java
@@ -81,4 +81,12 @@ public interface ShopOrderInfoService extends IBaseService {
*/
CommonResult orderPickingCompleted(String storeId, String orderId);
+ /**
+ * 确认收货之后更改订单的收货状态
+ *
+ * @param orderId 订单ID
+ * @return Boolean 更新是否成功
+ */
+ Boolean updateOrderReceived(String orderId);
+
}
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 fc71150d..47dc8acf 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
@@ -2374,10 +2374,10 @@ public class ShopOrderBaseServiceImpl extends BaseServiceImpl updateWrapper = new UpdateWrapper<>();
+ updateWrapper.eq("order_id", orderId)
+ .ne("order_is_received", CommonConstant.Enable);
+ updateWrapper.set("order_is_received", CommonConstant.Enable)
+ .set("order_deal_time", System.currentTimeMillis());
+
+ boolean result = update(updateWrapper);
+ if (result) {
+ logger.info("[确认收货] 订单收货状态更新成功, orderId={}", orderId);
+ } else {
+ logger.warn("[确认收货] 订单收货状态更新失败, orderId={}", orderId);
+ }
+
+ return result;
+ } catch (Exception e) {
+ logger.error("[确认收货] 订单收货状态更新异常, orderId={}", orderId, e);
+ return false;
+ }
+ }
+
// todo 优化多次远程查询
private Map dashboardPlantform() {
List order_state = Arrays.asList(
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 efb562c7..72cbfbbd 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
@@ -263,7 +263,7 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
//汽配 18:珠宝 20:披萨 21:中餐 22:水产 27:专人直送 32:中端饮品 33:便利店 34:面包糕点 35:火锅 36:证照 40:烧烤小龙虾 41:外部落地配 47:烟酒
//行 48:成人用品 99:其他
// 经营类型: 快餐,百货,生鲜,高端饮品,蛋糕,鲜花,数码,服装,披萨,水产,中端饮品,便利店,面包糕点,烟酒,其他
- params.put("shop_product_types", "1,3,6,8,13,14,15,16,20,22,32,33,34,47,99");
+ params.put("shop_product_types", "33"); //"1,3,6,8,13,14,15,16,20,22,32,33,34,47,99"
params.put("shop_type", 1); // 店铺类型: 1-普通型 2-平台型
params.put("shop_address", shopAddress); // 店铺地址
params.put("longitude", longitude); // 经度
@@ -1014,7 +1014,8 @@ public class SFExpressApiServiceImpl implements SFExpressApiService {
orderStatus = StateCode.ORDER_STATE_RECEIVED; //已签收
// 通知微信用户确认收货(同城配送不能调用微信的确认收货)
- // wxOrderShippingService.notifyConfirmReceive(shopStoreSfOrder.getShop_order_id());
+ wxOrderShippingService.notifyConfirmReceive(shopStoreSfOrder.getShop_order_id());
+
// 不要提前 订单确认收货,等微信拉卡拉确认通知
// try {
// shopOrderBaseService.receive(shopOrderId, null);
diff --git a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java
index f76971fb..bf7f484e 100644
--- a/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java
+++ b/mall-shop/src/main/java/com/suisung/mall/shop/store/service/impl/ShopStorePrinterServiceImpl.java
@@ -259,7 +259,6 @@ public class ShopStorePrinterServiceImpl extends BaseServiceImpl saveOrUpdateResult = saveOrUpdateShopStoreSameCityTransportBase(transportBase);
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 dbecf5e4..36c23633 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
@@ -237,8 +237,7 @@ public class WxOrderShippingServiceImpl implements WxOrderShippingService {
// 跳转链接设置
setMsgJumpPath(orderId);
-
-
+
log.info("通知微信用户确认收货成功, 订单ID: {}", orderId);
return Pair.of(true, "通知微信用户确认收货成功");