Commit 534649e2 by xiaoer.li@freemud.com

外卖配送超时时间自定义

parent a98a9032
...@@ -10,7 +10,7 @@ ...@@ -10,7 +10,7 @@
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.19.20210116-RELEASE</version> <version>2.1.19.20210117-RELEASE</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
......
...@@ -42,6 +42,7 @@ import java.math.BigDecimal; ...@@ -42,6 +42,7 @@ import java.math.BigDecimal;
import java.text.ParseException; import java.text.ParseException;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.util.*; import java.util.*;
import java.util.concurrent.TimeUnit;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@Component @Component
...@@ -3293,4 +3294,10 @@ public class OrderSdkAdapter { ...@@ -3293,4 +3294,10 @@ public class OrderSdkAdapter {
return couponLockRequest; return couponLockRequest;
} }
public BaseQueryOrderRequest convert2wmDeliveryTimeOut(BaseQueryOrderRequest orderConfirmRequest ,long timeOut) {
Integer takeOutTimeOut = Integer.parseInt(String.valueOf(TimeUnit.HOURS.toMinutes(timeOut)));
orderConfirmRequest.setTimeout(takeOutTimeOut);
return orderConfirmRequest;
}
} }
...@@ -851,7 +851,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -851,7 +851,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setOperator(baseQueryOrderRequest.getOperator()); request.setOperator(baseQueryOrderRequest.getOperator());
Boolean isTakeOut = false; Boolean isTakeOut = false;
Integer timeOut = 0; Integer timeOut = 0;
Integer takeOutTimeOut = Integer.parseInt(String.valueOf(TimeUnit.HOURS.toMinutes(1))); Integer takeOutTimeOut = (null==baseQueryOrderRequest.getTimeout() || baseQueryOrderRequest.getTimeout()==0) ? 180 : baseQueryOrderRequest.getTimeout();
//是saas 外卖单 且是三方配送 调用门店服务查询外卖单自动完成时间 //是saas 外卖单 且是三方配送 调用门店服务查询外卖单自动完成时间
if ((OrderType.GENERAL_EXPRESS.equals(baseQueryOrderRequest.getOrderType()) if ((OrderType.GENERAL_EXPRESS.equals(baseQueryOrderRequest.getOrderType())
|| OrderType.RESERVED_EXPRESS.equals(baseQueryOrderRequest.getOrderType())) || OrderType.RESERVED_EXPRESS.equals(baseQueryOrderRequest.getOrderType()))
...@@ -1874,7 +1874,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1874,7 +1874,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
String orderWarnTime = storeResponse.getBizVO().getOrderWarnTime(); String orderWarnTime = storeResponse.getBizVO().getOrderWarnTime();
Integer timeout = 0; Integer timeout = 0;
Boolean isTakeOut = false; Boolean isTakeOut = false;
Integer takeOutTimeOut = Integer.parseInt(String.valueOf(TimeUnit.HOURS.toMinutes(1))); Integer takeOutTimeOut = (null==baseQueryOrderRequest.getTimeout() || baseQueryOrderRequest.getTimeout()==0) ? 180 : baseQueryOrderRequest.getTimeout();
//是saas 外卖单 且是三方配送 //是saas 外卖单 且是三方配送
if ((OrderType.GENERAL_EXPRESS.equals(baseQueryOrderRequest.getOrderType()) if ((OrderType.GENERAL_EXPRESS.equals(baseQueryOrderRequest.getOrderType())
|| OrderType.RESERVED_EXPRESS.equals(baseQueryOrderRequest.getOrderType())) || OrderType.RESERVED_EXPRESS.equals(baseQueryOrderRequest.getOrderType()))
......
...@@ -40,7 +40,7 @@ ...@@ -40,7 +40,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.19.20210116-RELEASE</version> <version>2.1.19.20210117-RELEASE</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
......
...@@ -44,7 +44,7 @@ import java.util.concurrent.ThreadPoolExecutor; ...@@ -44,7 +44,7 @@ import java.util.concurrent.ThreadPoolExecutor;
@EnableSwagger2 @EnableSwagger2
@EnableCircuitBreaker @EnableCircuitBreaker
@SpringBootApplication @SpringBootApplication
@EnableDiscoveryClient //@EnableDiscoveryClient
@EnableAspectJAutoProxy @EnableAspectJAutoProxy
@ComponentScan({"cn.freemud", "com.freemud"}) @ComponentScan({"cn.freemud", "com.freemud"})
@MapperScan({"cn.freemud.*.dao","com.freemud.sdk.api.assortment.orderdistributor.mapper","com.freemud.api.assortment.datamanager.manager", @MapperScan({"cn.freemud.*.dao","com.freemud.sdk.api.assortment.orderdistributor.mapper","com.freemud.api.assortment.datamanager.manager",
......
...@@ -65,7 +65,7 @@ ...@@ -65,7 +65,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>assortment-ordercenter-sdk</artifactId> <artifactId>assortment-ordercenter-sdk</artifactId>
<version>2.1.19.20210116-RELEASE</version> <version>2.1.19.20210117-RELEASE</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -23,8 +23,11 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; ...@@ -23,8 +23,11 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService; import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import org.apache.commons.lang.ObjectUtils; import org.apache.commons.lang.ObjectUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import java.util.concurrent.TimeUnit;
/** /**
* All rights Reserved, Designed By www.freemud.cn * All rights Reserved, Designed By www.freemud.cn
* *
...@@ -45,6 +48,8 @@ public class SaasOrderHandle { ...@@ -45,6 +48,8 @@ public class SaasOrderHandle {
@Autowired @Autowired
private OrderCenterSdkService orderCenterSdkService; private OrderCenterSdkService orderCenterSdkService;
@Value("${saasDeliveryTimeOut:3}")
private long wmDeliveryTimeOut;
/** /**
* 确认接单 * 确认接单
...@@ -56,6 +61,7 @@ public class SaasOrderHandle { ...@@ -56,6 +61,7 @@ public class SaasOrderHandle {
public BaseResponse orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse orderConfirm(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
//订单接单 //订单接单
BaseQueryOrderRequest orderConfirmRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean); BaseQueryOrderRequest orderConfirmRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean);
orderSdkAdapter.convert2wmDeliveryTimeOut(orderConfirmRequest,this.wmDeliveryTimeOut);
BaseOrderResponse confirmOrderResponse = orderCenterSdkService.orderConfirmTake(orderConfirmRequest); BaseOrderResponse confirmOrderResponse = orderCenterSdkService.orderConfirmTake(orderConfirmRequest);
//处理1秒重复接单问题 订单服务接单返回20067重复操作,20018状态机不支持认为接单成功 //处理1秒重复接单问题 订单服务接单返回20067重复操作,20018状态机不支持认为接单成功
if ("20067".equals(confirmOrderResponse.getErrcode().toString()) || "20018".equals(confirmOrderResponse.getErrcode().toString()) || "50002".equals(confirmOrderResponse.getErrcode().toString())) { if ("20067".equals(confirmOrderResponse.getErrcode().toString()) || "20018".equals(confirmOrderResponse.getErrcode().toString()) || "50002".equals(confirmOrderResponse.getErrcode().toString())) {
...@@ -112,6 +118,7 @@ public class SaasOrderHandle { ...@@ -112,6 +118,7 @@ public class SaasOrderHandle {
*/ */
public BaseResponse orderDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) { public BaseResponse orderDelivery(OrderManagerRequest request, QueryOrdersResponse.DataBean.OrderBean orderBean) {
BaseQueryOrderRequest orderDeliveryRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean); BaseQueryOrderRequest orderDeliveryRequest = orderSdkAdapter.getOrderConfirmRequest(request.getOperator(), orderBean);
orderDeliveryRequest = orderSdkAdapter.convert2wmDeliveryTimeOut(orderDeliveryRequest,this.wmDeliveryTimeOut);
BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderSend(orderDeliveryRequest); BaseOrderResponse baseOrderResponse = orderCenterSdkService.orderSend(orderDeliveryRequest);
if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) { if (baseOrderResponse == null || ObjectUtils.notEqual(ResponseResult.SUCCESS.getCode(), baseOrderResponse.getErrcode().toString())) {
return ResponseUtil.error(ResponseResult.DELIVERY_FAIL); return ResponseUtil.error(ResponseResult.DELIVERY_FAIL);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment