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 {
createOrderRequest.setDeliveryContactInfoList(deliveryContactInfoList);
//门店渠道信息
createOrderRequest.setOrderExtended(orderInfo.getOrderExtended());
createOrderRequest.setOrderTask(orderInfo.getOrderTask());
return createOrderRequest;
}
......
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.ordercenter.request.OrderExtendedReq;
import com.freemud.sdk.api.assortment.order.config.BaseConfig;
......@@ -149,5 +150,8 @@ public class CreateFatherSonOrderRequest extends BaseConfig {
//订单扩展信息 (门店渠道信息)
private OrderExtendedReq orderExtended;
//预订单任务
private OrderTaskReq orderTask;
}
}
......@@ -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.ProductTypeEnum;
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.request.promotion.ActivityUpdateStockRequest;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
......@@ -117,7 +118,7 @@ public class OrderAdapter {
* @param shoppingCartGoodsDto
* @return
*/
public BaseCreateOrderRequest convent2CreateOrderDto(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto) {
public BaseCreateOrderRequest convent2CreateOrderDto(CreateOrderVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto,String orderWarnTime) {
UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto();
BaseCreateOrderRequest createOrderDto = getCreateOrderDto(createOrderVo);
......@@ -125,6 +126,10 @@ public class OrderAdapter {
if (deliveryInfoDto != null) {
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();
createOrderDto.setAmount(shoppingCartGoodsDto.getTotalAmount() + deliveryAmount + packageAmount);
// 解析购物车信息
......@@ -241,13 +246,13 @@ public class OrderAdapter {
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.setPartnerId(createOrderVo.getPartnerId());
createFatherSonOrderRequest.setTrackingNo(LogTreadLocal.getTrackingNo());
UserDeliveryInfoDto deliveryInfoDto = createOrderVo.getUserDeliveryInfoDto();
List<CreateFatherSonOrderRequest.OrderInfo> orderInfoList = new ArrayList<>();
CreateFatherSonOrderRequest.OrderInfo productOrderInfo = convertProductOrderInfo(createOrderVo, deliveryInfoDto, shoppingCartGoodsDto);
CreateFatherSonOrderRequest.OrderInfo productOrderInfo = convertProductOrderInfo(createOrderVo, deliveryInfoDto, shoppingCartGoodsDto,orderWarnTime);
productOrderInfo.setOrderExtended(orderExtendedReq);
CreateFatherSonOrderRequest.OrderInfo memberOrderInfo = convertMemberOrderInfo(createOrderVo, shoppingCartGoodsDto, productOrderInfo.getOrderType());
CreateFatherSonOrderRequest.OrderInfo fatherOrderInfo = convertFatherOrderInfo(createOrderVo, shoppingCartGoodsDto, deliveryInfoDto, productOrderInfo.getOrderType());
......@@ -499,7 +504,7 @@ public class OrderAdapter {
}
public CreateFatherSonOrderRequest.OrderInfo convertProductOrderInfo(CreateOrderVo createOrderVo
, UserDeliveryInfoDto userDeliveryInfoDto, ShoppingCartGoodsDto shoppingCartGoodsDto) {
, UserDeliveryInfoDto userDeliveryInfoDto, ShoppingCartGoodsDto shoppingCartGoodsDto,String orderWarnTime) {
String deliveryType = userDeliveryInfoDto != null && userDeliveryInfoDto.getStoreDeliveryInfoDto() != null
? userDeliveryInfoDto.getStoreDeliveryInfoDto().getDeliveryType() : "";
QueryOrderType orderType;
......@@ -517,18 +522,19 @@ public class OrderAdapter {
throw new ServiceException(ResponseResult.PARAMETER_MISSING, "非法的订单类型");
}
String latitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLatitude() : "";
String longitude = userDeliveryInfoDto != null ? userDeliveryInfoDto.getUserLongitude() : "";
String remark = StringUtils.isNotBlank(createOrderVo.getOrderRemark()) ? createOrderVo.getOrderRemark() : "";
StringBuffer takeMealTime = new StringBuffer("");
CreateFatherSonOrderRequest.OrderInfo productOrderInfo = new CreateFatherSonOrderRequest.OrderInfo();
Date takeMealDate = null;
if (StringUtils.isNotBlank(createOrderVo.getTakeMealTime())) {
takeMealTime = takeMealTime.append(DateUtil.convert2String(new Date(), "yyyy-MM-dd"))
.append(" ").append(createOrderVo.getTakeMealTime()).append(":00");
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.setShopId(createOrderVo.getShopId());
productOrderInfo.setShopName(createOrderVo.getStoreName());
......@@ -556,7 +562,10 @@ public class OrderAdapter {
productOrderInfo.setAmount(0L);
productOrderInfo.setBarCounter(createOrderVo.getTableNumber());
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;
if (userDeliveryInfoDto != null) {
deliveryAmount = getUserRealDeliveryAmount(userDeliveryInfoDto.getStoreDeliveryInfoDto(), userDeliveryInfoDto.getUserLongitude(), userDeliveryInfoDto.getUserLatitude());
......@@ -2521,4 +2530,45 @@ public class OrderAdapter {
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 {
*/
private BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, UserLoginInfoDto userLoginInfoDto, OrderExtInfoDTO orderExtInfoDTO) {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto);
String orderWarnTime = storeResponseDto.getOrderWarnTime();
//创建普通订单
Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto);
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,orderWarnTime);
//查询第三方商品编号
baseCreateOrderRequest = getProductCustomerCode(baseCreateOrderRequest);
//保存门店渠道信息
......@@ -1694,7 +1695,7 @@ public class OrderServiceImpl implements Orderservice {
});
//创建父子订单
Function<Object, CreateFatherSonOrderResponse> createFatherSonOrder = (var -> {
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq);
CreateFatherSonOrderRequest createFatherSonOrderRequest = orderAdapter.convertFatherSonOrderRequest(createOrderVo, shoppingCartGoodsDto, orderExtendedReq,orderWarnTime);
//查询第三方商品编号
createFatherSonOrderRequest = getProductCustomerCodeNew(createFatherSonOrderRequest);
MqMessageRequest mqMessageRequest = new MqMessageRequest();
......
......@@ -403,7 +403,7 @@ public class OrderServiceTest {
CreateOrderVo createOrderVo = gson.fromJson(createOrderStr, CreateOrderVo.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