叶君翔 %!s(int64=3) %!d(string=hai) anos
pai
achega
06f64ccb0a

+ 6 - 3
lb-app/src/main/java/com/ydd/app/callback/controller/AiptDeliveryCallback.java

@@ -2,8 +2,8 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
-import com.ydd.api.DeliveryService;
 import com.ydd.app.service.ApiDeliveryBindService;
 import com.ydd.app.service.ApiDeliveryService;
 import com.ydd.app.service.ApiOrderBackService;
@@ -80,9 +80,12 @@ public class AiptDeliveryCallback {
         CallBackOrderVo vo = new CallBackOrderVo();
         vo.setLbClient(DeliveryTypeEnums.AIPT.getName());
         vo.setMap(params);
-        ResObject<AptCallbackOrderVo> callbackRes = ( ResObject<AptCallbackOrderVo> )aiptClient.doOrder(vo);
+
+        Object result = aiptClient.doOrder(vo);
+        ObjectMapper objectMapper = new ObjectMapper();
+        ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
         if (callbackRes.getCode() == 0) {
-            AptCallbackOrderVo orderVo = callbackRes.getData();
+            AptCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), AptCallbackOrderVo.class);
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackApt(orderVo));
             OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getThirdOrderId()));
             CallBackOrderDto dto = content.createCallBack();

+ 6 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/DadaDeliveryCallback.java

@@ -2,6 +2,7 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiDeliveryBindService;
 import com.ydd.app.service.ApiDeliveryService;
@@ -12,6 +13,7 @@ import com.ydd.common.enums.DeliveryTypeEnums;
 import com.ydd.module.domain.OrderDelivery;
 import com.ydd.module.dto.CallBackOrderDto;
 import com.ydd.module.service.IOrderDeliveryService;
+import com.ydd.third.common.dto.AptCallbackOrderVo;
 import com.ydd.third.common.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.CallBackOrderVo;
@@ -53,9 +55,11 @@ public class DadaDeliveryCallback {
         CallBackOrderVo vo = new CallBackOrderVo();
         vo.setLbClient(DeliveryTypeEnums.DADA.getName());
         vo.setParams(jsonParam);
-        ResObject<DadaCallbackOrderVo> callbackRes = (ResObject<DadaCallbackOrderVo>)callback.doOrder(vo);
+        Object result = callback.doOrder(vo);
+        ObjectMapper objectMapper = new ObjectMapper();
+        ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
         if (callbackRes.getCode() == 0) {
-            DadaCallbackOrderVo orderVo = callbackRes.getData();
+            DadaCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), DadaCallbackOrderVo.class);
             orderVo.setType(DeliveryTypeEnums.DADA.getType());
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackDaDa(orderVo));
             OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderId()));

+ 6 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/DadaYzDeliveryCallback.java

@@ -2,6 +2,7 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiDeliveryBindService;
 import com.ydd.app.service.ApiDeliveryService;
@@ -55,9 +56,12 @@ public class DadaYzDeliveryCallback {
         CallBackOrderVo vo = new CallBackOrderVo();
         vo.setLbClient(DeliveryTypeEnums.DADA_YZ.getName());
         vo.setParams(jsonParam);
-        ResObject<DadaCallbackOrderVo> callbackRes = (ResObject<DadaCallbackOrderVo>)callback.doOrder(vo);
+
+        Object result = callback.doOrder(vo);
+        ObjectMapper objectMapper = new ObjectMapper();
+        ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
         if (callbackRes.getCode() == 0) {
-            DadaCallbackOrderVo orderVo = callbackRes.getData();
+            DadaCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), DadaCallbackOrderVo.class);
             orderVo.setType(DeliveryTypeEnums.DADA_YZ.getType());
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackDaDa(orderVo));
             OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderId()));

+ 6 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/FengniaoDeliveryCallback.java

@@ -3,6 +3,7 @@ package com.ydd.app.callback.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.ApiShopService;
@@ -18,6 +19,7 @@ import com.ydd.third.common.dto.FengniaoV3Token;
 import com.ydd.third.common.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.CallBackOrderVo;
+import com.ydd.third.common.vo.callback.DadaCallbackOrderVo;
 import com.ydd.third.common.vo.callback.FengniaoV3CallbackOrderVo;
 import com.ydd.third.common.vo.callback.FengniaoV3CallbackStoreVo;
 import lombok.extern.slf4j.Slf4j;
@@ -108,9 +110,11 @@ public class FengniaoDeliveryCallback {
             CallBackOrderVo vo = new CallBackOrderVo();
             vo.setLbClient(DeliveryTypeEnums.FENG_NIAO.getName());
             vo.setParams(jsonParam);
-            ResObject<FengniaoV3CallbackOrderVo> callbackRes = (ResObject<FengniaoV3CallbackOrderVo>) callback.doOrder(vo);
+            Object result = callback.doOrder(vo);
+            ObjectMapper objectMapper = new ObjectMapper();
+            ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
             if (callbackRes.getCode() == 0) {
-                FengniaoV3CallbackOrderVo orderVo = callbackRes.getData();
+                FengniaoV3CallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), FengniaoV3CallbackOrderVo.class);
                 Integer orderStatus = orderVo.getOrderStatus();
                 if (businessType.equals("orderStatusNotify")) { //订单状态变更回调
                     if (null != orderStatus) {

+ 7 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/HuoLaLaDeliveryCallback.java

@@ -3,6 +3,7 @@ package com.ydd.app.callback.controller;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.api.DeliveryService;
 import com.ydd.app.service.ApiDeliveryService;
@@ -20,6 +21,7 @@ import com.ydd.module.service.IShopDeliveryService;
 import com.ydd.third.common.huolalaresponse.TokenResponse;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.CallBackOrderVo;
+import com.ydd.third.common.vo.callback.FengniaoV3CallbackOrderVo;
 import com.ydd.third.common.vo.callback.HuolalaCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -112,9 +114,12 @@ public class HuoLaLaDeliveryCallback {
             vo.setLbClient(DeliveryTypeEnums.HUO_LA_LA.getName());
             vo.setParams(jsonParam);
             vo.setToken(token);
-            ResObject<HuolalaCallbackOrderVo> callbackRes = (ResObject<HuolalaCallbackOrderVo>)huolalaCallback.doOrder(vo);
+
+            Object result = huolalaCallback.doOrder(vo);
+            ObjectMapper objectMapper = new ObjectMapper();
+            ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
             if (callbackRes.getCode()==0){
-                HuolalaCallbackOrderVo orderVo = callbackRes.getData();
+                HuolalaCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), HuolalaCallbackOrderVo.class);
                 ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackHuoLaLa(orderVo));
                 CallBackOrderDto dto = content.createCallBack();
                 dto.setParentOrderSn(orderDelivery.getOrderSn());

+ 1 - 1
lb-app/src/main/java/com/ydd/app/callback/controller/KFDeliveryCallback.java

@@ -59,7 +59,7 @@ public class KFDeliveryCallback {
         Object result = callback.doOrder(vo);
         ObjectMapper objectMapper = new ObjectMapper();
         ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
-        if (callbackRes.getCode() == 0 && callbackRes.getData() != null) {
+        if (callbackRes.getCode() == 0) {
             KfCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), KfCallbackOrderVo.class);
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackKF(orderVo));
             OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderId()));

+ 6 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/MeituanDeliveryCallback.java

@@ -2,6 +2,7 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.OpenApiNotifyService;
@@ -18,6 +19,7 @@ import com.ydd.module.service.*;
 import com.ydd.third.common.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.CallBackOrderVo;
+import com.ydd.third.common.vo.callback.HuolalaCallbackOrderVo;
 import com.ydd.third.common.vo.callback.MeituanCallbackOrderVo;
 import com.ydd.third.common.vo.callback.MeituanZbCallbackOrderVo;
 import com.ydd.third.common.vo.waimai.meituan.MeituanShop;
@@ -117,9 +119,11 @@ public class MeituanDeliveryCallback {
         CallBackOrderVo vo = new CallBackOrderVo();
         vo.setLbClient(DeliveryTypeEnums.MEI_TUAN.getName());
         vo.setMap(params);
-        ResObject<MeituanCallbackOrderVo> callbackRes =( ResObject<MeituanCallbackOrderVo>) meituanClient.doOrder(vo);
+        Object result = meituanClient.doOrder(vo);
+        ObjectMapper objectMapper = new ObjectMapper();
+        ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
         if (callbackRes.getCode() == 0) {
-            MeituanCallbackOrderVo orderVo = callbackRes.getData();
+            MeituanCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), MeituanCallbackOrderVo.class);
             log.info(JSONObject.toJSONString(orderVo));
             String msgType = params.get("msgType");
             if (msgType.equals("19101")) { //订单状态发生变化

+ 6 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/ShansongDeliveryCallback.java

@@ -2,6 +2,7 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiDeliveryBindService;
 import com.ydd.app.service.ApiDeliveryService;
@@ -15,6 +16,7 @@ import com.ydd.module.service.IOrderDeliveryService;
 import com.ydd.third.common.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.CallBackOrderVo;
+import com.ydd.third.common.vo.callback.MeituanCallbackOrderVo;
 import com.ydd.third.common.vo.callback.ShansongCallbackOrderVo;
 import com.ydd.third.common.vo.callback.ShansongTokenVo;
 import lombok.extern.slf4j.Slf4j;
@@ -86,9 +88,11 @@ public class ShansongDeliveryCallback {
         CallBackOrderVo vo = new CallBackOrderVo();
         vo.setLbClient(DeliveryTypeEnums.SHAN_SONG.getName());
         vo.setParams(jsonParam);
-        ResObject<ShansongCallbackOrderVo> callbackRes = (ResObject<ShansongCallbackOrderVo>)callback.doOrder(vo);
+        Object result = callback.doOrder(vo);
+        ObjectMapper objectMapper = new ObjectMapper();
+        ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
         if (callbackRes.getCode() == 0) {
-            ShansongCallbackOrderVo orderVo = callbackRes.getData();
+            ShansongCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), ShansongCallbackOrderVo.class);
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackShanSong(orderVo));
             OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderNo()));
             CallBackOrderDto dto = content.createCallBack();

+ 6 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/ShunfengDeliveryCallback.java

@@ -2,6 +2,7 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.impl.ApiCallBackContent;
@@ -13,6 +14,7 @@ import com.ydd.module.service.IOrderDeliveryService;
 import com.ydd.third.common.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.CallBackOrderVo;
+import com.ydd.third.common.vo.callback.MeituanCallbackOrderVo;
 import com.ydd.third.common.vo.callback.ShunfengCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -60,9 +62,11 @@ public class ShunfengDeliveryCallback {
         vo.setLbClient(DeliveryTypeEnums.SHUN_FENG.getName());
         vo.setParams(jsonParam);
         vo.setSign(sign);
-        ResObject<ShunfengCallbackOrderVo>  callbackRes = (ResObject<ShunfengCallbackOrderVo> )callback.doOrder(vo);
+        Object result = callback.doOrder(vo);
+        ObjectMapper objectMapper = new ObjectMapper();
+        ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
         if (callbackRes.getCode() == 0) {
-            ShunfengCallbackOrderVo orderVo = callbackRes.getData();
+            ShunfengCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), ShunfengCallbackOrderVo.class);
             log.info(JSONObject.toJSONString(orderVo));
             String urlIndex = orderVo.getUrlIndex();
             if (StringUtils.isNotBlank(urlIndex)) {

+ 6 - 2
lb-app/src/main/java/com/ydd/app/callback/controller/UUPTDeliveryCallback.java

@@ -2,6 +2,7 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.fasterxml.jackson.databind.ObjectMapper;
 import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.impl.ApiCallBackContent;
@@ -12,6 +13,7 @@ import com.ydd.module.dto.CallBackOrderDto;
 import com.ydd.module.service.IOrderDeliveryService;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.CallBackOrderVo;
+import com.ydd.third.common.vo.callback.MeituanCallbackOrderVo;
 import com.ydd.third.common.vo.callback.UUPTCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -49,9 +51,11 @@ public class UUPTDeliveryCallback {
         CallBackOrderVo vo = new CallBackOrderVo();
         vo.setLbClient(DeliveryTypeEnums.UUPT.getName());
         vo.setParams(jsonObject);
-        ResObject<UUPTCallbackOrderVo> callbackRes = (ResObject<UUPTCallbackOrderVo>)callback.doOrder(vo);
+        Object result = callback.doOrder(vo);
+        ObjectMapper objectMapper = new ObjectMapper();
+        ResObject callbackRes = objectMapper.convertValue(result, ResObject.class);
         if (callbackRes.getCode() == 0) {
-            UUPTCallbackOrderVo orderVo = callbackRes.getData();
+            UUPTCallbackOrderVo orderVo = objectMapper.convertValue(callbackRes.getData(), UUPTCallbackOrderVo.class);
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackUUPT(orderVo));
             OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getOrderId()));
             CallBackOrderDto dto = content.createCallBack();

+ 4 - 0
lb-app/src/main/java/com/ydd/app/consumer/DelayStatusNotifyListener.java

@@ -103,6 +103,8 @@ public class DelayStatusNotifyListener {
                 if (notifyCount == AppConstant.NOTIFY_INTERVAL_DURATION.size()) {
                     // todo: 未收到三方的状态通知回复, 待处理: 增加入库记录...
                     log.warn("门店状态通知结束, 未收到三方的成功响应");
+
+                    redisCache.deleteObject(key);
                 }
             }
         } catch (Exception e) {
@@ -151,6 +153,8 @@ public class DelayStatusNotifyListener {
                 if (notifyCount == AppConstant.NOTIFY_INTERVAL_DURATION.size()) {
                     // todo: 未收到三方的状态通知回复, 待处理: 增加入库记录...
                     log.warn("订单状态通知结束, 未收到三方的成功响应");
+
+                    redisCache.deleteObject(key);
                 }
             }
         } catch (Exception e) {

+ 1 - 1
lb-third/lb-third-delivery/src/main/resources/application.yml

@@ -4,7 +4,7 @@ server:
   port: 8083
   servlet:
     # 应用的访问路径
-    context-path: /
+    context-path: /delivery
   # undertow 配置
   undertow:
     # HTTP post内容的最大大小。当值为-1时,默认值为大小是无限的