Commit 99820ee7 by ping.wu

Merge branches 'feature/20200303_预约单2_wuping' and 'master' of…

Merge branches 'feature/20200303_预约单2_wuping' and 'master' of http://gitlab.freemud.com/order-group-application/order-group
parents 6f2465e0 6f4cf27e
...@@ -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>1.2.2.RELEASE</version> <version>1.1.8-SNAPSHOT</version>
<dependencies> <dependencies>
<dependency> <dependency>
<groupId>org.springframework.boot</groupId> <groupId>org.springframework.boot</groupId>
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<version>1.1.6.RELEASE</version> <version>1.1.8-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
...@@ -55,7 +55,7 @@ ...@@ -55,7 +55,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>storecenter-sdk</artifactId> <artifactId>storecenter-sdk</artifactId>
<version>2.2.1.RELEASE</version> <version>2.3.3-SNAPSHOT</version>
<scope>provided</scope> <scope>provided</scope>
</dependency> </dependency>
<dependency> <dependency>
......
...@@ -14,4 +14,6 @@ ...@@ -14,4 +14,6 @@
| 1.1.9.RELEASE| pos渠道 | 丁凯 | 2020-02-22 | | 1.1.9.RELEASE| pos渠道 | 丁凯 | 2020-02-22 |
| 1.2.0.RELEASE| 开放平台创建订单 | 姜海波 | 2020-02-24 | | 1.2.0.RELEASE| 开放平台创建订单 | 姜海波 | 2020-02-24 |
| 1.2.1.RELEASE| 基于1.2.0.RELEASE | 丁凯 | 2020-03-04 | | 1.2.1.RELEASE| 基于1.2.0.RELEASE | 丁凯 | 2020-03-04 |
| 1.2.2.RELEASE| 升级RELEASE | wuping | 2020-03-04 | | 1.2.2.RELEASE| 升级RELEASE | wuping | 2020-03-04 |
\ No newline at end of file | 1.1.7-SNAPSHOT| 预约单支付成功接口增加预约任务 | wuping | 2020-03-10 |
| 1.1.8-SNAPSHOT| 预约单接单接口增加预约任务 | wuping | 2020-03-17 |
\ No newline at end of file
...@@ -2750,4 +2750,43 @@ public class OrderSdkAdapter { ...@@ -2750,4 +2750,43 @@ public class OrderSdkAdapter {
return totalWeight; return totalWeight;
} }
/**
* 匹配订单类型
*
* @param orderType
* @return
*/
public OrderType getNewOrderTypeEnum(Integer orderType, Long gmtExpect) {
if (orderType == null) {
return null;
}
switch (orderType) {
case 1:
// 外卖
if (gmtExpect == null || gmtExpect == 0L) {
return OrderType.GENERAL_EXPRESS;
} else {
return OrderType.RESERVED_EXPRESS;
}
case 4:
// 自取
if (gmtExpect == null || gmtExpect == 0L) {
return OrderType.GENERAL_SELF_PICKUP;
} else {
return OrderType.RESERVED_SELF_PICKUP;
}
case 5:
// 堂食
if (gmtExpect == null || gmtExpect == 0L) {
return OrderType.GENERAL_DINE_IN;
} else {
return OrderType.RESERVED_DINE_IN;
}
default:
return null;
}
}
} }
...@@ -56,4 +56,7 @@ public class BaseQueryOrderRequest extends BaseConfig { ...@@ -56,4 +56,7 @@ public class BaseQueryOrderRequest extends BaseConfig {
//操作人 //操作人
private String operator; private String operator;
//用户预约时间,仅为预约单时存放
private String expectTime;
} }
...@@ -52,6 +52,10 @@ public class ConfirmOrderRequest extends BaseConfig { ...@@ -52,6 +52,10 @@ public class ConfirmOrderRequest extends BaseConfig {
//操作人 //操作人
private String operator; private String operator;
private List<OrderSettlement>orderSettlements; private List<OrderSettlement>orderSettlements;
//用户预约时间,仅为预约单时存放
private String expectTime;
@Data @Data
public static class OrderSettlement{ public static class OrderSettlement{
/** /**
......
...@@ -4,6 +4,7 @@ import cn.freemud.amqp.Header; ...@@ -4,6 +4,7 @@ import cn.freemud.amqp.Header;
import cn.freemud.amqp.MQAction; import cn.freemud.amqp.MQAction;
import cn.freemud.amqp.MQMessage; import cn.freemud.amqp.MQMessage;
import cn.freemud.amqp.MQService; import cn.freemud.amqp.MQService;
import cn.freemud.base.util.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject; import com.alibaba.fastjson.JSONObject;
import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager; import com.freemud.api.assortment.datamanager.manager.customer.AssortmentCustomerInfoManager;
...@@ -28,10 +29,7 @@ import com.freemud.application.sdk.api.membercenter.service.MemberPropertyServic ...@@ -28,10 +29,7 @@ import com.freemud.application.sdk.api.membercenter.service.MemberPropertyServic
import com.freemud.application.sdk.api.membercenter.service.MemberScoreService; import com.freemud.application.sdk.api.membercenter.service.MemberScoreService;
import com.freemud.application.sdk.api.ordercenter.enums.*; import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.request.*; import com.freemud.application.sdk.api.ordercenter.request.*;
import com.freemud.application.sdk.api.ordercenter.request.create.BatchQueryByCodesReq; import com.freemud.application.sdk.api.ordercenter.request.create.*;
import com.freemud.application.sdk.api.ordercenter.request.create.CreateFatherSonOrderReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderItemCreateReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq;
import com.freemud.application.sdk.api.ordercenter.response.*; import com.freemud.application.sdk.api.ordercenter.response.*;
import com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp; import com.freemud.application.sdk.api.ordercenter.response.AfterSalesListResp;
import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs; import com.freemud.application.sdk.api.ordercenter.response.orderInfo.OrderInfoReqs;
...@@ -60,6 +58,7 @@ import com.freemud.sdk.api.assortment.order.adapter.*; ...@@ -60,6 +58,7 @@ import com.freemud.sdk.api.assortment.order.adapter.*;
import com.freemud.sdk.api.assortment.order.entities.OrderEditInfo; import com.freemud.sdk.api.assortment.order.entities.OrderEditInfo;
import com.freemud.sdk.api.assortment.order.entities.OrderExtInfoDTO; import com.freemud.sdk.api.assortment.order.entities.OrderExtInfoDTO;
import com.freemud.sdk.api.assortment.order.enums.*; import com.freemud.sdk.api.assortment.order.enums.*;
import com.freemud.sdk.api.assortment.order.request.order.CreateOrderRequest;
import com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest; import com.freemud.sdk.api.assortment.order.request.order.OrderDownloadRequest;
import com.freemud.sdk.api.assortment.order.request.order.*; import com.freemud.sdk.api.assortment.order.request.order.*;
import com.freemud.sdk.api.assortment.order.response.order.*; import com.freemud.sdk.api.assortment.order.response.order.*;
...@@ -75,10 +74,7 @@ import org.springframework.beans.factory.annotation.Autowired; ...@@ -75,10 +74,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Import; import org.springframework.context.annotation.Import;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.ArrayList; import java.util.*;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
import static com.freemud.application.sdk.api.membercenter.constant.InterfaceAddressConstant.MEMBER_EXTEND_INFO; import static com.freemud.application.sdk.api.membercenter.constant.InterfaceAddressConstant.MEMBER_EXTEND_INFO;
...@@ -244,8 +240,9 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -244,8 +240,9 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setPayRequestNo(confirmOrderRequest.getPayVoucher()); request.setPayRequestNo(confirmOrderRequest.getPayVoucher());
request.setCompleteOrderCode(confirmOrderRequest.getCompleteOrderCode()); request.setCompleteOrderCode(confirmOrderRequest.getCompleteOrderCode());
request.setOrderCode(confirmOrderRequest.getOrderId()); request.setOrderCode(confirmOrderRequest.getOrderId());
// 引入门店基础服务 查询自动制作完成配置时间 // 引入门店基础服务 查询自动制作完成配置时间,预约单单独超时任务设置
request.setTimeout(getPaySuccessTimeout(confirmOrderRequest)); request.setTimeout(getPaySuccessTimeout(confirmOrderRequest,request));
if (!org.springframework.util.CollectionUtils.isEmpty(confirmOrderRequest.getOrderSettlements())) { if (!org.springframework.util.CollectionUtils.isEmpty(confirmOrderRequest.getOrderSettlements())) {
List<OrderSettlementCreateReq> orderSettlementCreateReqs = new ArrayList<>(); List<OrderSettlementCreateReq> orderSettlementCreateReqs = new ArrayList<>();
int size = confirmOrderRequest.getOrderSettlements().size(); int size = confirmOrderRequest.getOrderSettlements().size();
...@@ -282,7 +279,6 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -282,7 +279,6 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setExtInfo(JSON.toJSONString(extInfoDTO)); request.setExtInfo(JSON.toJSONString(extInfoDTO));
}catch (Exception e){ }catch (Exception e){
ErrorLog.printErrorLog("getMemberExtendInfoError",MEMBER_EXTEND_INFO,confirmOrderRequest,e); ErrorLog.printErrorLog("getMemberExtendInfoError",MEMBER_EXTEND_INFO,confirmOrderRequest,e);
} }
com.freemud.application.sdk.api.ordercenter.response.BaseResponse<PaySuccessResp> response = orderSdkService.paySuccess(request, confirmOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse<PaySuccessResp> response = orderSdkService.paySuccess(request, confirmOrderRequest.getTrackingNo());
//获取会员信息直接返回,非空判断 //获取会员信息直接返回,非空判断
...@@ -399,7 +395,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -399,7 +395,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
* @param confirmOrderRequest * @param confirmOrderRequest
* @return * @return
*/ */
private Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest){ private Integer getPaySuccessTimeout(ConfirmOrderRequest confirmOrderRequest,PaySuccessReq request){
Integer timeout = 0; Integer timeout = 0;
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(); StoreInfoRequest storeInfoRequest = new StoreInfoRequest();
storeInfoRequest.setPartnerId(confirmOrderRequest.getPartnerId()); storeInfoRequest.setPartnerId(confirmOrderRequest.getPartnerId());
...@@ -412,9 +408,22 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -412,9 +408,22 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
timeout = 30; timeout = 30;
} }
//超时关单开启 //超时关单开启
if(configuration != null && org.apache.commons.lang.StringUtils.isNotBlank(configuration.getOverTimeCloseOrder())){ if(configuration != null && ObjectUtils.equals("1", configuration.getOverTimeCloseOrder())
&& StringUtils.isNotBlank(configuration.getOverTimeCloseOrderTime())){
timeout = Integer.parseInt(configuration.getOverTimeCloseOrderTime()); timeout = Integer.parseInt(configuration.getOverTimeCloseOrderTime());
} }
//设置预约单支付成功超时任务
if(StringUtils.isNotBlank(confirmOrderRequest.getExpectTime()) && timeout != 0){
OrderTaskReq orderTask = new OrderTaskReq();
orderTask.setTaskType(2);
orderTask.setProcessingTime(confirmOrderRequest.getExpectTime());
Date processingDate = DateUtil.addMinutes(DateUtil.convert2Date(confirmOrderRequest.getExpectTime(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS), timeout);
orderTask.setTaskTime(DateUtil.convert2String(processingDate,DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
orderTask.setTimeout(timeout);
request.setOrderTask(orderTask);
//设置超时拒单时间为0
timeout = 0;
}
//isAutoTakeOrder = 3为服务端超时接单 //isAutoTakeOrder = 3为服务端超时接单
if("3".equals(storeResponse.getBizVO().getIsAutoTakeOrder())){ if("3".equals(storeResponse.getBizVO().getIsAutoTakeOrder())){
//外卖订单 //外卖订单
...@@ -496,21 +505,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -496,21 +505,7 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setOrderCode(baseQueryOrderRequest.getOrderId()); request.setOrderCode(baseQueryOrderRequest.getOrderId());
request.setOperator(baseQueryOrderRequest.getOperator()); request.setOperator(baseQueryOrderRequest.getOperator());
// 引入门店基础服务 查询自动制作完成配置时间 // 引入门店基础服务 查询自动制作完成配置时间
StoreResponse.Configuration configuration = getStoreAutoConfiguration(baseQueryOrderRequest.getPartnerId(), baseQueryOrderRequest.getShopId(), baseQueryOrderRequest.getTrackingNo()); setTimeout(baseQueryOrderRequest,request);
//自配送外卖单
if (configuration != null) {
if (OrderType.GENERAL_EXPRESS.equals(baseQueryOrderRequest.getOrderType()) || OrderType.RESERVED_EXPRESS.equals(baseQueryOrderRequest.getOrderType())) {
if (baseQueryOrderRequest.isHasSelfDelivery() && org.apache.commons.lang.StringUtils.isNotEmpty(configuration.getAutoTakeOutTakeOrderWorkflowFinishTime())) {
request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAutoTakeOutTakeOrderWorkflowFinishTime()) );
}
} else {
if (org.apache.commons.lang.StringUtils.isNotEmpty(configuration.getAutoSelfmentionTakeOrderWorkflowFinishTime())) {
request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAutoSelfmentionTakeOrderWorkflowFinishTime()) );
}
}
} else {
request.setTimeout(120);
}
com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.acceptOrder(request, baseQueryOrderRequest.getTrackingNo()); com.freemud.application.sdk.api.ordercenter.response.BaseResponse response = orderSdkService.acceptOrder(request, baseQueryOrderRequest.getTrackingNo());
return orderSdkAdapter.convent2BaseOrderResponse(response); return orderSdkAdapter.convent2BaseOrderResponse(response);
} }
...@@ -541,8 +536,14 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -541,8 +536,14 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setOperator(baseQueryOrderRequest.getOperator()); request.setOperator(baseQueryOrderRequest.getOperator());
// 调用门店服务查询外卖单自动完成时间 // 调用门店服务查询外卖单自动完成时间
StoreResponse.Configuration configuration = getStoreAutoConfiguration(baseQueryOrderRequest.getPartnerId(), baseQueryOrderRequest.getShopId(), baseQueryOrderRequest.getTrackingNo()); StoreResponse.Configuration configuration = getStoreAutoConfiguration(baseQueryOrderRequest.getPartnerId(), baseQueryOrderRequest.getShopId(), baseQueryOrderRequest.getTrackingNo());
if (configuration != null && org.apache.commons.lang.StringUtils.isNotEmpty(configuration.getAutoDeliveryTakeOrderWorkflowFinishTime())) { if (configuration != null ) {
request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAutoDeliveryTakeOrderWorkflowFinishTime())); if(StringUtils.isNotEmpty(configuration.getAutoDeliveryTakeOrderWorkflowFinishTime())){
request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAutoDeliveryTakeOrderWorkflowFinishTime()));
}
if(StringUtils.isNotEmpty(baseQueryOrderRequest.getExpectTime()) && StringUtils.isNotEmpty(configuration.getAppointAutoDeliveryTakeOrderWorkflowFinishTime())){
request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAppointAutoDeliveryTakeOrderWorkflowFinishTime()));
}
} else { } else {
request.setTimeout(120); request.setTimeout(120);
} }
...@@ -622,9 +623,13 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -622,9 +623,13 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
request.setOperator(baseQueryOrderRequest.getOperator()); request.setOperator(baseQueryOrderRequest.getOperator());
// 调用门店服务查询自动完成配置信息 // 调用门店服务查询自动完成配置信息
StoreResponse.Configuration configuration = getStoreAutoConfiguration(baseQueryOrderRequest.getPartnerId(), baseQueryOrderRequest.getShopId(), baseQueryOrderRequest.getTrackingNo()); StoreResponse.Configuration configuration = getStoreAutoConfiguration(baseQueryOrderRequest.getPartnerId(), baseQueryOrderRequest.getShopId(), baseQueryOrderRequest.getTrackingNo());
if (configuration != null) {
if (configuration != null && org.apache.commons.lang.StringUtils.isNotEmpty(configuration.getAutoSelfmentionMakerWorkflowFinishTime())) { if(StringUtils.isNotEmpty(configuration.getAutoSelfmentionMakerWorkflowFinishTime())){
request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAutoSelfmentionMakerWorkflowFinishTime())); request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAutoSelfmentionMakerWorkflowFinishTime()));
}
if(StringUtils.isNotEmpty(baseQueryOrderRequest.getExpectTime()) && StringUtils.isNotEmpty(configuration.getAppointAutoSelfmentionMakerWorkflowFinishTime())){
request.setTimeout(AutoOrderConfigTime.getTime(configuration.getAppointAutoSelfmentionMakerWorkflowFinishTime()));
}
} else { } else {
request.setTimeout(120); request.setTimeout(120);
} }
...@@ -1308,4 +1313,102 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService { ...@@ -1308,4 +1313,102 @@ public class OrderCenterSdkServiceImpl implements OrderCenterSdkService {
= orderSdkService.queryOrderWithCoupon(userId, trackingNo); = orderSdkService.queryOrderWithCoupon(userId, trackingNo);
return orderSdkAdapter.convent2QueryOrdersResponse(response); return orderSdkAdapter.convent2QueryOrdersResponse(response);
} }
private void setTimeout(BaseQueryOrderRequest baseQueryOrderRequest,POSOrderOperationBaseReq request){
String partnerId = baseQueryOrderRequest.getPartnerId();
String storeCode = baseQueryOrderRequest.getShopId();
String trackingNo = baseQueryOrderRequest.getTrackingNo();
if (StringUtils.isEmpty(storeCode)) {
return ;
}
StoreInfoRequest storeInfoRequest = new StoreInfoRequest();
storeInfoRequest.setPartnerId(partnerId);
storeInfoRequest.setStoreCode(storeCode);
StoreResponse storeResponse = storeCenterService.getStoreInfo(storeInfoRequest, trackingNo);
if (storeResponse == null || storeResponse.getBizVO() == null ) {
return ;
}
StoreResponse.Configuration configuration = storeResponse.getBizVO().getStoreConfig();
String orderWarnTime = storeResponse.getBizVO().getOrderWarnTime();
Integer timeout = 0;
//自配送外卖单
if (configuration != null) {
//外卖单
if (OrderType.GENERAL_EXPRESS.equals(baseQueryOrderRequest.getOrderType()) || OrderType.RESERVED_EXPRESS.equals(baseQueryOrderRequest.getOrderType())) {
if (StringUtils.isNotEmpty(configuration.getAutoTakeOutTakeOrderWorkflowFinishTime())) {
timeout = AutoOrderConfigTime.getTime(configuration.getAutoTakeOutTakeOrderWorkflowFinishTime());
}
//预约单
if(StringUtils.isNotEmpty(baseQueryOrderRequest.getExpectTime())
&& StringUtils.isNotEmpty(configuration.getAppointAutoTakeOutTakeOrderWorkflowFinishTime())){
timeout = AutoOrderConfigTime.getTime(configuration.getAppointAutoTakeOutTakeOrderWorkflowFinishTime());
}
} else {//自提单
if (StringUtils.isNotEmpty(configuration.getAutoSelfmentionTakeOrderWorkflowFinishTime())) {
timeout = AutoOrderConfigTime.getTime(configuration.getAutoSelfmentionTakeOrderWorkflowFinishTime());
}
//预约单
if(StringUtils.isNotEmpty(baseQueryOrderRequest.getExpectTime())
&& StringUtils.isNotEmpty(configuration.getAppointAutoSelfmentionTakeOrderWorkflowFinishTime())){
timeout = AutoOrderConfigTime.getTime(configuration.getAppointAutoSelfmentionTakeOrderWorkflowFinishTime());
}
}
//预约单提醒任务,触发放拉单队列
if(StringUtils.isNotEmpty(baseQueryOrderRequest.getExpectTime())){
OrderTaskReq orderTask = new OrderTaskReq();
orderTask.setTaskType(3);
Date processingDate = DateUtil.addMinutes(DateUtil.convert2Date(baseQueryOrderRequest.getExpectTime(), DateUtil.FORMAT_YYYY_MM_DD_HHMMSS), -getMinTime(orderWarnTime));
orderTask.setProcessingTime(DateUtil.convert2String(processingDate,DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
orderTask.setTaskTime(baseQueryOrderRequest.getExpectTime());
// orderTask.setTimeout(0);
request.setOrderTask(orderTask);
}
} else {
timeout = 120;
}
request.setTimeout(timeout);
}
public OrderTaskReq saveOrderTaskReq(String orderWarnTime, Long gmtExpect) {
OrderTaskReq orderTaskReq = new OrderTaskReq();
Date date = new Date(gmtExpect);
long timeStamp = getMinTime(orderWarnTime) * 60 * 1000;
Date warnDate = new Date(gmtExpect-timeStamp);
orderTaskReq.setTaskTime(DateUtil.convert2String(date,DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
orderTaskReq.setProcessingTime(DateUtil.convert2String(warnDate,DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
return orderTaskReq;
}
public Integer getMinTime(String code) {
Integer minTime = 0;
if(StringUtils.isBlank(code)){
return minTime;
}
switch (code) {
case "1":
minTime = 15;
break;
case "2":
minTime = 30;
break;
case "3":
minTime = 45;
break;
case "4":
minTime = 60;
break;
case "5":
minTime = 5;
break;
case "6":
minTime = 10;
break;
default:
minTime = 0;
}
return minTime;
}
} }
...@@ -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>1.2.2.RELEASE</version> <version>1.1.8-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
...@@ -88,7 +88,7 @@ ...@@ -88,7 +88,7 @@
<dependency> <dependency>
<groupId>com.freemud.application.service.sdk</groupId> <groupId>com.freemud.application.service.sdk</groupId>
<artifactId>storecenter-sdk</artifactId> <artifactId>storecenter-sdk</artifactId>
<version>2.2.1.RELEASE</version> <version>2.3.3-SNAPSHOT</version>
</dependency> </dependency>
<dependency> <dependency>
<groupId>cn.freemud</groupId> <groupId>cn.freemud</groupId>
......
...@@ -28,6 +28,7 @@ import cn.freemud.enums.ActivityTypeEnum; ...@@ -28,6 +28,7 @@ import cn.freemud.enums.ActivityTypeEnum;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.enums.OrderChannelType; import cn.freemud.enums.OrderChannelType;
import cn.freemud.enums.OrderSourceType; import cn.freemud.enums.OrderSourceType;
import cn.freemud.enums.OrderType;
import cn.freemud.enums.PayStatus; import cn.freemud.enums.PayStatus;
import cn.freemud.enums.QueryOrderStatus; import cn.freemud.enums.QueryOrderStatus;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
...@@ -42,10 +43,7 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo ...@@ -42,10 +43,7 @@ import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo
import com.freemud.api.assortment.datamanager.enums.IappIdType; import com.freemud.api.assortment.datamanager.enums.IappIdType;
import com.freemud.application.sdk.api.log.LogThreadLocal; import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPartnerWxappConfigManager; import com.freemud.api.assortment.datamanager.manager.cache.CacheOpenPlatformPartnerWxappConfigManager;
import com.freemud.application.sdk.api.ordercenter.enums.AfterSalesType; import com.freemud.application.sdk.api.ordercenter.enums.*;
import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType;
import com.freemud.application.sdk.api.ordercenter.enums.OrderSettlementType;
import com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq; import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO; import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO;
...@@ -118,18 +116,25 @@ public class OrderAdapter { ...@@ -118,18 +116,25 @@ public class OrderAdapter {
* @param shoppingCartGoodsDto * @param shoppingCartGoodsDto
* @return * @return
*/ */
public BaseCreateOrderRequest convent2CreateOrderDto(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,String orderWarnTime) { public BaseCreateOrderRequest convent2CreateOrderDto(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,StoreResponse.BizVO storeResponseDto) {
UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto(); UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto();
BaseCreateOrderRequest createOrderDto = getCreateOrderDto(createOrderVo); BaseCreateOrderRequest createOrderDto = getCreateOrderDto(createOrderVo);
OrderTaskReq orderTask = null;
if(StringUtils.isNotEmpty(createOrderVo.getTakeMealTime())){
Integer orderType = 0;
if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.TAKE_OUT.getCode())) {
orderType = 1;
}
//预订单任务
orderTask = getOrderTaskReq(storeResponseDto,createOrderVo.getTakeMealTime(),orderType);
}
if(orderTask != null){
createOrderDto.setOrderTask(orderTask);
}
long deliveryAmount = 0; long deliveryAmount = 0;
if (deliveryInfoDto != null) { if (deliveryInfoDto != null) {
deliveryAmount = getUserRealDeliveryAmount(deliveryInfoDto.getStoreDeliveryInfoDto(), deliveryInfoDto.getUserLongitude(), deliveryInfoDto.getUserLatitude()); deliveryAmount = getUserRealDeliveryAmount(deliveryInfoDto.getStoreDeliveryInfoDto(), deliveryInfoDto.getUserLongitude(), deliveryInfoDto.getUserLatitude());
} }
if(createOrderDto.getGmtExpect() != null && createOrderDto.getGmtExpect() != 0){
//预订单任务
createOrderDto.setOrderTask(saveOrderTaskReq(orderWarnTime,createOrderDto.getGmtExpect()));
}
Long packageAmount = shoppingCartGoodsDto.getPackageAmount() == null ? 0L : shoppingCartGoodsDto.getPackageAmount(); Long packageAmount = shoppingCartGoodsDto.getPackageAmount() == null ? 0L : shoppingCartGoodsDto.getPackageAmount();
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount() + deliveryAmount + packageAmount); createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount() + deliveryAmount + packageAmount);
// 解析购物车信息 // 解析购物车信息
...@@ -246,15 +251,28 @@ public class OrderAdapter { ...@@ -246,15 +251,28 @@ public class OrderAdapter {
return createOrderDto; return createOrderDto;
} }
public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, OrderExtendedReq orderExtendedReq,String orderWarnTime) { public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq,StoreResponse.BizVO storeResponseDto) {
CreateFatherSonOrderRequest createFatherSonOrderRequest = new CreateFatherSonOrderRequest(); CreateFatherSonOrderRequest createFatherSonOrderRequest = new CreateFatherSonOrderRequest();
createFatherSonOrderRequest.setPartnerId(createOrderVo.getPartnerId()); createFatherSonOrderRequest.setPartnerId(createOrderVo.getPartnerId());
createFatherSonOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo()); createFatherSonOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
createFatherSonOrderRequest.setMenuType(createOrderVo.getMenuType()); createFatherSonOrderRequest.setMenuType(createOrderVo.getMenuType());
UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto(); UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto();
List<CreateFatherSonOrderRequest.OrderInfo> orderInfoList = new ArrayList<>(); List<CreateFatherSonOrderRequest.OrderInfo> orderInfoList = new ArrayList<>();
CreateFatherSonOrderRequest.OrderInfo productOrderInfo = convertProductOrderInfo(createOrderVo, deliveryInfoDto, shoppingCartGoodsDto,orderWarnTime); CreateFatherSonOrderRequest.OrderInfo productOrderInfo = convertProductOrderInfo(createOrderVo, deliveryInfoDto, shoppingCartGoodsDto);
productOrderInfo.setOrderExtended(orderExtendedReq); productOrderInfo.setOrderExtended(orderExtendedReq);
OrderTaskReq orderTask = null;
if(StringUtils.isNotEmpty(createOrderVo.getTakeMealTime())){
Integer orderType = 0;
if (Objects.equals(createOrderVo.getOrderType(), CreateOrderType.TAKE_OUT.getCode())) {
orderType = 1;
}
//预订单任务
orderTask = getOrderTaskReq(storeResponseDto,createOrderVo.getTakeMealTime(),orderType);
}
if(orderTask != null){
productOrderInfo.setOrderTask(orderTask);
}
CreateFatherSonOrderRequest.OrderInfo memberOrderInfo = convertMemberOrderInfo(createOrderVo, shoppingCartGoodsDto, productOrderInfo.getOrderType()); CreateFatherSonOrderRequest.OrderInfo memberOrderInfo = convertMemberOrderInfo(createOrderVo, shoppingCartGoodsDto, productOrderInfo.getOrderType());
CreateFatherSonOrderRequest.OrderInfo fatherOrderInfo = convertFatherOrderInfo(createOrderVo, shoppingCartGoodsDto, deliveryInfoDto, productOrderInfo.getOrderType()); CreateFatherSonOrderRequest.OrderInfo fatherOrderInfo = convertFatherOrderInfo(createOrderVo, shoppingCartGoodsDto, deliveryInfoDto, productOrderInfo.getOrderType());
...@@ -468,13 +486,13 @@ public class OrderAdapter { ...@@ -468,13 +486,13 @@ public class OrderAdapter {
String latitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLatitude() : ""; String latitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLatitude() : "";
String longitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLongitude() : ""; String longitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLongitude() : "";
String remark = StringUtils.isNotBlank(createOrderVo.getOrderRemark()) ? createOrderVo.getOrderRemark() : ""; String remark = StringUtils.isNotBlank(createOrderVo.getOrderRemark()) ? createOrderVo.getOrderRemark() : "";
StringBuffer takeMealTime = new StringBuffer(""); // StringBuffer takeMealTime = new StringBuffer("");
Date takeMealDate = null; // Date takeMealDate = null;
if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) { // if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) {
takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd")) // takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00"); // .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
takeMealDate = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss"); // takeMealDate = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss");
} // }
BaseCreateOrderRequest createOrderDto = new BaseCreateOrderRequest(); BaseCreateOrderRequest createOrderDto = new BaseCreateOrderRequest();
createOrderDto.setCompanyId(createOrderVo.getPartnerId()); createOrderDto.setCompanyId(createOrderVo.getPartnerId());
createOrderDto.setShopId(createOrderVo.getShopId()); createOrderDto.setShopId(createOrderVo.getShopId());
...@@ -495,7 +513,7 @@ public class OrderAdapter { ...@@ -495,7 +513,7 @@ public class OrderAdapter {
createOrderDto.setSource(OrderSourceType.SAAS.getCode()); createOrderDto.setSource(OrderSourceType.SAAS.getCode());
createOrderDto.setSourceName(OrderSourceType.SAAS.getDesc()); createOrderDto.setSourceName(OrderSourceType.SAAS.getDesc());
createOrderDto.setRemark(remark); createOrderDto.setRemark(remark);
createOrderDto.setGmtExpect(takeMealDate != null ? takeMealDate.getTime() : null); createOrderDto.setGmtExpect(StringUtils.isNotBlank(createOrderVo.getTakeMealTime()) ? DateUtil.convert2Date(createOrderVo.getTakeMealTime(),"yyyy-MM-dd HH:mm:ss").getTime() : null);
BaseCreateOrderRequest.DeliveryTypeInfo deliveryTypeInfo = new BaseCreateOrderRequest.DeliveryTypeInfo(); BaseCreateOrderRequest.DeliveryTypeInfo deliveryTypeInfo = new BaseCreateOrderRequest.DeliveryTypeInfo();
deliveryTypeInfo.setDeliveryType(QueryDeliveryType.getByCode(deliveryType)); deliveryTypeInfo.setDeliveryType(QueryDeliveryType.getByCode(deliveryType));
createOrderDto.setAddInfo(deliveryTypeInfo); createOrderDto.setAddInfo(deliveryTypeInfo);
...@@ -507,7 +525,7 @@ public class OrderAdapter { ...@@ -507,7 +525,7 @@ public class OrderAdapter {
} }
public CreateFatherSonOrderRequest.OrderInfo convertProductOrderInfo(CreateOrderVo createOrderVo public CreateFatherSonOrderRequest.OrderInfo convertProductOrderInfo(CreateOrderVo createOrderVo
, UserDeliveryInfoDto userDeliveryInfoDto, ShoppingCartGoodsDto shoppingCartGoodsDto,String orderWarnTime) { , UserDeliveryInfoDto userDeliveryInfoDto, ShoppingCartGoodsDto shoppingCartGoodsDto) {
String deliveryType = userDeliveryInfoDto != null && userDeliveryInfoDto.getStoreDeliveryInfoDto() != null String deliveryType = userDeliveryInfoDto != null && userDeliveryInfoDto.getStoreDeliveryInfoDto() != null
? userDeliveryInfoDto.getStoreDeliveryInfoDto().getDeliveryType() : ""; ? userDeliveryInfoDto.getStoreDeliveryInfoDto().getDeliveryType() : "";
QueryOrderType orderType; QueryOrderType orderType;
...@@ -529,15 +547,15 @@ public class OrderAdapter { ...@@ -529,15 +547,15 @@ public class OrderAdapter {
String latitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLatitude() : ""; String latitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLatitude() : "";
String longitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLongitude() : ""; String longitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLongitude() : "";
String remark = StringUtils.isNotBlank(createOrderVo.getOrderRemark()) ? createOrderVo.getOrderRemark() : ""; String remark = StringUtils.isNotBlank(createOrderVo.getOrderRemark()) ? createOrderVo.getOrderRemark() : "";
StringBuffer takeMealTime = new StringBuffer(""); // StringBuffer takeMealTime = new StringBuffer("");
CreateFatherSonOrderRequest.OrderInfo productOrderInfo = new CreateFatherSonOrderRequest.OrderInfo(); CreateFatherSonOrderRequest.OrderInfo productOrderInfo = new CreateFatherSonOrderRequest.OrderInfo();
Date takeMealDate = null; // Date takeMealDate = null;
if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) { // if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) {
takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd")) // takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00"); // .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
takeMealDate = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss"); // takeMealDate = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss");
productOrderInfo.setOrderTask(saveOrderTaskReq(orderWarnTime,takeMealDate.getTime())); // productOrderInfo.setOrderTask(saveOrderTaskReq(orderWarnTime,takeMealDate.getTime()));
} // }
productOrderInfo.setPartnerId(createOrderVo.getPartnerId()); productOrderInfo.setPartnerId(createOrderVo.getPartnerId());
productOrderInfo.setShopId(createOrderVo.getShopId()); productOrderInfo.setShopId(createOrderVo.getShopId());
productOrderInfo.setShopName(createOrderVo.getStoreName()); productOrderInfo.setShopName(createOrderVo.getStoreName());
...@@ -558,17 +576,17 @@ public class OrderAdapter { ...@@ -558,17 +576,17 @@ public class OrderAdapter {
productOrderInfo.setSource(OrderSourceType.SAAS.getCode()); productOrderInfo.setSource(OrderSourceType.SAAS.getCode());
productOrderInfo.setSourceName(OrderSourceType.SAAS.getDesc()); productOrderInfo.setSourceName(OrderSourceType.SAAS.getDesc());
productOrderInfo.setRemark(remark); productOrderInfo.setRemark(remark);
productOrderInfo.setGmtExpect(takeMealDate != null ? takeMealDate.getTime() : null); productOrderInfo.setGmtExpect(StringUtils.isNotBlank(createOrderVo.getTakeMealTime()) ? DateUtil.convert2Date(createOrderVo.getTakeMealTime(),"yyyy-MM-dd HH:mm:ss").getTime() : null);
BaseCreateOrderRequest.DeliveryTypeInfo deliveryTypeInfo = new BaseCreateOrderRequest.DeliveryTypeInfo(); BaseCreateOrderRequest.DeliveryTypeInfo deliveryTypeInfo = new BaseCreateOrderRequest.DeliveryTypeInfo();
deliveryTypeInfo.setDeliveryType(QueryDeliveryType.getByCode(deliveryType)); deliveryTypeInfo.setDeliveryType(QueryDeliveryType.getByCode(deliveryType));
productOrderInfo.setAddInfo(deliveryTypeInfo); productOrderInfo.setAddInfo(deliveryTypeInfo);
productOrderInfo.setAmount(0L); productOrderInfo.setAmount(0L);
productOrderInfo.setBarCounter(createOrderVo.getTableNumber()); productOrderInfo.setBarCounter(createOrderVo.getTableNumber());
productOrderInfo.setOrderClient(OrderClientType.SAAS.getIndex()); productOrderInfo.setOrderClient(OrderClientType.SAAS.getIndex());
if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) { // if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) {
takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd")) // takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00"); // .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
} // }
long deliveryAmount = 0; long deliveryAmount = 0;
if (userDeliveryInfoDto != null) { if (userDeliveryInfoDto != null) {
deliveryAmount = getUserRealDeliveryAmount(userDeliveryInfoDto.getStoreDeliveryInfoDto(), userDeliveryInfoDto.getUserLongitude(), userDeliveryInfoDto.getUserLatitude()); deliveryAmount = getUserRealDeliveryAmount(userDeliveryInfoDto.getStoreDeliveryInfoDto(), userDeliveryInfoDto.getUserLongitude(), userDeliveryInfoDto.getUserLatitude());
...@@ -2641,4 +2659,43 @@ public class OrderAdapter { ...@@ -2641,4 +2659,43 @@ public class OrderAdapter {
return type; return type;
} }
public OrderTaskReq getOrderTaskReq(StoreResponse.BizVO storeResponse,String expectTime,Integer orderType){
OrderTaskReq orderTask = new OrderTaskReq();
StoreResponse.Configuration configuration = storeResponse.getStoreConfig();
Integer timeout = 0;
if (configuration != null) {
//外卖单
if (OldOrderType.TAKE_OUT.getCode().equals(orderType)) {
if (StringUtils.isNotEmpty(configuration.getAutoTakeOutTakeOrderWorkflowFinishTime())) {
timeout = AutoOrderConfigTime.getTime(configuration.getAutoTakeOutTakeOrderWorkflowFinishTime());
}
//预约单
if(StringUtils.isNotEmpty(expectTime)
&& StringUtils.isNotEmpty(configuration.getAppointAutoTakeOutTakeOrderWorkflowFinishTime())){
timeout = AutoOrderConfigTime.getTime(configuration.getAppointAutoTakeOutTakeOrderWorkflowFinishTime());
}
} else {//自提单
if (org.apache.commons.lang.StringUtils.isNotEmpty(configuration.getAutoSelfmentionTakeOrderWorkflowFinishTime())) {
timeout = AutoOrderConfigTime.getTime(configuration.getAutoSelfmentionTakeOrderWorkflowFinishTime());
}
//预约单
if(StringUtils.isNotEmpty(expectTime)
&& StringUtils.isNotEmpty(configuration.getAppointAutoSelfmentionTakeOrderWorkflowFinishTime())){
timeout = AutoOrderConfigTime.getTime(configuration.getAppointAutoSelfmentionTakeOrderWorkflowFinishTime());
}
}
} else {
timeout = 120;
}
//预约单提醒任务,触发放拉单队列
if(StringUtils.isNotEmpty(expectTime) && timeout != null && timeout != 0){
orderTask.setTaskType(1);
Date processingDate = DateUtil.addMinutes(DateUtil.convert2Date(expectTime, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS), timeout);
orderTask.setProcessingTime(expectTime);
orderTask.setTaskTime(DateUtil.convert2String(processingDate,DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
orderTask.setTimeout(timeout);
}
return orderTask;
}
} }
...@@ -50,7 +50,7 @@ public enum ResponseResult { ...@@ -50,7 +50,7 @@ public enum ResponseResult {
STORE_ITEM_CHECK_VAILD_ERROR("43005", "门店商品校验失败"), STORE_ITEM_CHECK_VAILD_ERROR("43005", "门店商品校验失败"),
STORE_ITEM_CHECK_INVAILD("43006", "商品无效"), STORE_ITEM_CHECK_INVAILD("43006", "商品无效"),
STORE_ITEM_CHECK_DISCOUNT_CHANGE("43010", "商品限购活动已变更"), STORE_ITEM_CHECK_DISCOUNT_CHANGE("43010", "商品限购活动已变更"),
STORE_ITEM_CHECK_CLOSE("43007", "门店已打烊"), STORE_ITEM_CHECK_CLOSE("43007", "门店已打烊,请预约点餐"),
STORE_ITEM_STOP_BUSINESS("43010", "门店已停业"), STORE_ITEM_STOP_BUSINESS("43010", "门店已停业"),
STORE_ITEM_NOT_DELIVERY("43008", "门店不支持外卖配送"), STORE_ITEM_NOT_DELIVERY("43008", "门店不支持外卖配送"),
STORE_ITEM_NOT_IN_DELIVERY_LIMIT_AMOUNT("43009", "订单金额未满足门店起送费"), STORE_ITEM_NOT_IN_DELIVERY_LIMIT_AMOUNT("43009", "订单金额未满足门店起送费"),
......
...@@ -143,7 +143,8 @@ public class CheckOrder { ...@@ -143,7 +143,8 @@ public class CheckOrder {
if (storeResponseDto.getActiveFlag() == null || storeResponseDto.getActiveFlag() != 1) { if (storeResponseDto.getActiveFlag() == null || storeResponseDto.getActiveFlag() != 1) {
throw new ServiceException(ResponseResult.STORE_ITEM_STOP_BUSINESS); throw new ServiceException(ResponseResult.STORE_ITEM_STOP_BUSINESS);
} }
if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState())) { //未营业无预约时间无法下单
if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState()) && StringUtils.isBlank(createOrderVo.getTakeMealTime())) {
throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE); throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE);
} }
//设置营业开始和结束时间 //设置营业开始和结束时间
...@@ -154,15 +155,20 @@ public class CheckOrder { ...@@ -154,15 +155,20 @@ public class CheckOrder {
} }
Date date = new Date(); Date date = new Date();
String startDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[0] + ":00"; String startDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[0] + ":00";
Date startDateTime = DateUtil.convert2Date(startDateTimeStr, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
String endDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[1] + ":00"; String endDateTimeStr = DateUtil.convert2String(date, DateUtil.FORMAT_YMD) + " " + businessHours[1] + ":00";
Date startDateTime ;
Date endDateTime ;
startDateTime = DateUtil.convert2Date(startDateTimeStr, DateUtil.FORMAT_YYYY_MM_DD_HHMMSS);
SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); SimpleDateFormat hhmmss = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
Date endDateTime;
try { try {
endDateTime = hhmmss.parse(endDateTimeStr); endDateTime = hhmmss.parse(endDateTimeStr);
} catch (ParseException e) { } catch (ParseException e) {
throw new ServiceException(ResponseResult.STORE_BUSINESS_HOUR_ERROR); throw new ServiceException(ResponseResult.STORE_BUSINESS_HOUR_ERROR);
} }
//隔天营业时间处理
if(startDateTime.after(endDateTime)){
endDateTime = DateUtil.addDays(endDateTime,1);
}
storeResponseDto.setBusinessHoursDayStartTime(startDateTime); storeResponseDto.setBusinessHoursDayStartTime(startDateTime);
storeResponseDto.setBusinessHoursDayEndTime(endDateTime); storeResponseDto.setBusinessHoursDayEndTime(endDateTime);
...@@ -197,6 +203,20 @@ public class CheckOrder { ...@@ -197,6 +203,20 @@ public class CheckOrder {
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00"); .append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
takeMealDateTime = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss"); takeMealDateTime = DateUtil.convert2Date(takeMealTime.toString(), "yyyy-MM-dd HH:mm:ss");
} }
// System.out.println(takeMealDateTime.before(storeResponseDto.getBusinessHoursDayStartTime()));
// Date convert2Date = DateUtil.convert2Date(storeResponseDto.getBusinessHoursDayStartTime(), "yyyy-MM-dd");
// boolean before = takeMealDateTime.before(DateUtil.addDays(convert2Date, 1));
//隔天预约时间处理 8:00-2:00 预约1:00 ,下单时间在2:00 - 23:59加1天,00:00-1:59不加
if(takeMealDateTime != null && takeMealDateTime.before(storeResponseDto.getBusinessHoursDayStartTime())
&& takeMealDateTime.before(DateUtil.addDays(DateUtil.convert2Date(storeResponseDto.getBusinessHoursDayStartTime(),"yyyy-MM-dd"),1))){
takeMealDateTime = DateUtil.addDays(takeMealDateTime,1);
}
//有预约时间,预约时间要在营业时间范围内
if (takeMealDateTime != null && (takeMealDateTime.before(storeResponseDto.getBusinessHoursDayStartTime())
|| takeMealDateTime.after(storeResponseDto.getBusinessHoursDayEndTime()))) {
throw new ServiceException(ResponseResult.ORDER_TAKEMEALTIME_INVAILD);
}
String appId = userLoginInfoDto.getWxAppId(); String appId = userLoginInfoDto.getWxAppId();
// 校验小程序是否支持到店或者外卖 // 校验小程序是否支持到店或者外卖
OpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId); OpenPlatformIappWxappConfig config = openPlatformIappWxappConfigManager.selectIappWxappConfigByWxAppId(appId);
...@@ -208,12 +228,6 @@ public class CheckOrder { ...@@ -208,12 +228,6 @@ public class CheckOrder {
if (storeResponseDto.getIsSelfMention() == null || storeResponseDto.getIsSelfMention() != 1) { if (storeResponseDto.getIsSelfMention() == null || storeResponseDto.getIsSelfMention() != 1) {
throw new ServiceException(ResponseResult.STORE_NOT_ENABLE_COLLECT_GOODS); throw new ServiceException(ResponseResult.STORE_NOT_ENABLE_COLLECT_GOODS);
} }
//有预约时间,预约时间要在营业时间范围内
if (takeMealDateTime != null && (takeMealDateTime.before(storeResponseDto.getBusinessHoursDayStartTime())
|| takeMealDateTime.after(storeResponseDto.getBusinessHoursDayEndTime()))) {
throw new ServiceException(ResponseResult.ORDER_TAKEMEALTIME_INVAILD);
}
createOrderVo.setUserName(userLoginInfoDto.getNickName()); createOrderVo.setUserName(userLoginInfoDto.getNickName());
createOrderVo.setMobile(userLoginInfoDto.getMobile()); createOrderVo.setMobile(userLoginInfoDto.getMobile());
} }
...@@ -256,14 +270,11 @@ public class CheckOrder { ...@@ -256,14 +270,11 @@ public class CheckOrder {
if (startDate == null || endDate == null || date.after(endDate)) { if (startDate == null || endDate == null || date.after(endDate)) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY); throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
} }
if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) {
storeDeliveryInfoDto.setPushOrderTime(30);
}
// 校验预约配送时间 // 校验预约配送时间
if (StringUtils.isBlank(createOrderVo.getTakeMealTime()) && date.before(startDate)) { if (StringUtils.isBlank(createOrderVo.getTakeMealTime()) && date.before(startDate)) {
long takeAwayTime = startDate.getTime() + storeResponseDto.getServiceTime() * 60 * 1000L; long takeAwayTime = startDate.getTime() + storeResponseDto.getServiceTime() * 60 * 1000L;
takeMealDateTime = new Date(takeAwayTime); takeMealDateTime = new Date(takeAwayTime);
createOrderVo.setTakeMealTime(DateUtil.convert2Str(takeMealDateTime, "HH:mm")); // createOrderVo.setTakeMealTime(DateUtil.convert2Str(takeMealDateTime, "HH:mm"));
} }
if (takeMealDateTime != null && (takeMealDateTime.before(startDate) || takeMealDateTime.after(endDate))) { if (takeMealDateTime != null && (takeMealDateTime.before(startDate) || takeMealDateTime.after(endDate))) {
throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY); throw new ServiceException(ResponseResult.ORDER_CREATE_TIME_NOT_DELIVERY);
...@@ -271,7 +282,10 @@ public class CheckOrder { ...@@ -271,7 +282,10 @@ public class CheckOrder {
storeDeliveryInfoDto.setEnableTakeaway(true); storeDeliveryInfoDto.setEnableTakeaway(true);
// 校验收货地址是否可配送 // 校验收货地址是否可配送
checkReceiveAddress(storeDeliveryInfoDto, createOrderVo); checkReceiveAddress(storeDeliveryInfoDto, createOrderVo);
pushOrderTime = storeDeliveryInfoDto.getPushOrderTime(); }
//重新赋值为yyyy-MM-dd HH:mm:ss格式字符串时间
if(takeMealDateTime != null){
createOrderVo.setTakeMealTime(DateUtil.convert2String(takeMealDateTime, "yyyy-MM-dd HH:mm:ss"));
} }
//非到店或者外卖,类型错误 //非到店或者外卖,类型错误
if (!(CreateOrderType.COLLECT_GOODS.getCode().equals(createOrderVo.getOrderType()) || if (!(CreateOrderType.COLLECT_GOODS.getCode().equals(createOrderVo.getOrderType()) ||
......
...@@ -393,7 +393,9 @@ public class OrderServiceImpl implements Orderservice { ...@@ -393,7 +393,9 @@ public class OrderServiceImpl implements Orderservice {
var1.setPayDate(DateUtil.convert2String(new Date(), "yyyy-MM-dd HH:mm:ss")); var1.setPayDate(DateUtil.convert2String(new Date(), "yyyy-MM-dd HH:mm:ss"));
var1.setPayTransId(message.getOut_trade_no()); var1.setPayTransId(message.getOut_trade_no());
var1.setOperator(orderBean.getUserName()); var1.setOperator(orderBean.getUserName());
if(orderBean.getGmtExpect() != null && orderBean.getGmtExpect() != 0){
var1.setExpectTime(DateUtil.convert2String(new Date(orderBean.getGmtExpect()),DateUtil.FORMAT_YYYY_MM_DD_HHMMSS));
}
// 订单支付成功 // 订单支付成功
com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccess(var1); com.freemud.sdk.api.assortment.order.response.order.PayAccessResponse payAccessRes = orderCenterSdkService.payAccess(var1);
String string2 = JSONObject.toJSONString(payAccessRes); String string2 = JSONObject.toJSONString(payAccessRes);
...@@ -1725,7 +1727,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1725,7 +1727,7 @@ public class OrderServiceImpl implements Orderservice {
//创建普通订单 //创建普通订单
OrderClientType finalOrderClient = orderClient; OrderClientType finalOrderClient = orderClient;
Function<Object, CreateOrderResponse> createOrder = (var -> { Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,orderWarnTime); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto);
//查询第三方商品编号 //查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest); baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
//保存门店渠道信息 //保存门店渠道信息
...@@ -1743,7 +1745,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1743,7 +1745,7 @@ public class OrderServiceImpl implements Orderservice {
}); });
//创建父子订单 //创建父子订单
Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> { Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> {
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,orderWarnTime); CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,storeResponseDto);
//查询第三方商品编号 //查询第三方商品编号
createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest); createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest(); MqMessageRequest mqMessageRequest = new MqMessageRequest();
...@@ -2237,7 +2239,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2237,7 +2239,7 @@ public class OrderServiceImpl implements Orderservice {
String orderWarnTime = storeResponseDto.getOrderWarnTime(); String orderWarnTime = storeResponseDto.getOrderWarnTime();
//创建普通订单 //创建普通订单
Function<Object, CreateOrderResponse> createOrder = (var -> { Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,orderWarnTime); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,storeResponseDto);
//查询第三方商品编号 //查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest); baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
//保存门店渠道信息 //保存门店渠道信息
...@@ -2254,7 +2256,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -2254,7 +2256,7 @@ public class OrderServiceImpl implements Orderservice {
}); });
//创建父子订单 //创建父子订单
Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> { Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> {
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,orderWarnTime); CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,storeResponseDto);
//查询第三方商品编号 //查询第三方商品编号
createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest); createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest(); MqMessageRequest mqMessageRequest = new MqMessageRequest();
......
package cn.freemud.management.controller; package cn.freemud.management.controller;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.management.entities.DeliveryOrderRequest;
import cn.freemud.management.service.OrderDeliveryService; import cn.freemud.management.service.OrderDeliveryService;
import com.freemud.application.sdk.api.log.ApiAnnotation; import com.freemud.application.sdk.api.log.ApiAnnotation;
import com.freemud.application.sdk.api.log.LogParams;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated; import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
/** /**
* 创建配送单 * 创建配送单
...@@ -31,4 +30,12 @@ public class DeliveryOrderController { ...@@ -31,4 +30,12 @@ public class DeliveryOrderController {
, @RequestParam(value = "operator", required = false) String operator) { , @RequestParam(value = "operator", required = false) String operator) {
return orderDeliveryService.createDelivery(orderCode, operator); return orderDeliveryService.createDelivery(orderCode, operator);
} }
@ApiAnnotation(logMessage = "cancelDeliveryOrder")
@ApiOperation(value = "取消配送单", notes = "取消配送单", produces = "application/json")
@PostMapping("/delivery/cancel")
public BaseResponse cancelDeliveryOrder(@Validated @LogParams @RequestBody DeliveryOrderRequest request) {
return orderDeliveryService.cancelDeliveryOrder(request);
}
} }
package cn.freemud.management.entities;
import lombok.Data;
/**
* Created by wuping27 on 2020/3/11.
*/
@Data
public class DeliveryOrderRequest {
private String orderCode;
private String operator;
}
...@@ -2,11 +2,16 @@ package cn.freemud.management.service; ...@@ -2,11 +2,16 @@ package cn.freemud.management.service;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.base.log.LogTreadLocal; import cn.freemud.base.log.LogTreadLocal;
import cn.freemud.management.entities.DeliveryOrderRequest;
import cn.freemud.management.enums.DeliveryStatus;
import cn.freemud.management.util.CheckException; import cn.freemud.management.util.CheckException;
import cn.freemud.management.util.CommonResp; import cn.freemud.management.util.CommonResp;
import com.freemud.application.sdk.api.deliverycenter.dto.CancelDeliveryOrderRequestDto;
import com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto; import com.freemud.application.sdk.api.deliverycenter.dto.CreateDeliveryOrderRequestDto;
import com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto; import com.freemud.application.sdk.api.deliverycenter.response.CreateDeliveryOrderResponseDto;
import com.freemud.application.sdk.api.deliverycenter.response.DeliveryResponseDto;
import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService; import com.freemud.application.sdk.api.deliverycenter.service.DeliveryService;
import com.freemud.application.sdk.api.log.LogThreadLocal;
import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest; import com.freemud.application.sdk.api.storecenter.request.StoreInfoRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.application.sdk.api.storecenter.service.StoreCenterService; import com.freemud.application.sdk.api.storecenter.service.StoreCenterService;
...@@ -15,6 +20,7 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse; ...@@ -15,6 +20,7 @@ import com.freemud.sdk.api.assortment.order.response.order.QueryOrdersResponse;
import com.google.common.base.Throwables; import com.google.common.base.Throwables;
import javafx.util.Pair; import javafx.util.Pair;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang.ObjectUtils;
import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value; import org.springframework.beans.factory.annotation.Value;
...@@ -163,7 +169,9 @@ public class OrderDeliveryService { ...@@ -163,7 +169,9 @@ public class OrderDeliveryService {
deliveryOrderRequestDto.setOrderTime(new Date(order.getGmtCreate())); deliveryOrderRequestDto.setOrderTime(new Date(order.getGmtCreate()));
deliveryOrderRequestDto.setCallbackUrl(deliveryCallBackUrl); deliveryOrderRequestDto.setCallbackUrl(deliveryCallBackUrl);
// 预约单预计送到时间 // 预约单预计送到时间
deliveryOrderRequestDto.setExpectTime(new Date(order.getGmtCreate())); if (order.getGmtExpect() != null && order.getGmtExpect() != 0) {
deliveryOrderRequestDto.setExpectTime(new Date(order.getGmtExpect()));
}
deliveryOrderRequestDto.setIsPre(order.getGmtExpect() != null ? 1 : 0); deliveryOrderRequestDto.setIsPre(order.getGmtExpect() != null ? 1 : 0);
List<CreateDeliveryOrderRequestDto.DeliveryProductInfo> productInfos = new ArrayList<>(); List<CreateDeliveryOrderRequestDto.DeliveryProductInfo> productInfos = new ArrayList<>();
order.getProductList().forEach(productList -> { order.getProductList().forEach(productList -> {
...@@ -179,4 +187,48 @@ public class OrderDeliveryService { ...@@ -179,4 +187,48 @@ public class OrderDeliveryService {
deliveryOrderRequestDto.setProductInfos(productInfos); deliveryOrderRequestDto.setProductInfos(productInfos);
return deliveryOrderRequestDto; return deliveryOrderRequestDto;
} }
/**
* 取消外卖配送单
* @return
*/
public BaseResponse cancelDeliveryOrder(DeliveryOrderRequest request) {
BaseResponse baseResponse = new BaseResponse();
baseResponse.setCode(SUCCESS + "");
QueryOrdersResponse.DataBean.OrderBean data = orderBaseService.getByOrderCode(request.getOrderCode());
if (null == data) {
baseResponse.setCode("101");
baseResponse.setMessage("订单不存在");
return baseResponse;
}
if (data.getType() == 1 && data.getAddInfo() != null && ObjectUtils.equals(data.getAddInfo().getDeliveryType(), "third")) {
Integer deliverStatus = data.getAddInfo().getDeliverStatus();
//运单异常或取消时,无需作废三方配送运单
if (ObjectUtils.equals(DeliveryStatus.DELIVERYERROR.getCode(), deliverStatus)
|| ObjectUtils.equals(DeliveryStatus.DELIVERYCANCEL.getCode(), deliverStatus)
|| ObjectUtils.equals(DeliveryStatus.DELIVERYARRIVED.getCode(), deliverStatus)) {
return baseResponse;
}
//运单状态非待接单或系统接单时,不能取消运单
if (ObjectUtils.equals(DeliveryStatus.RIDERSTARTDELIVERY.getCode(), deliverStatus)) {
baseResponse.setCode("101");
baseResponse.setMessage("配送单不能取消");
return baseResponse;
}
CancelDeliveryOrderRequestDto cancelDeliveryOrderRequestDto = new CancelDeliveryOrderRequestDto();
cancelDeliveryOrderRequestDto.setDeliveryId(data.getAddInfo().getDeliveryId());
cancelDeliveryOrderRequestDto.setOrderCancelCode(4);
//商家退款取消配送
cancelDeliveryOrderRequestDto.setOrderCancelDescription("顾客取消订单");
DeliveryResponseDto deliveryResponse = deliveryService.deliveryOrderCancel(cancelDeliveryOrderRequestDto, LogThreadLocal.getTrackingNo());
if (deliveryResponse == null || SUCCESS != deliveryResponse.getCode()) {
baseResponse.setCode("101");
baseResponse.setMessage("取消配送单异常,不能操作");
return baseResponse;
}
}
return baseResponse;
}
} }
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
<version>1.0.0</version> <version>1.0.0</version>
</parent> </parent>
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<version>1.1.6.RELEASE</version> <version>1.1.8-SNAPSHOT</version>
<artifactId>ordercenter-sdk</artifactId> <artifactId>ordercenter-sdk</artifactId>
<dependencies> <dependencies>
......
...@@ -9,4 +9,6 @@ ...@@ -9,4 +9,6 @@
| 1.1.3.RELEASE| 开放平台创建订单 | 姜海波 | 2020-02-24 | | 1.1.3.RELEASE| 开放平台创建订单 | 姜海波 | 2020-02-24 |
| 1.1.4-SNAPSHOT | 优化活动订单 | 胡超 | 2020-02-10 | | 1.1.4-SNAPSHOT | 优化活动订单 | 胡超 | 2020-02-10 |
| 1.1.6-SNAPSHOT | OrderExtInfo新增formId | wuping | 2020-02-27 | | 1.1.6-SNAPSHOT | OrderExtInfo新增formId | wuping | 2020-02-27 |
| 1.1.6.RELEASE | 升级RELEASE | wuping | 2020-03-04 | | 1.1.6.RELEASE | 升级RELEASE | wuping | 2020-03-04 |
\ No newline at end of file | 1.1.7-SNAPSHOT | 预约单支付成功接口增加预约任务 | wuping | 2020-03-10 |
| 1.1.8-SNAPSHOT | 预约单接单接口增加预约任务 | wuping | 2020-03-17 |
\ No newline at end of file
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
*/ */
package com.freemud.application.sdk.api.ordercenter.request; package com.freemud.application.sdk.api.ordercenter.request;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import lombok.Data; import lombok.Data;
@Data @Data
...@@ -24,4 +25,7 @@ public class POSOrderOperationBaseReq { ...@@ -24,4 +25,7 @@ public class POSOrderOperationBaseReq {
//从接单、制作完成、送出开始计时,超时的时间(单位:分钟) //从接单、制作完成、送出开始计时,超时的时间(单位:分钟)
private Integer timeout; private Integer timeout;
//预约单任务(处理提醒时拉单的)接单接口时传
private OrderTaskReq orderTask;
} }
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package com.freemud.application.sdk.api.ordercenter.request; package com.freemud.application.sdk.api.ordercenter.request;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq; import com.freemud.application.sdk.api.ordercenter.request.create.OrderSettlementCreateReq;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import lombok.Data; import lombok.Data;
import java.util.List; import java.util.List;
...@@ -48,4 +49,7 @@ public class PaySuccessReq { ...@@ -48,4 +49,7 @@ public class PaySuccessReq {
//操作人 //操作人
private String operator; private String operator;
//预订单任务
private OrderTaskReq orderTask;
} }
...@@ -24,6 +24,10 @@ public class OrderTaskReq { ...@@ -24,6 +24,10 @@ public class OrderTaskReq {
private String taskTime; private String taskTime;
//任务类型:1预约单 (OrderType设置为2预约堂食,4预约外送,6预约自取 默认为预约单) //任务类型:1预约单 (OrderType设置为2预约堂食,4预约外送,6预约自取 默认为预约单)
//2 超时回调
//3 拉单队列
private Integer taskType; private Integer taskType;
private Integer timeout;
} }
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