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, "通知微信用户确认收货成功");