Commit 9750797d by ping.wu

下单接口优化,StoreResponse.BizVO对象统一

parent b93d453c
...@@ -13,12 +13,9 @@ ...@@ -13,12 +13,9 @@
package cn.freemud.adapter; package cn.freemud.adapter;
import cn.freemud.base.constant.Version; import cn.freemud.base.constant.Version;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.ActivityCancelStockRequestDto;
import cn.freemud.entities.dto.order.CreateOrderDto; import cn.freemud.entities.dto.CouponCodeVerificationProductDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.enums.OrderAccountType;
import cn.freemud.entities.vo.PremiumExchangeResponseVo;
import cn.freemud.enums.*;
import cn.freemud.utils.PropertyConvertUtil;
import com.freemud.application.sdk.api.ordercenter.entities.v1.AccountBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.AccountBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.OrderBeanV1;
import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1; import com.freemud.application.sdk.api.ordercenter.entities.v1.ProductBeanV1;
......
...@@ -3,6 +3,7 @@ package cn.freemud.adapter; ...@@ -3,6 +3,7 @@ package cn.freemud.adapter;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.CustomerScoreConstant; import cn.freemud.constant.CustomerScoreConstant;
import cn.freemud.entities.bo.CreateOrderBo; import cn.freemud.entities.bo.CreateOrderBo;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto; import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto; import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.pay.CombPayResponse; import cn.freemud.entities.dto.pay.CombPayResponse;
...@@ -439,7 +440,7 @@ public class CreateOrderAdapter { ...@@ -439,7 +440,7 @@ public class CreateOrderAdapter {
CreateOrderBaseVo createOrderVo = createOrderBo.getCreateOrderBaseVo(); CreateOrderBaseVo createOrderVo = createOrderBo.getCreateOrderBaseVo();
ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto(); ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto();
AssortmentCustomerInfoVo userLoginInfoDto = createOrderBo.getUserLoginInfoDto(); AssortmentCustomerInfoVo userLoginInfoDto = createOrderBo.getUserLoginInfoDto();
StoreResponse.BizVO storeResponseDto = createOrderBo.getStoreResponseDto(); StoreResponseDto storeResponseDto = createOrderBo.getStoreResponseDto();
CreateOrderRequest request = new CreateOrderRequest(); CreateOrderRequest request = new CreateOrderRequest();
request.setPartnerId(createOrderVo.getPartnerId()); request.setPartnerId(createOrderVo.getPartnerId());
...@@ -653,7 +654,7 @@ public class CreateOrderAdapter { ...@@ -653,7 +654,7 @@ public class CreateOrderAdapter {
* @return 订单金额 * @return 订单金额
*/ */
private Long updateOrderItemsAndSettlements(List<OrderItemCreateReq> orderItemList, List<OrderSettlementCreateReq> orderSettlementCreateReqList, List<OrderCostCreateReq> orderCostCreateReqs, private Long updateOrderItemsAndSettlements(List<OrderItemCreateReq> orderItemList, List<OrderSettlementCreateReq> orderSettlementCreateReqList, List<OrderCostCreateReq> orderCostCreateReqs,
CreateOrderBaseVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, StoreResponse.BizVO storeResponseDto, Map<String, GetProductsVo> productsMap) { CreateOrderBaseVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, StoreResponseDto storeResponseDto, Map<String, GetProductsVo> productsMap) {
Long originalAmount = 0L; Long originalAmount = 0L;
// 更新订单费用信息 // 更新订单费用信息
originalAmount = convertCreateOrderCost(originalAmount, orderSettlementCreateReqList, orderCostCreateReqs, createOrderVo, shoppingCartGoodsDto, storeResponseDto); originalAmount = convertCreateOrderCost(originalAmount, orderSettlementCreateReqList, orderCostCreateReqs, createOrderVo, shoppingCartGoodsDto, storeResponseDto);
...@@ -1292,7 +1293,7 @@ public class CreateOrderAdapter { ...@@ -1292,7 +1293,7 @@ public class CreateOrderAdapter {
} }
private Long convertCreateOrderCost(Long originalAmount, List<OrderSettlementCreateReq> orderSettlementCreateReqList, List<OrderCostCreateReq> orderCostCreateReqs, private Long convertCreateOrderCost(Long originalAmount, List<OrderSettlementCreateReq> orderSettlementCreateReqList, List<OrderCostCreateReq> orderCostCreateReqs,
CreateOrderBaseVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, StoreResponse.BizVO storeResponseDto) { CreateOrderBaseVo createOrderVo, ShoppingCartGoodsDto shoppingCartGoodsDto, StoreResponseDto storeResponseDto) {
boolean hasDeliveryMonthCard = false; boolean hasDeliveryMonthCard = false;
for (ActivityDiscountsDto activityDiscountsDto : shoppingCartGoodsDto.getActivityDiscountsDtos()) { for (ActivityDiscountsDto activityDiscountsDto : shoppingCartGoodsDto.getActivityDiscountsDtos()) {
......
...@@ -112,11 +112,11 @@ public class OrderController { ...@@ -112,11 +112,11 @@ public class OrderController {
/** /**
* 扫脸支付下单 * 扫脸支付下单
*/ */
@ApiAnnotation(logMessage = "scanFaceCreateOrder") // @ApiAnnotation(logMessage = "scanFaceCreateOrder")
@PostMapping("/scanFaceCreateOrder") // @PostMapping("/scanFaceCreateOrder")
public BaseResponse scanFaceCreateOrder(@Validated @LogParams @RequestBody CreateOrderVo createOrderVo) { // public BaseResponse scanFaceCreateOrder(@Validated @LogParams @RequestBody CreateOrderVo createOrderVo) {
return orderservice.scanFaceCreateOrder(createOrderVo); // return orderservice.scanFaceCreateOrder(createOrderVo);
} // }
/** /**
* APP下单,下单带商品信息,不经过购物车服务,不唤起支付 * APP下单,下单带商品信息,不经过购物车服务,不唤起支付
......
package cn.freemud.entities.bo;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderVo;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import lombok.Data;
@Data
public class CreateOrderBONew {
private CreateOrderVo createOrderVo;
private AssortmentCustomerInfoVo customerInfoVo;
private StoreMixResponseDto storeMixResponseDto;
private ShoppingCartGoodsDto shoppingCartGoodsDto;
private AssortmentCustomerInfoVo userLoginInfoDto;
private OrderExtInfoDto extInfo;
public CreateOrderBONew() {
}
public CreateOrderBONew(CreateOrderVo createOrderVo) {
this.createOrderVo = createOrderVo;
}
}
package cn.freemud.entities.bo; package cn.freemud.entities.bo;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.order.CreateOrderOperateDto; import cn.freemud.entities.dto.order.CreateOrderOperateDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CreateOrderBaseVo; import cn.freemud.entities.vo.CreateOrderBaseVo;
...@@ -28,7 +29,7 @@ public class CreateOrderBo { ...@@ -28,7 +29,7 @@ public class CreateOrderBo {
private ShoppingCartGoodsDto shoppingCartGoodsDto; private ShoppingCartGoodsDto shoppingCartGoodsDto;
private StoreResponse.BizVO storeResponseDto; private StoreResponseDto storeResponseDto;
private OrderExtInfoDto extInfo; private OrderExtInfoDto extInfo;
......
...@@ -144,4 +144,12 @@ public class StoreResponseDto { ...@@ -144,4 +144,12 @@ public class StoreResponseDto {
* 最大接单量,单位笔 * 最大接单量,单位笔
*/ */
private Integer maxOrderQuantity; private Integer maxOrderQuantity;
private String businessType;
private String thirdPartCode;
private String storeNameEn;
private String benefitCardDiscountAmount;
} }
...@@ -87,6 +87,7 @@ public class CreateOrderVo { ...@@ -87,6 +87,7 @@ public class CreateOrderVo {
/** /**
* 渠道 1 saas 2 支付宝 3. iwc i围餐 5 头条 * 渠道 1 saas 2 支付宝 3. iwc i围餐 5 头条
* @see cn.freemud.enums.ChannelEnum
*/ */
private String channel; private String channel;
/** /**
......
...@@ -29,7 +29,7 @@ public interface Orderservice extends OrderFactoryService{ ...@@ -29,7 +29,7 @@ public interface Orderservice extends OrderFactoryService{
*/ */
// BaseResponse createOrderNew(CreateOrderVo createOrderVo); // BaseResponse createOrderNew(CreateOrderVo createOrderVo);
BaseResponse scanFaceCreateOrder(CreateOrderVo createOrderVo); // BaseResponse scanFaceCreateOrder(CreateOrderVo createOrderVo);
/** /**
* 支付回调 * 支付回调
......
package cn.freemud.service.adapter; package cn.freemud.service.adapter;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.enums.ResponseResult; import cn.freemud.enums.ResponseResult;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
...@@ -20,4 +21,19 @@ public abstract class AbstractOrderCheck implements OrderCheck { ...@@ -20,4 +21,19 @@ public abstract class AbstractOrderCheck implements OrderCheck {
} }
} }
/**
* 校验门店状态
* @param bizVO
*/
void doStoreStateCheck(StoreResponseDto bizVO) {
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休
if (!Objects.equals(bizVO.getState(), "1")) {
throw new ServiceException(ResponseResult.STORE_MAKE_AN_APPOINTMENT_STOP_BUSINESS);
// 营业
} else {
throw new ServiceException(ResponseResult.STORE_MAKE_AN_APPOINTMENT_OPEN_BUSINESS);
}
}
} }
package cn.freemud.service.adapter; package cn.freemud.service.adapter;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.enums.CreateOrderType; import cn.freemud.enums.CreateOrderType;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
/** /**
* 订单检查 * 订单检查
...@@ -20,7 +21,10 @@ public interface OrderCheck { ...@@ -20,7 +21,10 @@ public interface OrderCheck {
/** /**
* 检查 * 检查
* @param vo * @param vo
* @param storeResponse * @param storeMixResponseDto
*/ */
void check(CreateOrderVo vo, StoreResponse storeResponse) throws ServiceException; void check(CreateOrderVo vo, StoreMixResponseDto storeMixResponseDto) throws ServiceException;
void check(CreateOrderBONew vo) throws ServiceException;
} }
package cn.freemud.service.adapter; package cn.freemud.service.adapter;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.store.BusinessInfoDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderBaseVo; import cn.freemud.entities.vo.CreateOrderBaseVo;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
...@@ -19,13 +22,51 @@ public class OrderCheckAdapter { ...@@ -19,13 +22,51 @@ public class OrderCheckAdapter {
static ArrayList<OrderCheck> orderCheckList = Lists.newArrayList(new ToStoreCheck(), new TakeOutOrderCheck()); static ArrayList<OrderCheck> orderCheckList = Lists.newArrayList(new ToStoreCheck(), new TakeOutOrderCheck());
// /***
// * 校验预约单门店数据
// * @param vo
// * @param storeResponse
// * @throws ServiceException 抛出异常校验异常数据
// */
// public static void check(CreateOrderVo vo, StoreResponse storeResponse) throws ServiceException {
// // fisherman-ka 预定单的校验 未完成 --> 这里移动了位置
//// if (Objects.nonNull(vo.getBizType())
//// && BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(vo.getBizType()) == 0) {
//// // 伪代码 判断 门店是否开启了 预定单服务
//// // 开启了预定单服务, 不走下面的检验
//// // 没开启 抛出异常
//// }
// //非预约单的过滤
// if (Objects.isNull(vo.getOrderType()) ||
// (!Objects.equals(vo.getTakeMealFlag(), "1"))) {
// return;
// }
// // 预定单 不校验 下面的预约单
// if (Objects.nonNull(vo.getBizType())
// && BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(vo.getBizType()) == 0) {
// return;
// }
// StoreResponse.Configuration configuration = storeResponse.getBizVO().getStoreConfig();
// if(Objects.isNull(configuration)){
// //针对老数据没有配置 预约单默认支持,直接返回不校验
// AppLogUtil.infoLog("商户:{} shopId:{},没有配置预约单",vo.getPartnerId(),vo.getShopId());
// return;
// }
// for (OrderCheck orderCheck : orderCheckList) {
// if (orderCheck.support(vo.getOrderType())) {
// orderCheck.check(vo, storeResponse);
// return;
// }
// }
// }
/*** /***
* 校验预约单门店数据 * 校验预约单门店数据
* @param vo * @param vo
* @param storeResponse * @param storeResponse
* @throws ServiceException 抛出异常校验异常数据 * @throws ServiceException 抛出异常校验异常数据
*/ */
public static void check(CreateOrderVo vo, StoreResponse storeResponse) throws ServiceException { public static void check(CreateOrderBONew createOrderBo) throws ServiceException {
// fisherman-ka 预定单的校验 未完成 --> 这里移动了位置 // fisherman-ka 预定单的校验 未完成 --> 这里移动了位置
// if (Objects.nonNull(vo.getBizType()) // if (Objects.nonNull(vo.getBizType())
// && BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(vo.getBizType()) == 0) { // && BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(vo.getBizType()) == 0) {
...@@ -33,6 +74,10 @@ public class OrderCheckAdapter { ...@@ -33,6 +74,10 @@ public class OrderCheckAdapter {
// // 开启了预定单服务, 不走下面的检验 // // 开启了预定单服务, 不走下面的检验
// // 没开启 抛出异常 // // 没开启 抛出异常
// } // }
CreateOrderVo vo = createOrderBo.getCreateOrderVo();
StoreMixResponseDto storeMixResponseDto = createOrderBo.getStoreMixResponseDto();
BusinessInfoDto businessInfo = storeMixResponseDto.getBusinessInfo();
//非预约单的过滤 //非预约单的过滤
if (Objects.isNull(vo.getOrderType()) || if (Objects.isNull(vo.getOrderType()) ||
(!Objects.equals(vo.getTakeMealFlag(), "1"))) { (!Objects.equals(vo.getTakeMealFlag(), "1"))) {
...@@ -43,39 +88,41 @@ public class OrderCheckAdapter { ...@@ -43,39 +88,41 @@ public class OrderCheckAdapter {
&& BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(vo.getBizType()) == 0) { && BizTypeEnum.ADVANCE_ORDER.getBizType().compareTo(vo.getBizType()) == 0) {
return; return;
} }
StoreResponse.Configuration configuration = storeResponse.getBizVO().getStoreConfig(); if(Objects.isNull(businessInfo)){
if(Objects.isNull(configuration)){
//针对老数据没有配置 预约单默认支持,直接返回不校验 //针对老数据没有配置 预约单默认支持,直接返回不校验
AppLogUtil.infoLog("商户:{} shopId:{},没有配置预约单",vo.getPartnerId(),vo.getShopId()); AppLogUtil.infoLog("商户:{} shopId:{},没有配置预约单",vo.getPartnerId(),vo.getShopId());
return; return;
} }
for (OrderCheck orderCheck : orderCheckList) { for (OrderCheck orderCheck : orderCheckList) {
if (orderCheck.support(vo.getOrderType())) { if (orderCheck.support(vo.getOrderType())) {
orderCheck.check(vo, storeResponse); orderCheck.check(createOrderBo);
return; return;
} }
} }
} }
/*** /***
* 校验预约单门店数据 优化订单接口冗余方法 * 校验预约单门店数据 优化订单接口冗余方法
* @param vo * @param vo
* @param storeResponse * @param storeMixResponseDto
* @throws ServiceException 抛出异常校验异常数据 * @throws ServiceException 抛出异常校验异常数据
*/ */
public static void check(CreateOrderBaseVo vo, StoreResponse storeResponse) throws ServiceException { public static void check(CreateOrderBaseVo vo, StoreMixResponseDto storeMixResponseDto) throws ServiceException {
//非预约单的过滤 //非预约单的过滤
if (Objects.isNull(vo.getOrderType()) || if (Objects.isNull(vo.getOrderType()) ||
(!Objects.equals(vo.getTakeMealFlag(), "1"))) { (!Objects.equals(vo.getTakeMealFlag(), "1"))) {
return; return;
} }
StoreResponse.Configuration configuration = storeResponse.getBizVO().getStoreConfig(); BusinessInfoDto businessInfo = storeMixResponseDto.getBusinessInfo();
if(Objects.isNull(configuration)){ if(Objects.isNull(businessInfo)){
//针对老数据没有配置 预约单默认支持,直接返回不校验 //针对老数据没有配置 预约单默认支持,直接返回不校验
return; return;
} }
for (OrderCheck orderCheck : orderCheckList) { for (OrderCheck orderCheck : orderCheckList) {
if (orderCheck.support(vo.getOrderType())) { if (orderCheck.support(vo.getOrderType())) {
orderCheck.check(null, storeResponse); orderCheck.check(null, storeMixResponseDto);
return; return;
} }
} }
......
package cn.freemud.service.adapter; package cn.freemud.service.adapter;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.store.BusinessInfoDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.enums.CreateOrderType; import cn.freemud.enums.CreateOrderType;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import java.util.Objects; import java.util.Objects;
...@@ -15,16 +18,27 @@ public class TakeOutOrderCheck extends AbstractOrderCheck { ...@@ -15,16 +18,27 @@ public class TakeOutOrderCheck extends AbstractOrderCheck {
public boolean support(int orderType) { public boolean support(int orderType) {
return CreateOrderType.TAKE_OUT.getCode() == orderType; return CreateOrderType.TAKE_OUT.getCode() == orderType;
} }
@Override @Override
public void check(CreateOrderVo vo, StoreResponse storeResponse) { public void check(CreateOrderVo vo, StoreMixResponseDto storeMixResponseDto) {
StoreResponse.BizVO bizVO = storeResponse.getBizVO(); StoreResponseDto storeInfo = storeMixResponseDto.getStoreInfo();
StoreResponse.Configuration storeConfig = bizVO.getStoreConfig(); BusinessInfoDto businessInfo = storeMixResponseDto.getBusinessInfo();
// 关闭预约单 // 关闭预约单
if (Objects.equals(storeConfig.getDeliveryAppoint(), 0)) { if (Objects.equals(businessInfo.getDeliveryAppoint(), 0)) {
super.doStoreStateCheck(bizVO); super.doStoreStateCheck(storeInfo);
} }
}
@Override
public void check(CreateOrderBONew createOrderBONew) {
StoreMixResponseDto storeMixResponseDto = createOrderBONew.getStoreMixResponseDto();
StoreResponseDto storeInfo = storeMixResponseDto.getStoreInfo();
BusinessInfoDto businessInfo = storeMixResponseDto.getBusinessInfo();
// 关闭预约单
if (Objects.equals(businessInfo.getDeliveryAppoint(), 0)) {
super.doStoreStateCheck(storeInfo);
}
} }
} }
package cn.freemud.service.adapter; package cn.freemud.service.adapter;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.store.BusinessInfoDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.enums.CreateOrderType; import cn.freemud.enums.CreateOrderType;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import java.util.Objects; import java.util.Objects;
...@@ -16,12 +19,24 @@ public class ToStoreCheck extends AbstractOrderCheck { ...@@ -16,12 +19,24 @@ public class ToStoreCheck extends AbstractOrderCheck {
} }
@Override @Override
public void check(CreateOrderVo vo, StoreResponse storeResponse) { public void check(CreateOrderVo vo, StoreMixResponseDto storeMixResponseDto) {
StoreResponse.BizVO bizVO = storeResponse.getBizVO(); StoreResponseDto storeInfo = storeMixResponseDto.getStoreInfo();
StoreResponse.Configuration storeConfig = bizVO.getStoreConfig(); BusinessInfoDto businessInfo = storeMixResponseDto.getBusinessInfo();
// 关闭预约单 // 关闭预约单
if (Objects.equals(storeConfig.getSelfMentionSwitch(), 0)) { if (Objects.equals(businessInfo.getSelfMentionSwitch(), 0)) {
super.doStoreStateCheck(bizVO); super.doStoreStateCheck(storeInfo);
}
}
@Override
public void check(CreateOrderBONew createOrderBONew) {
StoreMixResponseDto storeMixResponseDto = createOrderBONew.getStoreMixResponseDto();
StoreResponseDto storeInfo = storeMixResponseDto.getStoreInfo();
BusinessInfoDto businessInfo = storeMixResponseDto.getBusinessInfo();
// 关闭预约单
if (Objects.equals(businessInfo.getSelfMentionSwitch(), 0)) {
super.doStoreStateCheck(storeInfo);
} }
} }
......
...@@ -218,7 +218,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService { ...@@ -218,7 +218,6 @@ public class OrderBusinessServiceImpl implements OrderBusinessService {
public CreateOrderResponse createOrderFlow(CreateOrderRequest config) { public CreateOrderResponse createOrderFlow(CreateOrderRequest config) {
com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest request = orderSdkAdapter.convent2NEWCreateOrderRequest(config.getBaseCreateOrderRequest()); com.freemud.application.sdk.api.ordercenter.request.create.CreateOrderRequest request = orderSdkAdapter.convent2NEWCreateOrderRequest(config.getBaseCreateOrderRequest());
// AssortOrderLogUtil.info("fisherman 请求基础服务,最终构建 04",config!=null?JSON.toJSONString(config):null);
// fisherman 创建订单 extinfo 存储 信息,有数上报需要使用, 更新接口直接重新覆盖就行 // fisherman 创建订单 extinfo 存储 信息,有数上报需要使用, 更新接口直接重新覆盖就行
request.setExtInfo(this.getTempExtInfoMsg(config.getOpenId(),config.getBaseCreateOrderRequest().getAppId())); request.setExtInfo(this.getTempExtInfoMsg(config.getOpenId(),config.getBaseCreateOrderRequest().getAppId()));
OrderBaseResp<OrderInfoReqs> order = orderSdkService.createOrder(request, config.getTrackingNo()); OrderBaseResp<OrderInfoReqs> order = orderSdkService.createOrder(request, config.getTrackingNo());
......
...@@ -3,13 +3,16 @@ package cn.freemud.service.impl; ...@@ -3,13 +3,16 @@ package cn.freemud.service.impl;
import cn.freemud.adapter.OrderAdapter; import cn.freemud.adapter.OrderAdapter;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.ConfirmOrderDto; import cn.freemud.entities.dto.ConfirmOrderDto;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.coupon.InvalidCouponsRequestDto; import cn.freemud.entities.dto.coupon.InvalidCouponsRequestDto;
import cn.freemud.entities.dto.coupon.InvalidCouponsResponseDto; import cn.freemud.entities.dto.coupon.InvalidCouponsResponseDto;
import cn.freemud.entities.dto.order.CreateOrderOperateDto; import cn.freemud.entities.dto.order.CreateOrderOperateDto;
import cn.freemud.entities.dto.order.CreatePrepayRequestDto; import cn.freemud.entities.dto.order.CreatePrepayRequestDto;
import cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto; import cn.freemud.entities.dto.shoppingCart.ActivityDiscountsDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.OrderStatus; import cn.freemud.enums.OrderStatus;
import cn.freemud.enums.PayStatus; import cn.freemud.enums.PayStatus;
...@@ -18,6 +21,7 @@ import cn.freemud.enums.TradeState; ...@@ -18,6 +21,7 @@ import cn.freemud.enums.TradeState;
import cn.freemud.interceptor.ServiceException; import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.AppOrderService; import cn.freemud.service.AppOrderService;
import cn.freemud.service.StoreService;
import cn.freemud.service.thirdparty.CouponOnlineClient; import cn.freemud.service.thirdparty.CouponOnlineClient;
import cn.freemud.utils.BeanUtil; import cn.freemud.utils.BeanUtil;
import cn.freemud.utils.RedisUtil; import cn.freemud.utils.RedisUtil;
...@@ -89,9 +93,8 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -89,9 +93,8 @@ public class AppOrderServiceImpl implements AppOrderService {
@Autowired @Autowired
private RedisService redisService; private RedisService redisService;
//门店SDK
@Autowired @Autowired
private StoreCenterService storeCenterService; private StoreServiceImpl storeService;
@Autowired @Autowired
private OrderSdkService orderSdkService; private OrderSdkService orderSdkService;
...@@ -112,14 +115,17 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -112,14 +115,17 @@ public class AppOrderServiceImpl implements AppOrderService {
@Override @Override
public BaseResponse createOrder(CreateOrderVo createOrderVo) { public BaseResponse createOrder(CreateOrderVo createOrderVo) {
String trackingNo = LogThreadLocal.getTrackingNo(); String trackingNo = LogThreadLocal.getTrackingNo();
CreateOrderBONew createOrderBO = new CreateOrderBONew(createOrderVo);
// 查询用户信息 // 查询用户信息
AssortmentCustomerInfoVo userLoginInfoDto = checkOrder.checkOrderByMember(createOrderVo, trackingNo); AssortmentCustomerInfoVo userLoginInfoDto = checkOrder.checkOrderByMember(createOrderVo);
createOrderBO.setUserLoginInfoDto(userLoginInfoDto);
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号 // 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
StoreResponse.BizVO storeResponseDto = checkOrder.checkOrderByStore(createOrderVo, trackingNo); StoreResponseDto storeResponseDto = checkOrder.checkOrderByStore(createOrderBO).getStoreInfo();
// 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数 // 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数
ShoppingCartGoodsDto shoppingCartGoodsDto = checkOrder.getShoppingCartGoodsDto(createOrderVo); ShoppingCartGoodsDto shoppingCartGoodsDto = checkOrder.getShoppingCartGoodsDto(createOrderVo);
createOrderBO.setShoppingCartGoodsDto(shoppingCartGoodsDto);
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件 // 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件
Integer pushOrderTime = checkOrder.checkOrderByOrderType(createOrderVo, userLoginInfoDto, storeResponseDto, shoppingCartGoodsDto, trackingNo); Integer pushOrderTime = checkOrder.checkOrderByOrderType(createOrderBO);
//1.5.4版本,商品库存校验与扣库存 //1.5.4版本,商品库存校验与扣库存
//List<String> stockProductIds = checkOrder.getStockProductIdList(createOrderVo, shoppingCartGoodsDto); //List<String> stockProductIds = checkOrder.getStockProductIdList(createOrderVo, shoppingCartGoodsDto);
// 下单前检查优惠券是否可用 // 下单前检查优惠券是否可用
...@@ -135,9 +141,9 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -135,9 +141,9 @@ public class AppOrderServiceImpl implements AppOrderService {
} }
} }
OrderExtInfoDto extInfo = orderservice.getExtInfo(userLoginInfoDto, storeResponseDto, pushOrderTime, createOrderVo, shoppingCartGoodsDto); OrderExtInfoDto extInfo = orderservice.setOrderExtInfo(userLoginInfoDto, storeResponseDto, pushOrderTime, createOrderVo, shoppingCartGoodsDto);
//创建订单 //创建订单
BaseResponse createOrderOperateDtoResponse = orderservice.sdkCreateOrder(createOrderVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto); BaseResponse createOrderOperateDtoResponse = orderservice.sdkCreateOrder(createOrderBO);
if (createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null) { if (createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null) {
return createOrderOperateDtoResponse; return createOrderOperateDtoResponse;
} }
...@@ -184,13 +190,13 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -184,13 +190,13 @@ public class AppOrderServiceImpl implements AppOrderService {
String partnerId = createOrderReq.getPartnerId(); String partnerId = createOrderReq.getPartnerId();
String shopId = createOrderReq.getShopId(); String shopId = createOrderReq.getShopId();
// 获取门店信息 // 获取门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, shopId, null); StoreMixResponseDto storeMixResponseDto = storeService.getStoreInfoNew(partnerId, shopId, false);
StoreResponse storeResponse = storeCenterService.getStoreInfo(storeInfoRequest, trackingNo); if (storeMixResponseDto == null || storeMixResponseDto.getStoreInfo() == null) {
if (storeResponse == null || storeResponse.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND); throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
} }
StoreResponseDto storeResponse = storeMixResponseDto.getStoreInfo();
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号 // 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
checkOrder.checkOrderByStore(storeResponse.getBizVO()); checkOrder.checkOrderByStore(storeResponse);
/**蜜雪新增需求-->APP可以购买虚拟商品券业务逻辑**/ /**蜜雪新增需求-->APP可以购买虚拟商品券业务逻辑**/
OrderBeanV1 orderBean = new OrderBeanV1(); OrderBeanV1 orderBean = new OrderBeanV1();
if (createOrderReq.getBizType() != null && BizTypeEnum.SALE_COUPON.getBizType().equals(createOrderReq.getBizType())) { if (createOrderReq.getBizType() != null && BizTypeEnum.SALE_COUPON.getBizType().equals(createOrderReq.getBizType())) {
...@@ -224,14 +230,18 @@ public class AppOrderServiceImpl implements AppOrderService { ...@@ -224,14 +230,18 @@ public class AppOrderServiceImpl implements AppOrderService {
createOrderReq.getMenuType(), createOrderReq.getReachStoreType()); createOrderReq.getMenuType(), createOrderReq.getReachStoreType());
CreateOrderVo createOrderVo = new CreateOrderVo(); CreateOrderVo createOrderVo = new CreateOrderVo();
BeanUtil.convertBean(createOrderReq, createOrderVo); BeanUtil.convertBean(createOrderReq, createOrderVo);
createOrderVo.setStoreName(storeResponse.getBizVO().getStoreName()); CreateOrderBONew createOrderBO = new CreateOrderBONew(createOrderVo);
createOrderBO.setCustomerInfoVo(customerInfo);
createOrderBO.setStoreMixResponseDto(storeMixResponseDto);
createOrderBO.setShoppingCartGoodsDto(shoppingCartGoodsDto);
createOrderVo.setStoreName(storeResponse.getStoreName());
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满 足起送条件 // 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满 足起送条件
Integer pushOrderTime = checkOrder.checkOrderByOrderType(createOrderVo, customerInfo, storeResponse.getBizVO(), shoppingCartGoodsDto, trackingNo); Integer pushOrderTime = checkOrder.checkOrderByOrderType(createOrderBO);
//1.5.4版本,商品库存校验与扣库存 //1.5.4版本,商品库存校验与扣库存
//List<String> stockProductIds = checkOrder.getStockProductIdList(createOrderVo, shoppingCartGoodsDto); //List<String> stockProductIds = checkOrder.getStockProductIdList(createOrderVo, shoppingCartGoodsDto);
OrderExtInfoDto extInfo = orderservice.getExtInfo(customerInfo, storeResponse.getBizVO(), pushOrderTime, createOrderVo, shoppingCartGoodsDto); OrderExtInfoDto extInfo = orderAdapter.setOrderExtInfo(customerInfo, storeResponse, createOrderVo, shoppingCartGoodsDto);
//创建订单 //创建订单
BaseResponse createOrderOperateDtoResponse = orderservice.sdkCreateOrder(createOrderVo, storeResponse.getBizVO(), shoppingCartGoodsDto, customerInfo); BaseResponse createOrderOperateDtoResponse = orderservice.sdkCreateOrder(createOrderBO);
if (createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null) { if (createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null) {
return createOrderOperateDtoResponse; return createOrderOperateDtoResponse;
} }
......
...@@ -18,6 +18,7 @@ import cn.freemud.constant.StoreConstant; ...@@ -18,6 +18,7 @@ import cn.freemud.constant.StoreConstant;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.delivery.MCCafeDeliveryBaseResponse; import cn.freemud.entities.dto.delivery.MCCafeDeliveryBaseResponse;
import cn.freemud.entities.dto.delivery.MCCafeDeliveryGetStoreIdResponse; import cn.freemud.entities.dto.delivery.MCCafeDeliveryGetStoreIdResponse;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest; import cn.freemud.management.entities.dto.request.order.MCCafeCouponRequest;
import cn.freemud.entities.dto.order.BusinessDate; import cn.freemud.entities.dto.order.BusinessDate;
...@@ -79,6 +80,8 @@ public class CheckMCCafeOrder { ...@@ -79,6 +80,8 @@ public class CheckMCCafeOrder {
//门店SDK //门店SDK
@Autowired @Autowired
private StoreCenterService storeCenterService; private StoreCenterService storeCenterService;
@Autowired
private StoreServiceImpl storeService;
//会员SDK //会员SDK
@Autowired @Autowired
private MemberCenterService memberCenterService; private MemberCenterService memberCenterService;
...@@ -138,17 +141,16 @@ public class CheckMCCafeOrder { ...@@ -138,17 +141,16 @@ public class CheckMCCafeOrder {
/** /**
* 下单门店相关校验 * 下单门店相关校验
*/ */
public StoreResponse.BizVO checkOrderByStore(CreateOrderVo createOrderVo, String trackingNo) { public StoreResponseDto checkOrderByStore(CreateOrderVo createOrderVo) {
String partnerId = createOrderVo.getPartnerId(); String partnerId = createOrderVo.getPartnerId();
String shopId = createOrderVo.getShopId(); String shopId = createOrderVo.getShopId();
// 获取门店信息 // 获取门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, shopId,null); StoreMixResponseDto storeMixResponseDto = storeService.getStoreInfoNew(partnerId, shopId, true);
StoreResponse storeResponse = storeCenterService.getStoreInfo(storeInfoRequest, trackingNo); if (storeMixResponseDto == null || storeMixResponseDto.getStoreInfo() == null) {
if (storeResponse == null || storeResponse.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND); throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
} }
StoreResponse.BizVO storeResponseDto = storeResponse.getBizVO(); StoreResponseDto storeResponseDto = storeMixResponseDto.getStoreInfo();
// 校验门店是否营业 // 校验门店是否营业
if (storeResponseDto.getActiveFlag() == null || storeResponseDto.getActiveFlag() != 1 || storeResponseDto.getState() == null || storeResponseDto.getState().equals("3")) { if (storeResponseDto.getActiveFlag() == null || storeResponseDto.getActiveFlag() != 1 || storeResponseDto.getState() == null || storeResponseDto.getState().equals("3")) {
throw new ServiceException(ResponseResult.STORE_CLOSED_FOREVER); throw new ServiceException(ResponseResult.STORE_CLOSED_FOREVER);
...@@ -166,7 +168,7 @@ public class CheckMCCafeOrder { ...@@ -166,7 +168,7 @@ public class CheckMCCafeOrder {
* 下单订单类型校验 * 下单订单类型校验
*/ */
public Integer checkOrderByOrderType(CreateOrderVo createOrderVo, AssortmentCustomerInfoVo userLoginInfoDto, public Integer checkOrderByOrderType(CreateOrderVo createOrderVo, AssortmentCustomerInfoVo userLoginInfoDto,
StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, String trackingNo) { StoreResponseDto storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, String trackingNo) {
Integer pushOrderTime = 0; Integer pushOrderTime = 0;
//非到店或者外卖,类型错误 //非到店或者外卖,类型错误
if (!(CreateOrderType.COLLECT_GOODS.getCode().equals(createOrderVo.getOrderType()) || if (!(CreateOrderType.COLLECT_GOODS.getCode().equals(createOrderVo.getOrderType()) ||
...@@ -300,7 +302,7 @@ public class CheckMCCafeOrder { ...@@ -300,7 +302,7 @@ public class CheckMCCafeOrder {
return pushOrderTime; return pushOrderTime;
} }
public void checkOrderExpectTime(StoreResponse.BizVO storeResponseDto, Date takeMealDateTime) { public void checkOrderExpectTime(StoreResponseDto storeResponseDto, Date takeMealDateTime) {
if (takeMealDateTime == null) { if (takeMealDateTime == null) {
return; return;
} }
...@@ -330,7 +332,7 @@ public class CheckMCCafeOrder { ...@@ -330,7 +332,7 @@ public class CheckMCCafeOrder {
* @param storeResponseDto 店铺信息 * @param storeResponseDto 店铺信息
* @param expectTime 预约单送达时间/即时单下单时间 * @param expectTime 预约单送达时间/即时单下单时间
*/ */
private void checkTakeOutTime(StoreResponse.BizVO storeResponseDto, Date expectTime) { private void checkTakeOutTime(StoreResponseDto storeResponseDto, Date expectTime) {
//获取门店预约当天外卖时间 //获取门店预约当天外卖时间
List<String> deliveryTimes = storeCenterService.getBusinessTimeByDate(com.freemud.application.sdk.api.util.DateUtil.convert2String List<String> deliveryTimes = storeCenterService.getBusinessTimeByDate(com.freemud.application.sdk.api.util.DateUtil.convert2String
(expectTime, com.freemud.application.sdk.api.util.DateUtil.FORMAT_yyyyMMdd_date), storeResponseDto.getDeliveryHours()); (expectTime, com.freemud.application.sdk.api.util.DateUtil.FORMAT_yyyyMMdd_date), storeResponseDto.getDeliveryHours());
...@@ -640,7 +642,7 @@ public class CheckMCCafeOrder { ...@@ -640,7 +642,7 @@ public class CheckMCCafeOrder {
/** /**
* 获取门店配送信息 * 获取门店配送信息
*/ */
public StoreDeliveryInfoDto getNewStoreDeliveryInfo(StoreResponse.BizVO storeResponseDto, public StoreDeliveryInfoDto getNewStoreDeliveryInfo(StoreResponseDto storeResponseDto,
AssortmentOpenPlatformIappWxappConfig openPlatformIappWxappConfig, String wxAppid, String trackingNo) { AssortmentOpenPlatformIappWxappConfig openPlatformIappWxappConfig, String wxAppid, String trackingNo) {
StoreDeliveryInfoDto storeDeliveryInfoDto = new StoreDeliveryInfoDto(); StoreDeliveryInfoDto storeDeliveryInfoDto = new StoreDeliveryInfoDto();
storeDeliveryInfoDto.setPartnerId(storeResponseDto.getPartnerId()); storeDeliveryInfoDto.setPartnerId(storeResponseDto.getPartnerId());
......
...@@ -18,10 +18,12 @@ import cn.freemud.constant.ResponseCodeConstant; ...@@ -18,10 +18,12 @@ import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.constant.StoreConstant; import cn.freemud.constant.StoreConstant;
import cn.freemud.entities.dto.GetCouponDetailResponseDto; import cn.freemud.entities.dto.GetCouponDetailResponseDto;
import cn.freemud.entities.dto.StoreDeliveryInfoDto; import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto; import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto; import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto; import cn.freemud.entities.dto.shoppingCart.GetShoppingCartGoodsApportionDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.GetMemberCouponRequestVo; import cn.freemud.entities.vo.GetMemberCouponRequestVo;
import cn.freemud.entities.vo.ShoppingCartInfoRequestVo; import cn.freemud.entities.vo.ShoppingCartInfoRequestVo;
...@@ -69,6 +71,8 @@ public class CheckMallOrder { ...@@ -69,6 +71,8 @@ public class CheckMallOrder {
@Autowired @Autowired
private StoreCenterService storeCenterService; private StoreCenterService storeCenterService;
@Autowired @Autowired
private StoreServiceImpl storeService;
@Autowired
private CouponService couponService; private CouponService couponService;
/** /**
...@@ -98,16 +102,16 @@ public class CheckMallOrder { ...@@ -98,16 +102,16 @@ public class CheckMallOrder {
/** /**
* 下单门店相关校验 * 下单门店相关校验
*/ */
public StoreResponse.BizVO checkOrderByStore(CreateOrderVo createOrderVo, String trackingNo) { public StoreResponseDto checkOrderByStore(CreateOrderVo createOrderVo, String trackingNo) {
String partnerId = createOrderVo.getPartnerId(); String partnerId = createOrderVo.getPartnerId();
String shopId = createOrderVo.getShopId(); String shopId = createOrderVo.getShopId();
// 获取门店信息 // 获取门店信息
StoreResponse storeResponse = getStoreInfo(partnerId, shopId, trackingNo); StoreMixResponseDto storeMixResponseDto = storeService.getStoreInfoNew(partnerId, shopId, false);
if (storeResponse == null || storeResponse.getBizVO() == null) { if (storeMixResponseDto == null || storeMixResponseDto.getStoreInfo() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND); throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
} }
StoreResponse.BizVO storeResponseDto = storeResponse.getBizVO(); StoreResponseDto storeResponseDto= storeMixResponseDto.getStoreInfo();
// 校验门店是否停业 1 营业 2 停业 3 繁忙置休 // 校验门店是否停业 1 营业 2 停业 3 繁忙置休
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);
...@@ -145,7 +149,7 @@ public class CheckMallOrder { ...@@ -145,7 +149,7 @@ public class CheckMallOrder {
* 下单配送相关校验 * 下单配送相关校验
*/ */
public void checkOrderByDelivery(CreateOrderVo createOrderVo, AssortmentCustomerInfoVo userLoginInfoDto, public void checkOrderByDelivery(CreateOrderVo createOrderVo, AssortmentCustomerInfoVo userLoginInfoDto,
StoreResponse.BizVO storeResponseDto,Long totalAmount, String trackingNo) { StoreResponseDto storeResponseDto,Long totalAmount, String trackingNo) {
// StoreDeliveryInfoDto storeDeliveryInfoDto = this.getStoreDeliveryInfo(storeResponseDto, userLoginInfoDto.getWxAppId()); // StoreDeliveryInfoDto storeDeliveryInfoDto = this.getStoreDeliveryInfo(storeResponseDto, userLoginInfoDto.getWxAppId());
// //订单金额小于起送费提示 // //订单金额小于起送费提示
// if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) { // if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) {
......
...@@ -5,6 +5,7 @@ import cn.freemud.base.util.DateUtil; ...@@ -5,6 +5,7 @@ import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.StoreConstant; import cn.freemud.constant.StoreConstant;
import cn.freemud.entities.bo.CreateOrderBo; import cn.freemud.entities.bo.CreateOrderBo;
import cn.freemud.entities.dto.StoreDeliveryInfoDto; import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto; import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto; import cn.freemud.entities.dto.delivery.WeixinDeliveryAddressDto;
import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse; import cn.freemud.entities.dto.ecology.VirtualBindStoreResponse;
...@@ -72,11 +73,11 @@ public class CheckOrderSaasMall extends CheckOrderUniversal { ...@@ -72,11 +73,11 @@ public class CheckOrderSaasMall extends CheckOrderUniversal {
* @return * @return
*/ */
@Override @Override
protected StoreResponse.BizVO checkOrderByStore(CreateOrderBo createOrderBo, String trackingNo, boolean isCheck) { protected StoreResponseDto checkOrderByStore(CreateOrderBo createOrderBo, String trackingNo, boolean isCheck) {
// 设置门店id为商城的虚拟门店id // 设置门店id为商城的虚拟门店id
this.change2BindMallShopId(createOrderBo.getCreateOrderBaseVo(), createOrderBo.getUserLoginInfoDto().getWxAppId()); this.change2BindMallShopId(createOrderBo.getCreateOrderBaseVo(), createOrderBo.getUserLoginInfoDto().getWxAppId());
StoreResponse.BizVO storeResponseDto = super.checkOrderByStore(createOrderBo, trackingNo, false); StoreResponseDto storeResponseDto = super.checkOrderByStore(createOrderBo, trackingNo, false);
if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState())) { if (!StoreConstant.BUSINESS.equals(storeResponseDto.getState())) {
throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE); throw new ServiceException(ResponseResult.STORE_ITEM_CHECK_CLOSE);
...@@ -104,7 +105,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal { ...@@ -104,7 +105,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal {
createOrderBaseVo.setShopId(virtualBindStoreResponse.getResult().getStoreId()); createOrderBaseVo.setShopId(virtualBindStoreResponse.getResult().getStoreId());
} }
private void setBeginAndEndTime(StoreResponse.BizVO storeResponseDto) { private void setBeginAndEndTime(StoreResponseDto storeResponseDto) {
String businessHourStr = storeResponseDto.getBusinessHoursDay().replace("-", ",").replace("_", ","); String businessHourStr = storeResponseDto.getBusinessHoursDay().replace("-", ",").replace("_", ",");
String[] businessHours = businessHourStr.split(","); String[] businessHours = businessHourStr.split(",");
if (businessHours.length != 2) { if (businessHours.length != 2) {
...@@ -150,7 +151,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal { ...@@ -150,7 +151,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal {
@Override @Override
public void checkCustomCreateOrderParam(CreateOrderBo createOrderBo) { public void checkCustomCreateOrderParam(CreateOrderBo createOrderBo) {
// 查询商城的配送模板信息,校验订单是否满足配送条件 // 查询商城的配送模板信息,校验订单是否满足配送条件
StoreResponse.BizVO storeResponseDto = createOrderBo.getStoreResponseDto(); StoreResponseDto storeResponseDto = createOrderBo.getStoreResponseDto();
CreateOrderBaseVo createOrderBaseVo = createOrderBo.getCreateOrderBaseVo(); CreateOrderBaseVo createOrderBaseVo = createOrderBo.getCreateOrderBaseVo();
AssortmentCustomerInfoVo userLoginInfoDto = createOrderBo.getUserLoginInfoDto(); AssortmentCustomerInfoVo userLoginInfoDto = createOrderBo.getUserLoginInfoDto();
ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto(); ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto();
...@@ -162,7 +163,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal { ...@@ -162,7 +163,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal {
} }
private void checkOrderByDelivery(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto, Long totalAmount, String trackingNo) { private void checkOrderByDelivery(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto, StoreResponseDto storeResponseDto, Long totalAmount, String trackingNo) {
StoreDeliveryInfoDto storeDeliveryInfoDto = this.getStoreDeliveryInfo(storeResponseDto, userLoginInfoDto.getWxAppId()); StoreDeliveryInfoDto storeDeliveryInfoDto = this.getStoreDeliveryInfo(storeResponseDto, userLoginInfoDto.getWxAppId());
//订单金额小于起送费提示 //订单金额小于起送费提示
if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) { if (storeDeliveryInfoDto.getDeliveryLimitAmount() > totalAmount) {
...@@ -203,7 +204,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal { ...@@ -203,7 +204,7 @@ public class CheckOrderSaasMall extends CheckOrderUniversal {
createOrderVo.setUserDeliveryInfoDto(userDeliveryInfoDto); createOrderVo.setUserDeliveryInfoDto(userDeliveryInfoDto);
} }
private StoreDeliveryInfoDto getStoreDeliveryInfo(StoreResponse.BizVO storeResponseDto, String wxAppId) { private StoreDeliveryInfoDto getStoreDeliveryInfo(StoreResponseDto storeResponseDto, String wxAppId) {
StoreDeliveryInfoDto storeDeliveryInfoDto = new StoreDeliveryInfoDto(); StoreDeliveryInfoDto storeDeliveryInfoDto = new StoreDeliveryInfoDto();
storeDeliveryInfoDto.setPartnerId(storeResponseDto.getPartnerId()); storeDeliveryInfoDto.setPartnerId(storeResponseDto.getPartnerId());
storeDeliveryInfoDto.setStoreId(storeResponseDto.getStoreCode()); storeDeliveryInfoDto.setStoreId(storeResponseDto.getStoreCode());
......
...@@ -5,6 +5,7 @@ import cn.freemud.adapter.OrderAdapter; ...@@ -5,6 +5,7 @@ import cn.freemud.adapter.OrderAdapter;
import cn.freemud.base.entity.BaseResponse; import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.UpdateReserveOrderResponseVo; import cn.freemud.entities.UpdateReserveOrderResponseVo;
import cn.freemud.entities.bo.CreateOrderBONew;
import cn.freemud.entities.dto.*; import cn.freemud.entities.dto.*;
import cn.freemud.entities.dto.pay.svc.SVCCardAmountRequestDto; import cn.freemud.entities.dto.pay.svc.SVCCardAmountRequestDto;
import cn.freemud.entities.dto.pay.svc.SVCCardAmountResponseDto; import cn.freemud.entities.dto.pay.svc.SVCCardAmountResponseDto;
...@@ -173,7 +174,8 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -173,7 +174,8 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
//查询门店服务获取门店信息(营业时间,营业状态) //查询门店服务获取门店信息(营业时间,营业状态)
createOrderVo.setPartnerId(assortmentCustomerInfoVo.getPartnerId()); createOrderVo.setPartnerId(assortmentCustomerInfoVo.getPartnerId());
createOrderVo.setShopId(assortmentCustomerInfoVo.getStoreId()); createOrderVo.setShopId(assortmentCustomerInfoVo.getStoreId());
StoreResponse.BizVO storeResponseDto = checkOrder.checkOrderByStore(createOrderVo, LogThreadLocal.getTrackingNo()); CreateOrderBONew createOrderBO = new CreateOrderBONew(createOrderVo);
StoreResponseDto storeResponseDto = checkOrder.checkOrderByStore(createOrderBO).getStoreInfo();
//桌号状态已锁定则给出对应状态码 //桌号状态已锁定则给出对应状态码
GetStoreTableRequest storeTableListRequest = new GetStoreTableRequest(); GetStoreTableRequest storeTableListRequest = new GetStoreTableRequest();
storeTableListRequest.setPartnerId(createOrderVo.getPartnerId()); storeTableListRequest.setPartnerId(createOrderVo.getPartnerId());
...@@ -256,7 +258,8 @@ public class EncircleOrderServiceImpl implements EncircleOrderService { ...@@ -256,7 +258,8 @@ public class EncircleOrderServiceImpl implements EncircleOrderService {
* 创建预订单 * 创建预订单
* @return * @return
*/ */
private CreateOrderResponse createGroupOrderInfo(CreateOrderVo createOrderVo,AssortmentCustomerInfoVo assortmentCustomerInfoVo,ShopBaseResponseDto<List<ProductListDto.DataBean>> dishWareProductList,StoreResponse.BizVO storeResponseDto){ private CreateOrderResponse createGroupOrderInfo(CreateOrderVo createOrderVo,AssortmentCustomerInfoVo assortmentCustomerInfoVo,
ShopBaseResponseDto<List<ProductListDto.DataBean>> dishWareProductList,StoreResponseDto storeResponseDto){
//组装预订单(未支付订单)信息 调用订单订单基础服务创建预订单--调用订单基础服务新开接口 //组装预订单(未支付订单)信息 调用订单订单基础服务创建预订单--调用订单基础服务新开接口
AssortmentGroupCreateOrderRequest groupCreateOrderRequest = new AssortmentGroupCreateOrderRequest(); AssortmentGroupCreateOrderRequest groupCreateOrderRequest = new AssortmentGroupCreateOrderRequest();
groupCreateOrderRequest.setDinersNumber(createOrderVo.getPeopleNumber()); groupCreateOrderRequest.setDinersNumber(createOrderVo.getPeopleNumber());
......
...@@ -339,7 +339,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -339,7 +339,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
// 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数 // 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数
ShoppingCartGoodsDto shoppingCartGoodsDto = checkMCCafeOrder.getMCCafeShoppingCartGoodsDto(createOrderVo, userLoginInfoDto); ShoppingCartGoodsDto shoppingCartGoodsDto = checkMCCafeOrder.getMCCafeShoppingCartGoodsDto(createOrderVo, userLoginInfoDto);
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 // 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内
StoreResponse.BizVO storeResponseDto = checkMCCafeOrder.checkOrderByStore(createOrderVo, trackingNo); StoreResponseDto storeResponseDto = checkMCCafeOrder.checkOrderByStore(createOrderVo);
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件 // 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件
Integer pushOrderTime = checkMCCafeOrder.checkOrderByOrderType(createOrderVo, userLoginInfoDto, storeResponseDto, shoppingCartGoodsDto, trackingNo); Integer pushOrderTime = checkMCCafeOrder.checkOrderByOrderType(createOrderVo, userLoginInfoDto, storeResponseDto, shoppingCartGoodsDto, trackingNo);
OrderExtInfoDto extInfo = getExtInfo(userLoginInfoDto, storeResponseDto, pushOrderTime, createOrderVo); OrderExtInfoDto extInfo = getExtInfo(userLoginInfoDto, storeResponseDto, pushOrderTime, createOrderVo);
...@@ -351,7 +351,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -351,7 +351,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto)createOrderOperateDtoResponse.getResult(); CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto)createOrderOperateDtoResponse.getResult();
//创建支付 //创建支付
CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(createOrderVo.getPartnerId(), userLoginInfoDto.getWxAppId(), userLoginInfoDto.getOpenId(), CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(createOrderVo.getPartnerId(), userLoginInfoDto.getWxAppId(), userLoginInfoDto.getOpenId(),
createOrderVo.getFaceCode(), createOrderVo.getCardCode(), null, null, createOrderVo.getCardCode(), null,
createOrderOperateDto.getFatherOrderBean(), createOrderOperateDto.getProductOrderBean(), createOrderOperateDto.getFatherOrderBean(), createOrderOperateDto.getProductOrderBean(),
createOrderOperateDto.getTotalAmount() == null ? 0 : createOrderOperateDto.getTotalAmount(), createOrderOperateDto.getTotalAmount() == null ? 0 : createOrderOperateDto.getTotalAmount(),
createOrderOperateDto.getCardAmount() == null ? 0 : createOrderOperateDto.getCardAmount(), extInfo, createOrderOperateDto.getCardAmount() == null ? 0 : createOrderOperateDto.getCardAmount(), extInfo,
...@@ -633,10 +633,10 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -633,10 +633,10 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
* *
* @return * @return
*/ */
public BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, public BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponseDto storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
AssortmentCustomerInfoVo userLoginInfoDto) { AssortmentCustomerInfoVo userLoginInfoDto) {
CreateOrderOperateDto response = new CreateOrderOperateDto(); CreateOrderOperateDto response = new CreateOrderOperateDto();
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto); OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfoNew(storeResponseDto);
OrderClientType orderClient = OrderClientType.SAAS; OrderClientType orderClient = OrderClientType.SAAS;
String appId = userLoginInfoDto.getWxAppId(); String appId = userLoginInfoDto.getWxAppId();
if(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel()) ){ if(UserLoginChannelEnum.ALIPAY.getCode().equals(userLoginInfoDto.getChannel()) ){
...@@ -717,7 +717,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -717,7 +717,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
/** /**
* 创建普通订单 * 创建普通订单
*/ */
public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, public CreateOrderResponse createOrder(CreateOrderVo createOrderVo, StoreResponseDto storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
OrderExtendedReq orderExtendedReq, OrderClientType orderClient,String appId) { OrderExtendedReq orderExtendedReq, OrderClientType orderClient,String appId) {
// processRepeatGoodsWithSeedCoupon(shoppingCartGoodsDto); // processRepeatGoodsWithSeedCoupon(shoppingCartGoodsDto);
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto, storeResponseDto);
...@@ -896,7 +896,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService { ...@@ -896,7 +896,7 @@ public class MCCafeOrderServiceImpl implements MCCafeOrderService {
return paymentRequest; return paymentRequest;
} }
private OrderExtInfoDto getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto, private OrderExtInfoDto getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponseDto storeResponseDto,
Integer pushOrderTime, CreateOrderVo createOrderVo) { Integer pushOrderTime, CreateOrderVo createOrderVo) {
Integer serviceTime = storeResponseDto.getServiceTime(); Integer serviceTime = storeResponseDto.getServiceTime();
......
...@@ -172,7 +172,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -172,7 +172,7 @@ public class MallOrderServiceImpl implements MallOrderService {
// 设置门店id为商城的虚拟门店id // 设置门店id为商城的虚拟门店id
this.change2BindMallShopId(createOrderVo, userLoginInfoDto.getWxAppId()); this.change2BindMallShopId(createOrderVo, userLoginInfoDto.getWxAppId());
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号 // 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
StoreResponse.BizVO storeResponseDto = checkMallOrder.checkOrderByStore(createOrderVo, trackingNo); StoreResponseDto storeResponseDto = checkMallOrder.checkOrderByStore(createOrderVo, trackingNo);
// 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数 // 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数
ShoppingCartGoodsDto shoppingCartGoodsDto = checkMallOrder.getShoppingCartGoodsDto(createOrderVo); ShoppingCartGoodsDto shoppingCartGoodsDto = checkMallOrder.getShoppingCartGoodsDto(createOrderVo);
// 查询商城的配送模板信息,校验订单是否满足配送条件 // 查询商城的配送模板信息,校验订单是否满足配送条件
...@@ -259,7 +259,7 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -259,7 +259,7 @@ public class MallOrderServiceImpl implements MallOrderService {
createOrderVo.setShopId(virtualBindStoreResponse.getResult().getStoreId()); createOrderVo.setShopId(virtualBindStoreResponse.getResult().getStoreId());
} }
private OrderExtInfoDto getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) { private OrderExtInfoDto getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponseDto storeResponseDto, CreateOrderVo createOrderVo) {
String sessionId = createOrderVo.getSessionId(); String sessionId = createOrderVo.getSessionId();
String version = createOrderVo.getVersion(); String version = createOrderVo.getVersion();
...@@ -272,8 +272,8 @@ public class MallOrderServiceImpl implements MallOrderService { ...@@ -272,8 +272,8 @@ public class MallOrderServiceImpl implements MallOrderService {
return orderExtInfoDto; return orderExtInfoDto;
} }
private BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDto orderExtInfoDTO) { private BaseResponse sdkCreateOrder(CreateOrderVo createOrderVo, StoreResponseDto storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDto orderExtInfoDTO) {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(storeResponseDto); OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfoNew(storeResponseDto);
//创建普通订单 //创建普通订单
Function<Object, CreateOrderResponse> createOrder = (var -> { Function<Object, CreateOrderResponse> createOrder = (var -> {
BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,storeResponseDto); BaseCreateOrderRequest baseCreateOrderRequest = orderAdapter.convent2CreateOrderDto(createOrderVo, shoppingCartGoodsDto,storeResponseDto);
......
...@@ -189,7 +189,6 @@ public class OrderAdapterServiceImpl { ...@@ -189,7 +189,6 @@ public class OrderAdapterServiceImpl {
if (!"wc".equals(createOrderVo.getChannelType()) && if (!"wc".equals(createOrderVo.getChannelType()) &&
!partnerIds.isEmpty() && partnerIds.contains(createOrderVo.getPartnerId()) !partnerIds.isEmpty() && partnerIds.contains(createOrderVo.getPartnerId())
&& !storeIds.isEmpty() && storeIds.contains(createOrderVo.getShopId())) { && !storeIds.isEmpty() && storeIds.contains(createOrderVo.getShopId())) {
// AppLogUtil.infoLog("进入新订单创建流程", createOrderVo,null);
return this.createOrderUniversal(com.freemud.application.sdk.api.util.MapUtils.java2Map(createOrderVo)); return this.createOrderUniversal(com.freemud.application.sdk.api.util.MapUtils.java2Map(createOrderVo));
} }
// 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁 // 添加分布式锁,如果没有取得锁直接返回失败;整个方法执行完毕后会删掉该锁
......
...@@ -165,6 +165,9 @@ public class PayServiceImpl { ...@@ -165,6 +165,9 @@ public class PayServiceImpl {
} else if (totalAmount > 0 && Objects.nonNull(createPrepayRequestDto.getUnionPayCard())) { } else if (totalAmount > 0 && Objects.nonNull(createPrepayRequestDto.getUnionPayCard())) {
// 电子风味卡支付 // 电子风味卡支付
orderPayResponse = uSvcPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getUnionPayCard()); orderPayResponse = uSvcPay(createPrepayRequestDto.getFatherOrderBean(), paymentRequest, transId, LogThreadLocal.getTrackingNo(), createPrepayRequestDto.getUnionPayCard());
// } else if (totalAmount > 0 && StringUtils.isNotBlank(createPrepayRequestDto.getFaceCode())) {
//扫脸支付
// orderPayResponse = facePay(createPrepayRequestDto.getFaceCode(), createPrepayRequestDto.getProductOrderBean(), paymentRequest, LogThreadLocal.getTrackingNo());
} else if (totalAmount > 0 && StringUtils.isBlank(cardCode)) { } else if (totalAmount > 0 && StringUtils.isBlank(cardCode)) {
//现金线上支付 //现金线上支付
String partnerPayOvertime = this.getPartnerPayOvertime(createPrepayRequestDto.getPartnerId()); String partnerPayOvertime = this.getPartnerPayOvertime(createPrepayRequestDto.getPartnerId());
...@@ -230,65 +233,6 @@ public class PayServiceImpl { ...@@ -230,65 +233,6 @@ public class PayServiceImpl {
} }
/**
* 下单支付 扫脸支付 (目前不在使用)
*/
// TODO: 21-9-17 待合并
public BaseResponse createOrderPay(CreateOrderVo createOrderVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto,
AssortmentCustomerInfoVo userLoginInfoDto, OrderExtInfoDto orderExtInfoDTO, CreateOrderOperateDto operateDto) {
//创建订单--包括下单购买会员卡创建父子订单
long totalAmount = operateDto.getTotalAmount();
int cardAmount = operateDto.getCardAmount();
OrderBeanV1 fatherOrderBean = operateDto.getFatherOrderBean();
OrderBeanV1 productOrderBean = operateDto.getProductOrderBean();
//支付-- 包含商品券无需支付、唤起微信支付、储值卡支付直接支付、扫脸支付
OrderPayResponse orderPayResponse = pay(userLoginInfoDto, createOrderVo, totalAmount, cardAmount, fatherOrderBean);
// 默认支付成功必有非码订单号
if (orderPayResponse == null || Objects.isNull(orderPayResponse.getFmId())) {
if (createOrderVo.getFaceCode() != null) {
createOrderVo.setCardCode(createOrderVo.getFaceCode());
}
BaseResponse baseResponse = failPreOrderPay(LogThreadLocal.getTrackingNo(), productOrderBean, createOrderVo.getCardCode(), null,
Objects.isNull(orderPayResponse) ? null : orderPayResponse.getMsg());
// 电子风味卡需要给用户特殊的返回
if (totalAmount > 0 && Objects.nonNull(createOrderVo.getUnionPayCard())) {
baseResponse.setMessage(Objects.nonNull(orderPayResponse) &&
(ResponseCodeConstant.PASSWORD_WRONG.equals(orderPayResponse.getPayTransId())
|| ResponseCodeConstant.NOT_SUFFICIENT_FUND.equals(orderPayResponse.getPayTransId())) ?
orderPayResponse.getMsg() : "支付失败");
}
return baseResponse;
}
//更新订单extinfo信息
BaseResponse baseEditResponse = this.updateOrderInfo(orderPayResponse, orderExtInfoDTO, productOrderBean, LogThreadLocal.getTrackingNo());
if (baseEditResponse != null) {
return baseEditResponse;
}
CreateOrderResponseVo createOrderResponse = orderAdapter.convent2CreateFatherSonOrderResponseVo(orderPayResponse, productOrderBean);
//设置是否唤起微信支付
if (totalAmount > 0 && StringUtils.isBlank(createOrderVo.getCardCode()) && StringUtils.isBlank(createOrderVo.getFaceCode())) {
createOrderResponse.setPaySuccess(false);
} else {
createOrderResponse.setPaySuccess(true);
}
if (!createOrderResponse.getPaySuccess()) {
return ResponseUtil.success(createOrderResponse);
} else {
//如果是商品券支付0元,调用回调接口
PaysuccessNoticeMessage message = new PaysuccessNoticeMessage();
message.setResult_code(100);
message.setOut_trade_no(createOrderResponse.getFmId());
message.setTrans_id(createOrderResponse.getOid());
message.setTotal_fee(0);
message.setOpenid(userLoginInfoDto.getOpenId());
message.setPlatform_coupon(0);
message.setMerchant_coupon(0);
//0元订单内部调支付成功
orderAdapterService.paySuccessCallback(message);
return ResponseUtil.success(createOrderResponse);
}
}
/** /**
* 创建预支付信息 (围餐用) * 创建预支付信息 (围餐用)
...@@ -372,53 +316,6 @@ public class PayServiceImpl { ...@@ -372,53 +316,6 @@ public class PayServiceImpl {
return createOrderResponseVo; return createOrderResponseVo;
} }
/**
* 支付
* 包含唤起微信支付、储值卡支付直接支付、扫脸支付、商品券无需支付
*/
private OrderPayResponse pay(AssortmentCustomerInfoVo userLoginInfoDto, CreateOrderVo createOrderVo, long totalAmount, int cardAmount,
OrderBeanV1 fatherBeanListOne) {
//<!---创建订单公共方法执行逻辑--->
OrderPayResponse orderPayResponse = null;
String appId = userLoginInfoDto.getWxAppId();
PaymentRequest paymentRequest = orderBodyConvertToPaymentBody(userLoginInfoDto.getOpenId(), createOrderVo.getPartnerId(), appId, null, fatherBeanListOne.getShopId());
//支付金额异常
if (totalAmount < 0) {
throw new ServiceException(ResponseResult.PAY_AMOUNT_ERROR);
}
//电子风味卡支付
if (totalAmount > 0 && Objects.nonNull(createOrderVo.getUnionPayCard())) {
return uSvcPay(fatherBeanListOne, paymentRequest, fatherBeanListOne.getOid(), LogThreadLocal.getTrackingNo(), createOrderVo.getUnionPayCard());
}
//唤起微信支付
if (totalAmount > 0 && StringUtils.isBlank(createOrderVo.getCardCode()) && StringUtils.isBlank(createOrderVo.getFaceCode())) {
String partnerPayOvertime = this.getPartnerPayOvertime(createOrderVo.getPartnerId());
orderPayResponse = getPreOrderPay(fatherBeanListOne, paymentRequest, LogThreadLocal.getTrackingNo(), cardAmount, fatherBeanListOne.getOid(), partnerPayOvertime, null);
return orderPayResponse;
}
//储值卡支付
if (totalAmount > 0 && StringUtils.isNotBlank(createOrderVo.getCardCode())) {
//svc卡支付
orderPayResponse = svcPay(createOrderVo.getCardCode(), fatherBeanListOne, paymentRequest, fatherBeanListOne.getOid(), LogThreadLocal.getTrackingNo());
return orderPayResponse;
}
//扫脸支付
if (totalAmount > 0 && StringUtils.isNotBlank(createOrderVo.getFaceCode())) {
//svc卡支付
orderPayResponse = facePay(createOrderVo.getFaceCode(), fatherBeanListOne, paymentRequest, LogThreadLocal.getTrackingNo());
return orderPayResponse;
}
//0元订单,商品券订单等等
if (totalAmount == 0) {
// 0元订单如果不需要支付,自定义支付单号
String fmId = "SPAY" + ValidationCode.getRandomUuid();
orderPayResponse = orderAdapter.getOrderPayResponse(fatherBeanListOne.getCompanyId(), paymentRequest, fatherBeanListOne.getOid(), fmId);
return orderPayResponse;
}
return orderPayResponse;
}
/** /**
* 扫脸支付 * 扫脸支付
*/ */
...@@ -437,11 +334,9 @@ public class PayServiceImpl { ...@@ -437,11 +334,9 @@ public class PayServiceImpl {
request.setOperatorId("1"); request.setOperatorId("1");
request.setVer("2"); request.setVer("2");
//支付服务扫脸付接口 //支付服务扫脸付接口
AppLogUtil.infoLog("facePay_request", JSONObject.toJSON(request), null);
com.freemud.application.sdk.api.base.BaseResponse<FacePayResponseDto> responseDto = null; com.freemud.application.sdk.api.base.BaseResponse<FacePayResponseDto> responseDto = null;
try { try {
responseDto = paymentNewClient.facePay(request); responseDto = paymentNewClient.facePay(request);
AppLogUtil.infoLog("facePay_response", null, JSONObject.toJSON(responseDto));
} catch (Exception e) { } catch (Exception e) {
AppLogUtil.errorLog("facePay_error", null, null, e); AppLogUtil.errorLog("facePay_error", null, null, e);
} }
......
...@@ -16,6 +16,7 @@ import cn.freemud.entities.dto.product.ProductInfo; ...@@ -16,6 +16,7 @@ import cn.freemud.entities.dto.product.ProductInfo;
import cn.freemud.entities.dto.product.ValidateProductInfosDto; import cn.freemud.entities.dto.product.ValidateProductInfosDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto; import cn.freemud.entities.dto.promotion.CalculationDiscountGoodsDto;
import cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto; import cn.freemud.entities.dto.promotion.CalculationDiscountRequestDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.entities.vo.*; import cn.freemud.entities.vo.*;
import cn.freemud.enums.*; import cn.freemud.enums.*;
import cn.freemud.enums.integralproduct.IntegralProductStatusEnum; import cn.freemud.enums.integralproduct.IntegralProductStatusEnum;
...@@ -117,7 +118,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -117,7 +118,8 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
@Autowired @Autowired
private OrderServiceImpl orderservice; private OrderServiceImpl orderservice;
@Autowired @Autowired
private StoreCenterService storeCenterService; // private StoreCenterService storeCenterService;
private StoreServiceImpl storeService;
@Autowired @Autowired
private OrderAdapter orderAdapter; private OrderAdapter orderAdapter;
@Autowired @Autowired
...@@ -167,6 +169,9 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -167,6 +169,9 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
@Autowired @Autowired
private PayServiceImpl payService; private PayServiceImpl payService;
public SellCouponOrderServiceImpl() {
}
/** /**
* 抖音卖券 * 抖音卖券
...@@ -193,12 +198,12 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -193,12 +198,12 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
return ResponseUtil.error(ResponseCodeConstant.RESPONSE_ERROR_STR, "支付门店未配置"); return ResponseUtil.error(ResponseCodeConstant.RESPONSE_ERROR_STR, "支付门店未配置");
} }
String storeId = wxAppStore.getStoreId(); String storeId = wxAppStore.getStoreId();
//查询门店信息 // 获取门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, storeId,null); StoreMixResponseDto storeMixResponseDto = storeService.getStoreInfoNew(partnerId, storeId, false);
StoreResponse storeResponse = storeCenterService.getStoreInfo(storeInfoRequest, trackingNo); if (storeMixResponseDto == null || storeMixResponseDto.getStoreInfo() == null) {
if (storeResponse == null || storeResponse.getStatusCode() != 100 || storeResponse.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND); throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
} }
StoreResponseDto storeResponse = storeMixResponseDto.getStoreInfo();
GetProductInfoDto getProductInfoDto = new GetProductInfoDto(); GetProductInfoDto getProductInfoDto = new GetProductInfoDto();
getProductInfoDto.setPartnerId(partnerId); getProductInfoDto.setPartnerId(partnerId);
...@@ -305,13 +310,13 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -305,13 +310,13 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
if (StringUtils.isNotBlank(requestVo.getCardCode()) && CollectionUtils.isNotEmpty(virtualProductSvcPayPartnerId) && !virtualProductSvcPayPartnerId.contains(partnerId)) { if (StringUtils.isNotBlank(requestVo.getCardCode()) && CollectionUtils.isNotEmpty(virtualProductSvcPayPartnerId) && !virtualProductSvcPayPartnerId.contains(partnerId)) {
return ResponseUtil.error(ResponseResult.PAY_SVC_CONFIG_ERROR); return ResponseUtil.error(ResponseResult.PAY_SVC_CONFIG_ERROR);
} }
//查询门店信息 // 获取门店信息
StoreInfoRequest storeInfoRequest = new StoreInfoRequest(partnerId, storeId,null); StoreMixResponseDto storeMixResponseDto = storeService.getStoreInfoNew(partnerId, storeId, false);
StoreResponse storeResponse = storeCenterService.getStoreInfo(storeInfoRequest, trackingNo); if (storeMixResponseDto == null || storeMixResponseDto.getStoreInfo() == null) {
if (storeResponse == null || storeResponse.getStatusCode() != 100 || storeResponse.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND); throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
} }
StoreResponse.BizVO storeResponseDto = storeResponse.getBizVO(); StoreResponseDto storeResponseDto = storeMixResponseDto.getStoreInfo();
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号 // 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
checkOrder.checkOrderByStore(storeResponseDto); checkOrder.checkOrderByStore(storeResponseDto);
...@@ -343,7 +348,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -343,7 +348,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
} }
//卖券订单biztype默认传入6 //卖券订单biztype默认传入6
BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponse, trackingNo, requestVo.getMenuType(), 6, partnerId, storeId, requestVo.getSkuId(),requestVo.getCardCode()); BaseResponse createOrderRequestResponse = checkOrderCoupon(userLoginInfoDto, storeResponseDto, trackingNo, requestVo.getMenuType(), 6, partnerId, storeId, requestVo.getSkuId(),requestVo.getCardCode());
if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) { if (createOrderRequestResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderRequestResponse.getCode()) || createOrderRequestResponse.getResult() == null) {
return createOrderRequestResponse; return createOrderRequestResponse;
} }
...@@ -456,7 +461,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -456,7 +461,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
* @return * @return
*/ */
public BaseResponse checkOrderCoupon(AssortmentCustomerInfoVo userLoginInfoDto, public BaseResponse checkOrderCoupon(AssortmentCustomerInfoVo userLoginInfoDto,
StoreResponse storeResponse, StoreResponseDto storeResponse,
String trackingNo, String trackingNo,
String menuType, String menuType,
Integer bizType, Integer bizType,
...@@ -535,7 +540,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -535,7 +540,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
CreateOrderRequest createOrderRequest = convent2NEWCreateOrderRequest(userLoginInfoDto, CreateOrderRequest createOrderRequest = convent2NEWCreateOrderRequest(userLoginInfoDto,
productInfosByIds.getData(), productInfosByIds.getData(),
activeDetailVOS, activeDetailVOS,
storeResponse.getBizVO(),storeId,cardCode,skuId,menuType,bizType); storeResponse,storeId,cardCode,skuId,menuType,bizType);
return ResponseUtil.success(createOrderRequest); return ResponseUtil.success(createOrderRequest);
} }
...@@ -716,7 +721,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -716,7 +721,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
*/ */
private CreateOrderRequest convent2NEWCreateOrderRequest(AssortmentCustomerInfoVo userLoginInfoDto, private CreateOrderRequest convent2NEWCreateOrderRequest(AssortmentCustomerInfoVo userLoginInfoDto,
GetProductInfosResponse productInfosResponse,List<ActiveDetailVO> activeDetailVOS, GetProductInfosResponse productInfosResponse,List<ActiveDetailVO> activeDetailVOS,
StoreResponse.BizVO storeInfo, StoreResponseDto storeInfo,
String shopId, String shopId,
String cardCode, String cardCode,
String skuId, String skuId,
...@@ -822,7 +827,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService { ...@@ -822,7 +827,7 @@ public class SellCouponOrderServiceImpl implements OrderFactoryService {
deliveryContactInfoList.add(deliveryContactInfoCreateReq); deliveryContactInfoList.add(deliveryContactInfoCreateReq);
request.setDeliveryContactInfoList(deliveryContactInfoList); request.setDeliveryContactInfoList(deliveryContactInfoList);
//保存门店渠道信息 //保存门店渠道信息
request.setOrderExtended(orderAdapter.saveStoreInfo(storeInfo)); request.setOrderExtended(orderAdapter.saveStoreInfoNew(storeInfo));
request.setOperator(userLoginInfoDto.getNickName()); request.setOperator(userLoginInfoDto.getNickName());
request.setAppId(userLoginInfoDto.getWxAppId()); request.setAppId(userLoginInfoDto.getWxAppId());
return request; return request;
......
...@@ -3,9 +3,15 @@ package cn.freemud.service.impl; ...@@ -3,9 +3,15 @@ package cn.freemud.service.impl;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.StoreDeliveryInfoDto; import cn.freemud.entities.dto.StoreDeliveryInfoDto;
import cn.freemud.entities.dto.UserDeliveryInfoDto; import cn.freemud.entities.dto.UserDeliveryInfoDto;
import cn.freemud.entities.dto.store.StoreBaseResponseDto;
import cn.freemud.entities.dto.store.StoreInfoRequestDto;
import cn.freemud.entities.dto.store.StoreMixResponseDto;
import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.ScopeConfigType; import cn.freemud.enums.ScopeConfigType;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache; import cn.freemud.redis.RedisCache;
import cn.freemud.service.StoreService; import cn.freemud.service.StoreService;
import cn.freemud.service.thirdparty.StoreClient;
import cn.freemud.utils.SpringBeanUtil; import cn.freemud.utils.SpringBeanUtil;
import cn.freemud.utils.WebUtil; import cn.freemud.utils.WebUtil;
import com.freemud.application.sdk.api.base.BaseResponse; import com.freemud.application.sdk.api.base.BaseResponse;
...@@ -31,11 +37,52 @@ public class StoreServiceImpl implements StoreService { ...@@ -31,11 +37,52 @@ public class StoreServiceImpl implements StoreService {
private static Gson gson = new Gson(); private static Gson gson = new Gson();
// @Autowired @Autowired
// private StoreClient storeClient; private StoreClient storeClient;
@Autowired @Autowired
private RedisCache redisCache; private RedisCache redisCache;
/**
* 查询门店信息新接口
*/
public StoreMixResponseDto getStoremixDto(String partnerId, String shopId, StoreInfoRequestDto.QueryInfo query) {
// 获取门店信息
StoreInfoRequestDto request = new StoreInfoRequestDto();
request.setPartnerId(partnerId);
request.setStoreCode(shopId);
request.setQuery(query);
StoreBaseResponseDto<StoreMixResponseDto> storeInfoNew = storeClient.getStoreInfoNew(request);
if (storeInfoNew == null || storeInfoNew.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
}
return storeInfoNew.getBizVO();
}
/**
* 查询门店信息新接口
*/
public StoreMixResponseDto getStoreInfoNew(String partnerId, String shopId, Boolean queryBusinessInfo) {
// 获取门店信息
StoreInfoRequestDto request = new StoreInfoRequestDto();
request.setPartnerId(partnerId);
request.setStoreCode(shopId);
StoreInfoRequestDto.QueryInfo query = new StoreInfoRequestDto.QueryInfo();
// query.setQueryStoreInfo(true);
query.setQueryBusinessInfo(queryBusinessInfo);
request.setQuery(query);
StoreBaseResponseDto<StoreMixResponseDto> storeInfoNew = storeClient.getStoreInfoNew(request);
if (storeInfoNew == null || storeInfoNew.getBizVO() == null) {
throw new ServiceException(ResponseResult.STORE_NOT_FOUND);
}
if (queryBusinessInfo && storeInfoNew.getBizVO().getBusinessInfo() == null) {
throw new ServiceException(ResponseResult.STORE_DATE_ERROR);
}
return storeInfoNew.getBizVO();
}
/** /**
* 查询商户下的所有门店,按照距离排序缓存1分钟 * 查询商户下的所有门店,按照距离排序缓存1分钟
* @param nearStoreRequestDto * @param nearStoreRequestDto
......
...@@ -12,10 +12,10 @@ ...@@ -12,10 +12,10 @@
package cn.freemud.service.order; package cn.freemud.service.order;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.vo.CreateOrderBaseVo; import cn.freemud.entities.vo.CreateOrderBaseVo;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.QueryOrderResponseVo; import cn.freemud.entities.vo.QueryOrderResponseVo;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse; import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse;
public interface OrderRelationService { public interface OrderRelationService {
...@@ -24,14 +24,14 @@ public interface OrderRelationService { ...@@ -24,14 +24,14 @@ public interface OrderRelationService {
* 创建订单的时间检查 * 创建订单的时间检查
* @param * @param
*/ */
void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo); // void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo);
/** /**
* 创建订单的时间检查 订单优化使用 * 创建订单的时间检查 订单优化使用
* @param * @param
*/ */
void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderBaseVo createOrderVo); void createOrderTimeCheck(StoreResponseDto storeResponseDto, CreateOrderBaseVo createOrderVo);
/** /**
......
...@@ -13,6 +13,7 @@ ...@@ -13,6 +13,7 @@
package cn.freemud.service.order.impl; package cn.freemud.service.order.impl;
import cn.freemud.base.util.DateUtil; import cn.freemud.base.util.DateUtil;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.order.BusinessDate; import cn.freemud.entities.dto.order.BusinessDate;
import cn.freemud.entities.vo.CreateOrderBaseVo; import cn.freemud.entities.vo.CreateOrderBaseVo;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
...@@ -52,8 +53,8 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService { ...@@ -52,8 +53,8 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService {
@Autowired @Autowired
private CheckOrder checkOrder; private CheckOrder checkOrder;
@Override // @Override
public void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) { public void createOrderTimeCheck(StoreResponseDto storeResponseDto, CreateOrderVo createOrderVo) {
// 只有外卖单才做下单时间判断 // 只有外卖单才做下单时间判断
if (!CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())){ if (!CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())){
...@@ -88,8 +89,8 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService { ...@@ -88,8 +89,8 @@ public class CocoOrderRelationServiceImpl implements OrderRelationService {
} }
} }
@Override // @Override
public void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderBaseVo createOrderVo) { public void createOrderTimeCheck(StoreResponseDto storeResponseDto, CreateOrderBaseVo createOrderVo) {
// 只有外卖单才做下单时间判断 // 只有外卖单才做下单时间判断
if (!CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())){ if (!CreateOrderType.TAKE_OUT.getCode().equals(createOrderVo.getOrderType())){
return; return;
......
...@@ -12,6 +12,7 @@ ...@@ -12,6 +12,7 @@
package cn.freemud.service.order.impl; package cn.freemud.service.order.impl;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.vo.CreateOrderBaseVo; import cn.freemud.entities.vo.CreateOrderBaseVo;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.entities.vo.QueryOrderResponseVo; import cn.freemud.entities.vo.QueryOrderResponseVo;
...@@ -25,11 +26,7 @@ public class PlatformOrderRelationServiceImpl implements OrderRelationService { ...@@ -25,11 +26,7 @@ public class PlatformOrderRelationServiceImpl implements OrderRelationService {
@Override @Override
public void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderVo createOrderVo) { public void createOrderTimeCheck(StoreResponseDto storeResponseDto, CreateOrderBaseVo createOrderVo) {
}
@Override
public void createOrderTimeCheck(StoreResponse.BizVO storeResponseDto, CreateOrderBaseVo createOrderVo) {
} }
......
...@@ -10,6 +10,7 @@ import cn.freemud.base.util.DateUtil; ...@@ -10,6 +10,7 @@ import cn.freemud.base.util.DateUtil;
import cn.freemud.constant.RedisKeyConstant; import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.constant.ResponseCodeConstant; import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.bo.CreateOrderBo; import cn.freemud.entities.bo.CreateOrderBo;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.SvcComPayRequestDto; import cn.freemud.entities.dto.SvcComPayRequestDto;
import cn.freemud.entities.dto.SvcComPayResponseDto; import cn.freemud.entities.dto.SvcComPayResponseDto;
import cn.freemud.entities.dto.order.CreateOrderOperateDto; import cn.freemud.entities.dto.order.CreateOrderOperateDto;
...@@ -634,7 +635,7 @@ public abstract class UniversalOrderService { ...@@ -634,7 +635,7 @@ public abstract class UniversalOrderService {
public OrderExtInfoDto getExtInfoUniversal(CreateOrderBo createOrderBo) { public OrderExtInfoDto getExtInfoUniversal(CreateOrderBo createOrderBo) {
CreateOrderBaseVo createOrderBaseVo = createOrderBo.getCreateOrderBaseVo(); CreateOrderBaseVo createOrderBaseVo = createOrderBo.getCreateOrderBaseVo();
StoreResponse.BizVO storeResponseDto = createOrderBo.getStoreResponseDto(); StoreResponseDto storeResponseDto = createOrderBo.getStoreResponseDto();
AssortmentCustomerInfoVo userLoginInfoDto = createOrderBo.getUserLoginInfoDto(); AssortmentCustomerInfoVo userLoginInfoDto = createOrderBo.getUserLoginInfoDto();
ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto(); ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto();
......
...@@ -220,7 +220,7 @@ public class SaasMallOrderService extends UniversalOrderService { ...@@ -220,7 +220,7 @@ public class SaasMallOrderService extends UniversalOrderService {
*/ */
@Override @Override
protected BaseResponse createSharedOrder(CreateOrderBo createOrderBo) { protected BaseResponse createSharedOrder(CreateOrderBo createOrderBo) {
OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfo(createOrderBo.getStoreResponseDto()); OrderExtendedReq orderExtendedReq = orderAdapter.saveStoreInfoNew(createOrderBo.getStoreResponseDto());
CreateOrderBaseVo createOrderBaseVo = createOrderBo.getCreateOrderBaseVo(); CreateOrderBaseVo createOrderBaseVo = createOrderBo.getCreateOrderBaseVo();
ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto(); ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto();
//创建普通订单 //创建普通订单
......
package cn.freemud.service.impl; package cn.freemud.service.impl;
import cn.freemud.constant.RedisKeyConstant; import cn.freemud.constant.RedisKeyConstant;
import cn.freemud.entities.dto.StoreResponseDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CreateOrderVo; import cn.freemud.entities.vo.CreateOrderVo;
import cn.freemud.management.entities.dto.request.order.OrderManagerRequest; import cn.freemud.management.entities.dto.request.order.OrderManagerRequest;
...@@ -74,7 +75,7 @@ public class MallOrderServiceImplTest { ...@@ -74,7 +75,7 @@ public class MallOrderServiceImplTest {
@Test @Test
public void f1() { public void f1() {
mcCafeOrderService.createOrder(JSON.parseObject("{\"buyType\":0,\"cardKeyCode\":\"509835\",\"channelType\":\"saas\",\"couponCode\":\"\",\"menuType\":\"saas\",\"needInvoice\":1,\"orderRemark\":\"\",\"orderType\":1,\"partnerId\":\"1628\",\"payChannelType\":1,\"receiveId\":\"\",\"sessionId\":\"18459edce0b4c5a5794e855b988d45e0b54ba705\",\"shopId\":\"1950512\",\"takeMealFlag\":\"0\"}", CreateOrderVo.class), mcCafeOrderService.createOrder(JSON.parseObject("{\"buyType\":0,\"cardKeyCode\":\"509835\",\"channelType\":\"saas\",\"couponCode\":\"\",\"menuType\":\"saas\",\"needInvoice\":1,\"orderRemark\":\"\",\"orderType\":1,\"partnerId\":\"1628\",\"payChannelType\":1,\"receiveId\":\"\",\"sessionId\":\"18459edce0b4c5a5794e855b988d45e0b54ba705\",\"shopId\":\"1950512\",\"takeMealFlag\":\"0\"}", CreateOrderVo.class),
new StoreResponse.BizVO(), new StoreResponseDto(),
JSON.parseObject("{\"activityDiscountsDtos\":[{\"activityCode\":\"618535339440866\",\"activityName\":\"五元冰中杯拿铁\",\"activityType\":32,\"cartGoodsUid\":\"\",\"discountAmount\":0,\"extendType\":0},{\"activityCode\":\"601817311288933\",\"activityName\":\"麦咖啡6折月卡\",\"activityType\":38,\"cartGoodsUid\":\"\",\"discountAmount\":0,\"extendType\":12}],\"deliveryAmount\":0,\"discountDeliveryAmount\":0,\"isDiscountDelivery\":false,\"monthCardDiscount\":{\"couponCode\":\"601817311288933\",\"discountAmount\":0,\"discountDesc\":\"麦咖啡6折月卡\",\"discountLogo\":\"https://img0.sandload.cn/mcd_4ac948fb-e271-495c-8b59-02a2552b0385.png\"},\"originalTotalAmount\":1490,\"packageAmount\":0,\"payCardFee\":0,\"products\":[{\"activityDiscountsDtos\":[{\"activityCode\":\"618535339440866\",\"activityName\":\"五元冰中杯拿铁\",\"activityType\":32,\"discountAmount\":0,\"extendType\":0,\"tenderId\":\"510097\"}],\"attributeNames\":\"{\\\"attributeForeignNames\\\":\\\"\\\",\\\"attributeNames\\\":\\\"\\\"}\",\"cartGoodsUid\":\"fba23e82-f373-4efe-b269-3f894b7518d9\",\"classificationId\":\"\",\"classificationName\":\"\",\"comboProducts\":[{\"attributeNames\":\"{\\\"attributeForeignNames\\\":\\\"\\\",\\\"attributeNames\\\":\\\"\\\"}\",\"customerCode\":\"4284\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isFixedProduct\":true,\"isMonthCard\":0,\"isTableware\":0,\"materialList\":[],\"originalPrice\":1900,\"parentProductId\":\"204906623301330748\",\"picture\":\"https://picture.sandload.cn/1608184940077.png\",\"productType\":6,\"qty\":1,\"skuId\":\"190075426702468663\",\"skuName\":\"冰拿铁中杯\",\"spuName\":\"冰拿铁中杯\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"couponCode\":\"618535339440866\",\"customerCode\":\"510097\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":0,\"isTableware\":0,\"materialList\":[],\"originalPrice\":500,\"picture\":\"https://picture.sandload.cn/1625639691765.png\",\"productCode\":\"510097\",\"productType\":6,\"qty\":1,\"skuId\":\"204906623301330748\",\"skuName\":\"五元冰中杯拿铁\",\"spuId\":\"204906623301330748\",\"spuName\":\"五元冰中杯拿铁\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0},{\"activityDiscountsDtos\":[],\"attributeNames\":\"{\\\"attributeForeignNames\\\":\\\"\\\",\\\"attributeNames\\\":\\\"\\\"}\",\"cartGoodsUid\":\"f6ef0233-9801-4eb5-b6c4-62edd9070ec4\",\"classificationId\":\"\",\"classificationName\":\"\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":1,\"isTableware\":0,\"materialList\":[],\"monthCardInfo\":{\"cardCode\":\"601817311288933\",\"cardNo\":\"MQYK4872D6896B41011BAEFD21C5C557F0A1\"},\"originalPrice\":990,\"picture\":\"https://picture.sandload.cn/1618542683267.png\",\"productCode\":\"509835\",\"productType\":9,\"qty\":1,\"skuId\":\"205155790621999679\",\"skuName\":\"麦咖啡6折月卡\",\"spuId\":\"205155790621999679\",\"spuName\":\"麦咖啡6折月卡\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"26\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"totalAmount\":1490,\"totalDiscountAmount\":0}", ShoppingCartGoodsDto.class), JSON.parseObject("{\"activityDiscountsDtos\":[{\"activityCode\":\"618535339440866\",\"activityName\":\"五元冰中杯拿铁\",\"activityType\":32,\"cartGoodsUid\":\"\",\"discountAmount\":0,\"extendType\":0},{\"activityCode\":\"601817311288933\",\"activityName\":\"麦咖啡6折月卡\",\"activityType\":38,\"cartGoodsUid\":\"\",\"discountAmount\":0,\"extendType\":12}],\"deliveryAmount\":0,\"discountDeliveryAmount\":0,\"isDiscountDelivery\":false,\"monthCardDiscount\":{\"couponCode\":\"601817311288933\",\"discountAmount\":0,\"discountDesc\":\"麦咖啡6折月卡\",\"discountLogo\":\"https://img0.sandload.cn/mcd_4ac948fb-e271-495c-8b59-02a2552b0385.png\"},\"originalTotalAmount\":1490,\"packageAmount\":0,\"payCardFee\":0,\"products\":[{\"activityDiscountsDtos\":[{\"activityCode\":\"618535339440866\",\"activityName\":\"五元冰中杯拿铁\",\"activityType\":32,\"discountAmount\":0,\"extendType\":0,\"tenderId\":\"510097\"}],\"attributeNames\":\"{\\\"attributeForeignNames\\\":\\\"\\\",\\\"attributeNames\\\":\\\"\\\"}\",\"cartGoodsUid\":\"fba23e82-f373-4efe-b269-3f894b7518d9\",\"classificationId\":\"\",\"classificationName\":\"\",\"comboProducts\":[{\"attributeNames\":\"{\\\"attributeForeignNames\\\":\\\"\\\",\\\"attributeNames\\\":\\\"\\\"}\",\"customerCode\":\"4284\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isFixedProduct\":true,\"isMonthCard\":0,\"isTableware\":0,\"materialList\":[],\"originalPrice\":1900,\"parentProductId\":\"204906623301330748\",\"picture\":\"https://picture.sandload.cn/1608184940077.png\",\"productType\":6,\"qty\":1,\"skuId\":\"190075426702468663\",\"skuName\":\"冰拿铁中杯\",\"spuName\":\"冰拿铁中杯\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"couponCode\":\"618535339440866\",\"customerCode\":\"510097\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":0,\"isTableware\":0,\"materialList\":[],\"originalPrice\":500,\"picture\":\"https://picture.sandload.cn/1625639691765.png\",\"productCode\":\"510097\",\"productType\":6,\"qty\":1,\"skuId\":\"204906623301330748\",\"skuName\":\"五元冰中杯拿铁\",\"spuId\":\"204906623301330748\",\"spuName\":\"五元冰中杯拿铁\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0},{\"activityDiscountsDtos\":[],\"attributeNames\":\"{\\\"attributeForeignNames\\\":\\\"\\\",\\\"attributeNames\\\":\\\"\\\"}\",\"cartGoodsUid\":\"f6ef0233-9801-4eb5-b6c4-62edd9070ec4\",\"classificationId\":\"\",\"classificationName\":\"\",\"extraList\":[],\"hasProductCoupon\":false,\"isB3S1Coupon\":0,\"isB3S1CouponGoods\":0,\"isMonthCard\":1,\"isTableware\":0,\"materialList\":[],\"monthCardInfo\":{\"cardCode\":\"601817311288933\",\"cardNo\":\"MQYK4872D6896B41011BAEFD21C5C557F0A1\"},\"originalPrice\":990,\"picture\":\"https://picture.sandload.cn/1618542683267.png\",\"productCode\":\"509835\",\"productType\":9,\"qty\":1,\"skuId\":\"205155790621999679\",\"skuName\":\"麦咖啡6折月卡\",\"spuId\":\"205155790621999679\",\"spuName\":\"麦咖啡6折月卡\",\"stockLimit\":false,\"tax\":0.01,\"taxId\":\"26\",\"totalDiscountAmount\":0,\"unit\":\"\",\"weight\":0.0}],\"totalAmount\":1490,\"totalDiscountAmount\":0}", ShoppingCartGoodsDto.class),
new OrderExtendedReq(), new OrderExtendedReq(),
OrderClientType.SAAS,"www"); OrderClientType.SAAS,"www");
......
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