Commit f9723232 by ping.wu

Merge branches 'feature/20191127_预订单_wuping' and 'master' of…

Merge branches 'feature/20191127_预订单_wuping' and 'master' of http://gitlab.freemud.com/order-group-application/order-group
parents 809b7586 a4cc0e0c
...@@ -229,6 +229,7 @@ public class OrderSdkAdapter { ...@@ -229,6 +229,7 @@ public class OrderSdkAdapter {
createOrderRequest.setDeliveryContactInfoList(deliveryContactInfoList); createOrderRequest.setDeliveryContactInfoList(deliveryContactInfoList);
//门店渠道信息 //门店渠道信息
createOrderRequest.setOrderExtended(orderInfo.getOrderExtended()); createOrderRequest.setOrderExtended(orderInfo.getOrderExtended());
createOrderRequest.setOrderTask(orderInfo.getOrderTask());
return createOrderRequest; return createOrderRequest;
} }
......
package com.freemud.sdk.api.assortment.order.request.order; package com.freemud.sdk.api.assortment.order.request.order;
import com.freemud.application.sdk.api.ordercenter.request.create.OrderTaskReq;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest; import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq; import com.freemud.application.sdk.api.ordercenter.request.OrderExtendedReq;
import com.freemud.sdk.api.assortment.order.config.BaseConfig; import com.freemud.sdk.api.assortment.order.config.BaseConfig;
...@@ -149,5 +150,8 @@ public class CreateFatherSonOrderRequest extends BaseConfig { ...@@ -149,5 +150,8 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
//订单扩展信息 (门店渠道信息) //订单扩展信息 (门店渠道信息)
private OrderExtendedReq orderExtended; private OrderExtendedReq orderExtended;
//预订单任务
private OrderTaskReq orderTask;
} }
} }
...@@ -47,6 +47,7 @@ import com.freemud.application.sdk.api.ordercenter.enums.OrderClientType; ...@@ -47,6 +47,7 @@ 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.OrderSettlementType;
import com.freemud.application.sdk.api.ordercenter.enums.ProductTypeEnum; 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.promotioncenter.dto.promotion.GoodsStockDTO; import com.freemud.application.sdk.api.promotioncenter.dto.promotion.GoodsStockDTO;
import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest; import com.freemud.application.sdk.api.promotioncenter.request.promotion.ActivityUpdateStockRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
...@@ -117,7 +118,7 @@ public class OrderAdapter { ...@@ -117,7 +118,7 @@ public class OrderAdapter {
* @param shoppingCartGoodsDto * @param shoppingCartGoodsDto
* @return * @return
*/ */
public BaseCreateOrderRequest convent2CreateOrderDto(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto) { public BaseCreateOrderRequest convent2CreateOrderDto(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,String orderWarnTime) {
UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto(); UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto();
BaseCreateOrderRequest createOrderDto = getCreateOrderDto(createOrderVo); BaseCreateOrderRequest createOrderDto = getCreateOrderDto(createOrderVo);
...@@ -125,6 +126,10 @@ public class OrderAdapter { ...@@ -125,6 +126,10 @@ public class OrderAdapter {
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);
// 解析购物车信息 // 解析购物车信息
...@@ -241,13 +246,13 @@ public class OrderAdapter { ...@@ -241,13 +246,13 @@ public class OrderAdapter {
return createOrderDto; return createOrderDto;
} }
public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, OrderExtendedReq orderExtendedReq) { public CreateFatherSonOrderRequest convertFatherSonOrderRequest(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, OrderExtendedReq orderExtendedReq,String orderWarnTime) {
CreateFatherSonOrderRequest createFatherSonOrderRequest = new CreateFatherSonOrderRequest(); CreateFatherSonOrderRequest createFatherSonOrderRequest = new CreateFatherSonOrderRequest();
createFatherSonOrderRequest.setPartnerId(createOrderVo.getPartnerId()); createFatherSonOrderRequest.setPartnerId(createOrderVo.getPartnerId());
createFatherSonOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo()); createFatherSonOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
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); CreateFatherSonOrderRequest.OrderInfo productOrderInfo = convertProductOrderInfo(createOrderVo, deliveryInfoDto, shoppingCartGoodsDto,orderWarnTime);
productOrderInfo.setOrderExtended(orderExtendedReq); productOrderInfo.setOrderExtended(orderExtendedReq);
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());
...@@ -499,7 +504,7 @@ public class OrderAdapter { ...@@ -499,7 +504,7 @@ public class OrderAdapter {
} }
public CreateFatherSonOrderRequest.OrderInfo convertProductOrderInfo(CreateOrderVo createOrderVo public CreateFatherSonOrderRequest.OrderInfo convertProductOrderInfo(CreateOrderVo createOrderVo
, UserDeliveryInfoDto userDeliveryInfoDto, ShoppingCartGoodsDto shoppingCartGoodsDto) { , UserDeliveryInfoDto userDeliveryInfoDto, ShoppingCartGoodsDto shoppingCartGoodsDto,String orderWarnTime) {
String deliveryType = userDeliveryInfoDto != null && userDeliveryInfoDto.getStoreDeliveryInfoDto() != null String deliveryType = userDeliveryInfoDto != null && userDeliveryInfoDto.getStoreDeliveryInfoDto() != null
? userDeliveryInfoDto.getStoreDeliveryInfoDto().getDeliveryType() : ""; ? userDeliveryInfoDto.getStoreDeliveryInfoDto().getDeliveryType() : "";
QueryOrderType orderType; QueryOrderType orderType;
...@@ -517,18 +522,19 @@ public class OrderAdapter { ...@@ -517,18 +522,19 @@ public class OrderAdapter {
throw new ServiceException(ResponseResult.PARAMETER_MISSING, "非法的订单类型"); throw new ServiceException(ResponseResult.PARAMETER_MISSING, "非法的订单类型");
} }
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();
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()));
} }
CreateFatherSonOrderRequest.OrderInfo productOrderInfo = new CreateFatherSonOrderRequest.OrderInfo();
productOrderInfo.setPartnerId(createOrderVo.getPartnerId()); productOrderInfo.setPartnerId(createOrderVo.getPartnerId());
productOrderInfo.setShopId(createOrderVo.getShopId()); productOrderInfo.setShopId(createOrderVo.getShopId());
productOrderInfo.setShopName(createOrderVo.getStoreName()); productOrderInfo.setShopName(createOrderVo.getStoreName());
...@@ -556,7 +562,10 @@ public class OrderAdapter { ...@@ -556,7 +562,10 @@ public class OrderAdapter {
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())) {
takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
.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());
...@@ -2521,4 +2530,45 @@ public class OrderAdapter { ...@@ -2521,4 +2530,45 @@ public class OrderAdapter {
return orderExtended; return orderExtended;
} }
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;
}
} }
...@@ -1675,9 +1675,10 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1675,9 +1675,10 @@ public class OrderServiceImpl implements Orderservice {
*/ */
private BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, UserLoginInfoDto userLoginInfoDto, OrderExtInfoDTO orderExtInfoDTO) { private BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, UserLoginInfoDto userLoginInfoDto, OrderExtInfoDTO orderExtInfoDTO) {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto); OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
String orderWarnTime = storeResponseDto.getOrderWarnTime();
//创建普通订单 //创建普通订单
Function<Object, CreateOrderResponse> createOrder = (var -> { Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,orderWarnTime);
//查询第三方商品编号 //查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest); baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
//保存门店渠道信息 //保存门店渠道信息
...@@ -1694,7 +1695,7 @@ public class OrderServiceImpl implements Orderservice { ...@@ -1694,7 +1695,7 @@ public class OrderServiceImpl implements Orderservice {
}); });
//创建父子订单 //创建父子订单
Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> { Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> {
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq); CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,orderWarnTime);
//查询第三方商品编号 //查询第三方商品编号
createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest); createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest(); MqMessageRequest mqMessageRequest = new MqMessageRequest();
......
...@@ -403,7 +403,7 @@ public class OrderServiceTest { ...@@ -403,7 +403,7 @@ public class OrderServiceTest {
CreateOrderVo createOrderVo = gson.fromJson(createOrderStr, CreateOrderVo.class); CreateOrderVo createOrderVo = gson.fromJson(createOrderStr, CreateOrderVo.class);
ShoppingCartGoodsDto shoppingCartGoodsDto = gson.fromJson(shoppingCartGoodsDtoStr, ShoppingCartGoodsDto.class); ShoppingCartGoodsDto shoppingCartGoodsDto = gson.fromJson(shoppingCartGoodsDtoStr, ShoppingCartGoodsDto.class);
System.out.println("json===" + gson.toJson(orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto))); // System.out.println("json===" + gson.toJson(orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto)));
} }
......
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