Commit 534649e2 by xiaoer.li@freemud.com

外卖配送超时时间自定义

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