浏览代码

配送回调接口

wangtao 3 年之前
父节点
当前提交
4e62c6be39
共有 16 个文件被更改,包括 290 次插入50 次删除
  1. 7 1
      lb-app/src/main/java/com/ydd/app/callback/controller/AiptDeliveryCallback.java
  2. 5 1
      lb-app/src/main/java/com/ydd/app/callback/controller/DadaDeliveryCallback.java
  3. 5 1
      lb-app/src/main/java/com/ydd/app/callback/controller/DadaYzDeliveryCallback.java
  4. 15 9
      lb-app/src/main/java/com/ydd/app/callback/controller/FengniaoDeliveryCallback.java
  5. 6 1
      lb-app/src/main/java/com/ydd/app/callback/controller/HuoLaLaDeliveryCallback.java
  6. 6 1
      lb-app/src/main/java/com/ydd/app/callback/controller/KFDeliveryCallback.java
  7. 11 3
      lb-app/src/main/java/com/ydd/app/callback/controller/MeituanDeliveryCallback.java
  8. 6 1
      lb-app/src/main/java/com/ydd/app/callback/controller/ShansongDeliveryCallback.java
  9. 7 1
      lb-app/src/main/java/com/ydd/app/callback/controller/ShunfengDeliveryCallback.java
  10. 8 4
      lb-app/src/main/java/com/ydd/app/callback/controller/UUPTDeliveryCallback.java
  11. 3 25
      lb-feginclient/src/main/java/com/ydd/api/DeliveryCallbackApi.java
  12. 16 0
      lb-third/lb-third-common/src/main/java/com/ydd/third/common/vo/callback/CallBackOrderVo.java
  13. 82 0
      lb-third/lb-third-delivery/src/main/java/com/ydd/third/controller/DeliveryCallController.java
  14. 111 0
      lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/CallBackFactory.java
  15. 1 1
      lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/fengniao/FengniaoCallback.java
  16. 1 1
      lb-third/lb-third-common/src/main/java/com/ydd/third/common/UUPTCallback.java

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

@@ -7,13 +7,16 @@ import com.ydd.app.service.ApiDeliveryService;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.impl.ApiCallBackApt;
 import com.ydd.app.service.impl.ApiCallBackContent;
+import com.ydd.common.enums.DeliveryTypeEnums;
 import com.ydd.module.domain.OrderDelivery;
 import com.ydd.module.dto.CallBackOrderDto;
+import com.ydd.module.enums.DeliveryTypeEnum;
 import com.ydd.module.service.IOrderDeliveryService;
 import com.ydd.third.common.dto.AiptAuthDto;
 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;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.web.bind.annotation.PostMapping;
@@ -70,7 +73,10 @@ public class AiptDeliveryCallback {
     public String doOrder(@RequestParam Map<String, String> params){
         log.info("爱跑腿回调参数:"+JSONObject.toJSONString(params));
         JSONObject res = new JSONObject();
-        ResObject<AptCallbackOrderVo> callbackRes = aiptClient.doOrder(params);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.AIPT.getName());
+        vo.setMap(params);
+        ResObject<AptCallbackOrderVo> callbackRes = ( ResObject<AptCallbackOrderVo> )aiptClient.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             AptCallbackOrderVo orderVo = callbackRes.getData();
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackApt(orderVo));

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

@@ -13,6 +13,7 @@ import com.ydd.module.dto.CallBackOrderDto;
 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.DadaCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -47,7 +48,10 @@ public class DadaDeliveryCallback {
         }
         log.info("达达回调参数 :" + jsonParam);
         //@RequestParam Map<String, String> params
-        ResObject<DadaCallbackOrderVo> callbackRes = callback.doOrder(jsonParam);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.DADA.getName());
+        vo.setParams(jsonParam);
+        ResObject<DadaCallbackOrderVo> callbackRes = (ResObject<DadaCallbackOrderVo>)callback.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             DadaCallbackOrderVo orderVo = callbackRes.getData();
             orderVo.setType(DeliveryTypeEnums.DADA.getType());

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

@@ -13,6 +13,7 @@ import com.ydd.module.dto.CallBackOrderDto;
 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.DadaCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -48,7 +49,10 @@ public class DadaYzDeliveryCallback {
         }
         log.info("达达优质回调参数 :" + jsonParam);
         //@RequestParam Map<String, String> params
-        ResObject<DadaCallbackOrderVo> callbackRes = callback.doOrder(jsonParam);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.DADA_YZ.getName());
+        vo.setParams(jsonParam);
+        ResObject<DadaCallbackOrderVo> callbackRes = (ResObject<DadaCallbackOrderVo>)callback.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             DadaCallbackOrderVo orderVo = callbackRes.getData();
             orderVo.setType(DeliveryTypeEnums.DADA_YZ.getType());

+ 15 - 9
lb-app/src/main/java/com/ydd/app/callback/controller/FengniaoDeliveryCallback.java

@@ -8,6 +8,7 @@ import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.ApiShopService;
 import com.ydd.app.service.impl.ApiCallBackContent;
 import com.ydd.app.service.impl.ApiCallBackFengNiao;
+import com.ydd.common.enums.DeliveryTypeEnums;
 import com.ydd.module.domain.DspDelivery;
 import com.ydd.module.domain.OrderDelivery;
 import com.ydd.module.dto.CallBackOrderDto;
@@ -16,6 +17,7 @@ import com.ydd.module.service.IOrderDeliveryService;
 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.FengniaoV3CallbackOrderVo;
 import com.ydd.third.common.vo.callback.FengniaoV3CallbackStoreVo;
 import lombok.extern.slf4j.Slf4j;
@@ -60,7 +62,7 @@ public class FengniaoDeliveryCallback {
                 FengniaoV3Token tokenVo = res.getData();
                 log.info("data:" + JSONObject.toJSONString(tokenVo));
                 String appId = tokenVo.getAppId(); //应用id
-                String merchantI= tokenVo.getMerchantId(); //商户id
+                String merchantI = tokenVo.getMerchantId(); //商户id
                 String accessToken = tokenVo.getAccessToken(); //凭证token
                 String refreshToken = tokenVo.getRefreshToken(); //刷新token
                 Long expiresIn = tokenVo.getExpireIn(); //access_token剩余有效时间
@@ -71,7 +73,7 @@ public class FengniaoDeliveryCallback {
                 delivery.setRefreshToken(refreshToken);
                 delivery.setExpiresIn(expiresIn);
                 delivery.setReExpireIn(reExpireIn);
-                iDspDeliveryService.update(delivery,new UpdateWrapper<DspDelivery>().eq("shop_id",merchantId));
+                iDspDeliveryService.update(delivery, new UpdateWrapper<DspDelivery>().eq("shop_id", merchantId));
 
                 return "获取token成功";
             } else {
@@ -84,12 +86,13 @@ public class FengniaoDeliveryCallback {
 
     /**
      * 蜂鸟V3的回调
+     *
      * @param jsonParam
      * @return
      */
     @PostMapping("/doOrderAndStore")
-    public String doOrderAndStore(@RequestBody JSONObject jsonParam){
-        if(null == jsonParam) {
+    public String doOrderAndStore(@RequestBody JSONObject jsonParam) {
+        if (null == jsonParam) {
             return "";
         }
         JSONObject dataJson = jsonParam.getJSONObject("business_data");
@@ -100,10 +103,13 @@ public class FengniaoDeliveryCallback {
         if (StringUtils.isBlank("businessType")) {
             return "";
         }
-        log.info("蜂鸟回调参数"+jsonParam);
+        log.info("蜂鸟回调参数" + jsonParam);
         if (businessType.equals("orderStatusNotify") || businessType.equals("abnormalReportNotify")
-            || businessType.equals("cookingFinishNotify")) {
-            ResObject<FengniaoV3CallbackOrderVo> callbackRes = callback.doFengniaoOrder(jsonParam);
+                || businessType.equals("cookingFinishNotify")) {
+            CallBackOrderVo vo = new CallBackOrderVo();
+            vo.setLbClient(DeliveryTypeEnums.FENG_NIAO.getName());
+            vo.setParams(jsonParam);
+            ResObject<FengniaoV3CallbackOrderVo> callbackRes = (ResObject<FengniaoV3CallbackOrderVo>) callback.doOrder(vo);
             if (callbackRes.getCode() == 0) {
                 FengniaoV3CallbackOrderVo orderVo = callbackRes.getData();
                 Integer orderStatus = orderVo.getOrderStatus();
@@ -111,7 +117,7 @@ public class FengniaoDeliveryCallback {
                     if (null != orderStatus) {
                         //订单生成0,,20:骑手接单,80:骑手到店,2:配送中,3:已完成,4:已取消,5:配送异常
                         ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackFengNiao(orderVo));
-                        OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn",orderVo.getPartnerOrderCode()));
+                        OrderDelivery orderDelivery = iOrderDeliveryService.getOne(new QueryWrapper<OrderDelivery>().eq("child_order_sn", orderVo.getPartnerOrderCode()));
                         CallBackOrderDto dto = content.createCallBack();
                         dto.setParentOrderSn(orderDelivery.getOrderSn());
                         apiOrderService.callBackOrder(dto);
@@ -124,7 +130,7 @@ public class FengniaoDeliveryCallback {
                     //此处处理商户出餐回调
                 }
             }
-        } else if (businessType.equals("chainstoreStatusNotify") ) {
+        } else if (businessType.equals("chainstoreStatusNotify")) {
             ResObject<FengniaoV3CallbackStoreVo> callbackRes = callback.doStore(jsonParam);
             FengniaoV3CallbackStoreVo storeVo = callbackRes.getData();
             Integer status = storeVo.getStatus(); // 门店认证状态

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

@@ -18,6 +18,7 @@ import com.ydd.module.service.IOrderService;
 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.HuolalaCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.web.bind.annotation.RequestBody;
@@ -100,7 +101,11 @@ public class HuoLaLaDeliveryCallback {
 //                        .eq("deleted", IsDeleteEnum.NORMAL.status).isNull("shop_id").eq("bind_status",1));
 //                token=shopDelivery.getAuthToken();
 //            }
-            ResObject<HuolalaCallbackOrderVo> callbackRes = huolalaClient.huolalaOrder(jsonParam,token);
+            CallBackOrderVo vo = new CallBackOrderVo();
+            vo.setLbClient(DeliveryTypeEnums.HUO_LA_LA.getName());
+            vo.setParams(jsonParam);
+            vo.setToken(token);
+            ResObject<HuolalaCallbackOrderVo> callbackRes = (ResObject<HuolalaCallbackOrderVo>)huolalaClient.doOrder(vo);
             if (callbackRes.getCode()==0){
                 HuolalaCallbackOrderVo orderVo = callbackRes.getData();
                 ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackHuoLaLa(orderVo));

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

@@ -7,12 +7,14 @@ import com.ydd.app.service.ApiDeliveryService;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.impl.ApiCallBackContent;
 import com.ydd.app.service.impl.ApiCallBackKF;
+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.KfAuthDto;
 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.KfCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -45,7 +47,10 @@ public class KFDeliveryCallback {
             return res.toJSONString();
         }
         log.info("快服回调返回参数========" + JSONObject.toJSONString(jsonParam));
-        ResObject<KfCallbackOrderVo> callbackRes = callback.kfOrder(jsonParam);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.KUAI_FU.getName());
+        vo.setParams(jsonParam);
+        ResObject<KfCallbackOrderVo> callbackRes =(ResObject<KfCallbackOrderVo>) callback.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             KfCallbackOrderVo orderVo = callbackRes.getData();
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackKF(orderVo));

+ 11 - 3
lb-app/src/main/java/com/ydd/app/callback/controller/MeituanDeliveryCallback.java

@@ -6,6 +6,7 @@ import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.impl.ApiCallBackContent;
 import com.ydd.app.service.impl.ApiCallBackMeiTuan;
+import com.ydd.common.enums.DeliveryTypeEnums;
 import com.ydd.module.domain.OrderDelivery;
 import com.ydd.module.domain.ShopDelivery;
 import com.ydd.module.dto.CallBackOrderDto;
@@ -14,8 +15,10 @@ import com.ydd.module.service.IOrderDeliveryService;
 import com.ydd.module.service.IShopDeliveryService;
 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.waimai.meituan.MeituanShop;
 import com.ydd.third.common.vo.waimai.meituan.MeituanToken;
 import lombok.extern.slf4j.Slf4j;
@@ -91,8 +94,10 @@ public class MeituanDeliveryCallback {
             res.put("message","fail");
             return res.toJSONString();
         }
-
-        ResObject<MeituanCallbackOrderVo> callbackRes = meituanClient.mtOrder(params);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.MEI_TUAN.getName());
+        vo.setMap(params);
+        ResObject<MeituanCallbackOrderVo> callbackRes = ( ResObject<MeituanCallbackOrderVo>)meituanClient.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             MeituanCallbackOrderVo orderVo = callbackRes.getData();
             log.info(JSONObject.toJSONString(orderVo));
@@ -135,7 +140,10 @@ public class MeituanDeliveryCallback {
             res.put("data","OK");
             return res.toJSONString();
         }
-        ResObject<MeituanCallbackOrderVo> callbackRes = meituanClient.doZbOrder(params);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.MEI_TUAN_ZB.getName());
+        vo.setMap(params);
+        ResObject<MeituanCallbackOrderVo> callbackRes =( ResObject<MeituanCallbackOrderVo>) meituanClient.doOrder(vo);
 
         return res.toJSONString();
     }

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

@@ -7,11 +7,13 @@ import com.ydd.app.service.ApiDeliveryService;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.impl.ApiCallBackContent;
 import com.ydd.app.service.impl.ApiCallBackShanSong;
+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.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
+import com.ydd.third.common.vo.callback.CallBackOrderVo;
 import com.ydd.third.common.vo.callback.ShansongCallbackOrderVo;
 import com.ydd.third.common.vo.callback.ShansongTokenVo;
 import lombok.extern.slf4j.Slf4j;
@@ -76,7 +78,10 @@ public class ShansongDeliveryCallback {
         JSONObject res = new JSONObject();
         //@RequestParam Map<String, String> params
         //ShansongCallback callback = new ShansongCallback();
-        ResObject<ShansongCallbackOrderVo> callbackRes = callback.shansongOrder(jsonParam);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.SHAN_SONG.getName());
+        vo.setParams(jsonParam);
+        ResObject<ShansongCallbackOrderVo> callbackRes = (ResObject<ShansongCallbackOrderVo>)callback.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             ShansongCallbackOrderVo orderVo = callbackRes.getData();
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackShanSong(orderVo));

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

@@ -6,11 +6,13 @@ import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiOrderBackService;
 import com.ydd.app.service.impl.ApiCallBackContent;
 import com.ydd.app.service.impl.ApiCallBackShunFeng;
+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.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
+import com.ydd.third.common.vo.callback.CallBackOrderVo;
 import com.ydd.third.common.vo.callback.ShunfengCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -56,7 +58,11 @@ public class ShunfengDeliveryCallback {
         }
 
         //@RequestParam Map<String, String> params
-        ResObject<ShunfengCallbackOrderVo>  callbackRes = callback.doOrder(sign, jsonParam);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.SHUN_FENG.getName());
+        vo.setParams(jsonParam);
+        vo.setSign(sign);
+        ResObject<ShunfengCallbackOrderVo>  callbackRes = (ResObject<ShunfengCallbackOrderVo> )callback.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             ShunfengCallbackOrderVo orderVo = callbackRes.getData();
             log.info(JSONObject.toJSONString(orderVo));

+ 8 - 4
lb-app/src/main/java/com/ydd/app/callback/controller/UUPTDeliveryCallback.java

@@ -2,15 +2,16 @@ package com.ydd.app.callback.controller;
 
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.ydd.api.DeliveryCallbackApi;
 import com.ydd.app.service.ApiOrderBackService;
-import com.ydd.app.service.ApiOrderService;
 import com.ydd.app.service.impl.ApiCallBackContent;
 import com.ydd.app.service.impl.ApiCallBackUUPT;
+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.UUPTCallback;
 import com.ydd.third.common.vo.ResObject;
+import com.ydd.third.common.vo.callback.CallBackOrderVo;
 import com.ydd.third.common.vo.callback.UUPTCallbackOrderVo;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -28,7 +29,7 @@ import javax.annotation.Resource;
 @RequestMapping("/app/delivery/uupt/callback")
 public class UUPTDeliveryCallback {
     @Autowired
-    private UUPTCallback callback;
+    private DeliveryCallbackApi callback;
 
     @Resource
     private ApiOrderBackService apiOrderService;
@@ -45,7 +46,10 @@ public class UUPTDeliveryCallback {
             res.put("code", 1);
             return res.toJSONString();
         }
-        ResObject<UUPTCallbackOrderVo> callbackRes = callback.doOrder(jsonObject);
+        CallBackOrderVo vo = new CallBackOrderVo();
+        vo.setLbClient(DeliveryTypeEnums.UUPT.getName());
+        vo.setParams(jsonObject);
+        ResObject<UUPTCallbackOrderVo> callbackRes = (ResObject<UUPTCallbackOrderVo>)callback.doOrder(vo);
         if (callbackRes.getCode() == 0) {
             UUPTCallbackOrderVo orderVo = callbackRes.getData();
             ApiCallBackContent content = new ApiCallBackContent(new ApiCallBackUUPT(orderVo));

+ 3 - 25
lb-feginclient/src/main/java/com/ydd/api/DeliveryCallbackApi.java

@@ -15,14 +15,8 @@ import java.util.Map;
 @FeignClient(name = "lb-delivery",url = "http://127.0.0.1:8083/delivery")
 public interface DeliveryCallbackApi {
 
-    @PostMapping(value="/callback/dada")
-    ResObject<DadaCallbackOrderVo> doOrder(@RequestBody JSONObject params);
-
-    @PostMapping(value="/callback/shunfeng")
-    ResObject<ShunfengCallbackOrderVo> doOrder(@RequestParam("sign")String sign, @RequestBody JSONObject params);
-
-    @PostMapping(value="/callback/apt")
-    ResObject<AptCallbackOrderVo> doOrder(@RequestParam("params")Map<String, String> params);
+    @PostMapping(value="/callBack/doOrder")
+    Object doOrder(@RequestBody CallBackOrderVo CallBackOrderVo);
 
     @PostMapping(value="/callback/fengniaoToken")
     ResObject<FengniaoV3Token> doToken(@RequestParam("code") String code,@RequestParam("merchantId") String merchantId);
@@ -30,30 +24,14 @@ public interface DeliveryCallbackApi {
     @PostMapping(value="/callback/fengniaoStore")
     ResObject<FengniaoV3CallbackStoreVo> doStore(@RequestBody JSONObject params);
 
-    @PostMapping(value="/callback/fengniao")
-    ResObject<FengniaoV3CallbackOrderVo> doFengniaoOrder(@RequestBody JSONObject params);
-
     @PostMapping(value="/callback/huolalaAuth")
     String huolalaAuth(@RequestParam("code") String code);
 
-    @PostMapping(value="/callback/huolalaOrder")
-    ResObject<HuolalaCallbackOrderVo> huolalaOrder(@RequestBody JSONObject params, @RequestParam("token") String token);
-
-    @PostMapping(value="/callback/kf")
-    ResObject<KfCallbackOrderVo> kfOrder(@RequestBody JSONObject params);
-
-    @PostMapping(value="/callback/shansongOrder")
-    ResObject<ShansongCallbackOrderVo> shansongOrder(@RequestBody JSONObject params);
-
     @PostMapping(value="/callback/shansongAuth")
     ResObject<ShansongTokenVo> shansongAuth(@RequestParam("code")String code, @RequestParam("thirdStoreId")String thirdStoreId,@RequestParam("state") String state);
 
-    @PostMapping(value="/callback/mtOrder")
-    ResObject<MeituanCallbackOrderVo> mtOrder(@RequestParam("params")Map<String, String> params);
-
     @PostMapping(value="/callback/mtAuth")
     ResObject<MeituanToken> mtAuth(@RequestParam("params")Map<String, String> params);
 
-    @PostMapping(value="/callback/doZbOrder")
-    ResObject<MeituanCallbackOrderVo> doZbOrder(@RequestParam("params")Map<String, String> params);
+
 }

+ 16 - 0
lb-third/lb-third-common/src/main/java/com/ydd/third/common/vo/callback/CallBackOrderVo.java

@@ -0,0 +1,16 @@
+package com.ydd.third.common.vo.callback;
+
+import com.alibaba.fastjson.JSONObject;
+import lombok.Data;
+
+import java.util.Map;
+
+@Data
+public class CallBackOrderVo {
+
+    private String lbClient;
+    private JSONObject params;
+    private Map<String, String> map;
+    private String token;
+    private String sign;
+}

+ 82 - 0
lb-third/lb-third-delivery/src/main/java/com/ydd/third/controller/DeliveryCallController.java

@@ -0,0 +1,82 @@
+package com.ydd.third.controller;
+
+
+import com.alibaba.fastjson.JSONObject;
+import com.ydd.third.common.dto.FengniaoV3Token;
+import com.ydd.third.common.vo.ResObject;
+import com.ydd.third.common.vo.callback.CallBackOrderVo;
+import com.ydd.third.common.vo.callback.FengniaoV3CallbackStoreVo;
+import com.ydd.third.common.vo.callback.ShansongTokenVo;
+import com.ydd.third.common.vo.vo.order.OrderQueryResultVo;
+import com.ydd.third.common.vo.vo.order.OrderQueryVo;
+import com.ydd.third.common.vo.vo.order.RiderLocationResultVo;
+import com.ydd.third.common.vo.vo.order.RiderLocationVo;
+import com.ydd.third.common.vo.waimai.meituan.MeituanToken;
+import com.ydd.third.delivery.CallBackFactory;
+import com.ydd.third.delivery.Client;
+import com.ydd.third.delivery.dada.DadaCallback;
+import com.ydd.third.delivery.fengniao.FengniaoCallback;
+import com.ydd.third.delivery.huolala.HuolalaClient;
+import com.ydd.third.delivery.meituan.MeituanAuthClient;
+import com.ydd.third.delivery.shansong.ShansongClient;
+import io.swagger.annotations.Api;
+import lombok.RequiredArgsConstructor;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.annotation.Resource;
+import java.util.Map;
+
+/**
+ *
+ */
+@Api(value = "配送平台回调接口", tags = {"配送平台回调接口"})
+@Slf4j
+@RestController
+@RequiredArgsConstructor(onConstructor_ = @Autowired)
+public class DeliveryCallController {
+
+    private final CallBackFactory callBackFactory;
+
+
+    private final FengniaoCallback callback;
+
+    private final HuolalaClient huolalaClient;
+
+    private final ShansongClient shansongClient;
+
+    private final MeituanAuthClient meituanAuthClient;
+
+    @RequestMapping(value = "/callBack/doOrder",method = RequestMethod.POST)
+    public Object list(@RequestBody CallBackOrderVo order) {
+        return callBackFactory.doOrder(order);
+    }
+
+    @PostMapping(value="/callback/fengniaoToken")
+    public ResObject<FengniaoV3Token> doToken(@RequestParam("code") String code, @RequestParam("merchantId") String merchantId){
+        return callback.doToken(code,merchantId);
+    }
+
+    @PostMapping(value="/callback/fengniaoStore")
+    public ResObject<FengniaoV3CallbackStoreVo> doStore(@RequestBody JSONObject params){
+        return callback.doStore(params);
+    }
+
+    @PostMapping(value="/callback/huolalaAuth")
+    public String huolalaAuth(@RequestParam("code") String code){
+        return huolalaClient.getTokenByCode(code);
+    }
+
+    @PostMapping(value="/callback/shansongAuth")
+    public  ResObject<ShansongTokenVo> shansongAuth(@RequestParam("code")String code, @RequestParam("thirdStoreId")String thirdStoreId, @RequestParam("state") String state){
+        return shansongClient.doOAuthToken(code,thirdStoreId,state);
+    }
+
+    @PostMapping(value="/callback/mtAuth")
+    public ResObject<MeituanToken> mtAuth(@RequestParam("params")Map<String, String> params){
+       return  meituanAuthClient.doOAuthToken(params);
+    }
+
+}

+ 111 - 0
lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/CallBackFactory.java

@@ -0,0 +1,111 @@
+package com.ydd.third.delivery;
+
+import com.ydd.third.common.exception.BusinessException;
+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.shop.*;
+import com.ydd.third.common.vo.vo.order.*;
+import com.ydd.third.delivery.aipt.AiptClient;
+import com.ydd.third.delivery.aipt.utils.AIPTCallback;
+import com.ydd.third.delivery.dada.DadaCallback;
+import com.ydd.third.delivery.dada.DadaClient;
+import com.ydd.third.delivery.dianwoda.DianwodaClient;
+import com.ydd.third.delivery.fengniao.FengniaoCallback;
+import com.ydd.third.delivery.fengniao.FengniaoClient;
+import com.ydd.third.delivery.huolala.HuolalaCallback;
+import com.ydd.third.delivery.huolala.HuolalaClient;
+import com.ydd.third.delivery.kuaifu.KfClient;
+import com.ydd.third.delivery.kuaifu.util.KfCallback;
+import com.ydd.third.delivery.meituan.MeituanCallback;
+import com.ydd.third.delivery.meituan.MeituanClient;
+import com.ydd.third.delivery.shansong.ShansongCallback;
+import com.ydd.third.delivery.shansong.ShansongClient;
+import com.ydd.third.delivery.shansong.ShansongSHClient;
+import com.ydd.third.delivery.shunfeng.ShunfengCallback;
+import com.ydd.third.delivery.shunfeng.ShunfengClient;
+import com.ydd.third.delivery.uupt.UUPTCallback;
+import com.ydd.third.delivery.uupt.UuptClient;
+import lombok.extern.slf4j.Slf4j;
+import org.apache.poi.ss.formula.functions.T;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+/**
+ * @ClassName Client
+ * @Deacription TODO
+ * @Author peakren
+ * @Date 2/4/21 10:20 PM
+ * @Version 1.0
+ **/
+@Slf4j
+@Service("deliverClient")
+public class CallBackFactory {
+    @Autowired
+    DadaCallback dadaCallback;
+    @Autowired
+    ShunfengCallback shunfengCallback;
+    @Autowired
+    FengniaoCallback fengniaoCallback;
+    @Autowired
+    HuolalaCallback huolalaCallback;
+    @Autowired
+    KfCallback kfCallback;
+    @Autowired
+    MeituanCallback meituanCallback;
+    @Autowired
+    ShansongCallback shansongCallback;
+    @Autowired
+    UUPTCallback uuCallback;
+    @Autowired
+    AIPTCallback aIPTCallback;
+    /**
+     * 下订单
+     *
+     * @param order
+     * @return
+     */
+    public Object doOrder(CallBackOrderVo order) {
+        // 声明公共参数,RequestSysParams构造方法接收两个参数,第一个为signkey,第二个为appAuthToken
+        String client = order.getLbClient();
+        if (StringUtils.isBlank(client)) {
+            throw new BusinessException("未指定lbClient参数");
+        }
+        Object res =null;
+        if (client.equals("meituan")) {
+            res = meituanCallback.doOrder(order.getMap());
+        } else if (client.equals("meituanzb")) {
+            res = meituanCallback.doZbOrder(order.getMap());
+        } else if (client.equals("dada")) {
+            res = dadaCallback.doOrder(order.getParams());
+            //res = dadaClient.reAddOrder(order);
+        }else if (client.equals("dadayz")) {
+            res = dadaCallback.doOrder(order.getParams());
+        } else if (client.equals("fengniao")) {
+            // res = fengniaoClient.createOrder(order);
+            res = fengniaoCallback.doOrder(order.getParams());
+        } else if (client.equals("shansong")) {
+            res = shansongCallback.doOrder(order.getParams());
+        } else if (client.equals("shunfeng")) {
+            res = shunfengCallback.doOrder(order.getSign(),order.getParams());
+        } else if (client.equals("dwd")) {
+
+        } else if (client.equals("uupt")) {
+            res = uuCallback.doOrder(order.getParams());
+        } else if (client.equals("aipt")) {
+            res = aIPTCallback.doOrder(order.getParams());
+        } else if (client.equals("kuanfu")) {
+            res =kfCallback.doOrder(order.getParams());
+        }else if (client.equals("huolala")){
+            res = huolalaCallback.doOrder(order.getParams(),order.getToken());
+        }
+        else {
+            throw new BusinessException("lbClient参数不正确");
+        }
+        return res;
+    }
+
+
+
+
+}

+ 1 - 1
lb-third/lb-third-delivery/src/main/java/com/ydd/third/delivery/fengniao/FengniaoCallback.java

@@ -2,12 +2,12 @@ package com.ydd.third.delivery.fengniao;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ydd.third.common.config.DeliveryConfig;
+import com.ydd.third.common.dto.FengniaoV3Token;
 import com.ydd.third.common.utils.DateUtils;
 import com.ydd.third.common.utils.StringUtils;
 import com.ydd.third.common.vo.ResObject;
 import com.ydd.third.common.vo.callback.FengniaoV3CallbackOrderVo;
 import com.ydd.third.common.vo.callback.FengniaoV3CallbackStoreVo;
-import com.ydd.third.delivery.fengniao.entity.FengniaoV3Token;
 import com.ydd.third.delivery.fengniao.service.FengniaoTokenService;
 import com.ydd.third.delivery.fengniao.sign.OpenSignHelper;
 import lombok.extern.slf4j.Slf4j;

+ 1 - 1
lb-third/lb-third-common/src/main/java/com/ydd/third/common/UUPTCallback.java

@@ -1,4 +1,4 @@
-package com.ydd.third.common;
+package com.ydd.third.delivery.uupt;
 
 import com.alibaba.fastjson.JSONObject;
 import com.ydd.third.common.vo.ResObject;