Commit eb50901b by ping.wu

从缓存获取用户信息只获取一次

parent 31b75630
......@@ -117,8 +117,7 @@ public class AppOrderServiceImpl implements AppOrderService {
String trackingNo = LogThreadLocal.getTrackingNo();
CreateOrderVo createOrderVo = createOrderBO.getCreateOrderVo();
// 查询用户信息
AssortmentCustomerInfoVo userLoginInfoDto = checkOrder.checkOrderByMember(createOrderVo);
createOrderBO.setUserLoginInfoDto(userLoginInfoDto);
AssortmentCustomerInfoVo userLoginInfoDto = checkOrder.checkOrderByMember(createOrderBO);
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
StoreResponseDto storeResponseDto = checkOrder.checkOrderByStore(createOrderBO).getStoreInfo();
// 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数
......
......@@ -128,7 +128,7 @@ public class CheckOrder {
return baseResponse;
}
// 查询用户信息 校验svc卡,余额购物车校验
AssortmentCustomerInfoVo userLoginInfoDto = this.checkOrderByMember(createOrderVo);
AssortmentCustomerInfoVo userLoginInfoDto = this.checkOrderByMember(createOrderBO);
createOrderBO.setUserLoginInfoDto(userLoginInfoDto);
// 查询门店信息 营业时间 营业状态,服务器当前时间在营业时间内 点餐桌号
......@@ -167,16 +167,13 @@ public class CheckOrder {
/**
* 下单会员相关校验
*/
public AssortmentCustomerInfoVo checkOrderByMember(CreateOrderVo createOrderVo) {
// 通过sessionId查询缓存中会员id
String sessionId = createOrderVo.getSessionId();
AssortmentCustomerInfoVo userLoginInfoDto = customerInfoManager.getCustomerInfoByObject(sessionId);
public AssortmentCustomerInfoVo checkOrderByMember(CreateOrderBONew createOrderBO) {
CreateOrderVo createOrderVo = createOrderBO.getCreateOrderVo();
// 通过sessionId查询缓存中会员id 外层已获取缓存用户信息
AssortmentCustomerInfoVo userLoginInfoDto = createOrderBO.getUserLoginInfoDto();
if (userLoginInfoDto == null || StringUtils.isEmpty(userLoginInfoDto.getMemberId())) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
......
......@@ -43,6 +43,7 @@ import com.freemud.sdk.api.assortment.order.request.order.GroupBuyRequest;
import com.freemud.sdk.api.assortment.order.response.order.GroupBuyResponse;
import com.freemud.sdk.api.assortment.order.response.order.QueryOrderByIdResponse;
import com.freemud.sdk.api.assortment.order.service.OrderCenterSdkService;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
......@@ -65,8 +66,7 @@ public class CollageOrderServiceImpl implements CollageOrderService {
private WeChatClient weChatClient;
@Autowired
private ShoppingCartClient shoppingCartClient;
@Autowired
private LogUtil logUtil;
/**
* 创建拼单订单
......@@ -93,7 +93,11 @@ public class CollageOrderServiceImpl implements CollageOrderService {
// 标记订单类型-4 拼单
createOrderVo.setMarketingType(OrderMarketType.COLLAGE.getIndex());
CreateOrderBONew createOrderBO = new CreateOrderBONew(createOrderVo);
AssortmentCustomerInfoVo assortmentCustomerInfoVo = customerInfoManager.getCustomerInfoByObject(createOrderVo.getSessionId());
if (assortmentCustomerInfoVo == null || StringUtils.isEmpty(assortmentCustomerInfoVo.getMemberId())) {
return ResponseUtil.error(ResponseResult.NOT_LOGIN);
}
createOrderBO.setUserLoginInfoDto(assortmentCustomerInfoVo);
BaseResponse orderCreateResponse = this.orderService.createOrder(createOrderBO);
// if (null != orderCreateResponse && null != orderCreateResponse.getResult()) {
......
......@@ -311,21 +311,19 @@ public class OrderServiceImpl implements Orderservice {
// 原来saas
@Override
public BaseResponse createOrder(CreateOrderBONew createOrderBO) {
CreateOrderVo createOrderVo = createOrderBO.getCreateOrderVo();
CreateOrderBONew createOrderBONew = new CreateOrderBONew(createOrderVo);
//创建订单前参数校验与数据获取
BaseResponse checkResponse = checkOrder.checkCreateOrderInfo(createOrderBONew);
BaseResponse checkResponse = checkOrder.checkCreateOrderInfo(createOrderBO);
if (checkResponse != null && !ResponseResult.SUCCESS.getCode().equals(checkResponse.getCode()) ) {
return checkResponse;
}
//创建订单调用集成,不区分订单类型
BaseResponse createOrderOperateDtoResponse = this.sdkCreateOrder(createOrderBONew);
BaseResponse createOrderOperateDtoResponse = this.sdkCreateOrder(createOrderBO);
if (createOrderOperateDtoResponse == null || !ResponseResult.SUCCESS.getCode().equals(createOrderOperateDtoResponse.getCode()) || createOrderOperateDtoResponse.getResult() == null) {
return createOrderOperateDtoResponse;
}
CreateOrderOperateDto createOrderOperateDto = (CreateOrderOperateDto) createOrderOperateDtoResponse.getResult();
//创建支付
CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(createOrderBONew, createOrderOperateDto);
CreatePrepayRequestDto createPrepayRequestDto = orderAdapter.convertToCreatePrepayRequestDto(createOrderBO, createOrderOperateDto);
return ResponseUtil.success(payServiceImpl.createPrepayOrder(createPrepayRequestDto));
}
......
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