|
@@ -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(); // 门店认证状态
|