Commit a82e5934 by 徐康

代码优化

parent 60b613cc
...@@ -4,6 +4,7 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto; ...@@ -4,6 +4,7 @@ import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.vo.CreateOrderBaseVo; import cn.freemud.entities.vo.CreateOrderBaseVo;
import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo; import com.freemud.api.assortment.datamanager.entity.vo.AssortmentCustomerInfoVo;
import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberIdResponse; import com.freemud.application.sdk.api.membercenter.response.GetSvcInfoByMemberIdResponse;
import com.freemud.application.sdk.api.ordercenter.request.OrderExtInfoDto;
import com.freemud.application.sdk.api.storecenter.response.StoreResponse; import com.freemud.application.sdk.api.storecenter.response.StoreResponse;
import lombok.Data; import lombok.Data;
...@@ -18,7 +19,9 @@ public class CreateOrderBo { ...@@ -18,7 +19,9 @@ public class CreateOrderBo {
private ShoppingCartGoodsDto shoppingCartGoodsDto; private ShoppingCartGoodsDto shoppingCartGoodsDto;
private StoreResponse storeResponseDto; private StoreResponse.BizVO storeResponseDto;
private OrderExtInfoDto extInfo;
private List<GetSvcInfoByMemberIdResponse> svcInfoList; private List<GetSvcInfoByMemberIdResponse> svcInfoList;
} }
...@@ -25,7 +25,7 @@ public class MemberPropertyManager { ...@@ -25,7 +25,7 @@ public class MemberPropertyManager {
public List<GetSvcInfoByMemberIdResponse> getSvcInfoByMemberId(StatisticalPropertyRequest request, String trackingNo) { public List<GetSvcInfoByMemberIdResponse> getSvcInfoByMemberId(StatisticalPropertyRequest request, String trackingNo) {
com.freemud.application.sdk.api.base.BaseResponse<List<GetSvcInfoByMemberIdResponse>> responseDTO = memberPropertyService.getSvcInfoByMemberId(request, LogThreadLocal.getTrackingNo()); com.freemud.application.sdk.api.base.BaseResponse<List<GetSvcInfoByMemberIdResponse>> responseDTO = memberPropertyService.getSvcInfoByMemberId(request, trackingNo);
if (!ResponseResult.SUCCESS.getCode().equals(responseDTO.getCode()) || responseDTO.getData() == null if (!ResponseResult.SUCCESS.getCode().equals(responseDTO.getCode()) || responseDTO.getData() == null
|| responseDTO.getData().size() == 0) { || responseDTO.getData().size() == 0) {
throw new ServiceException(ResponseResult.USER_SVC_CARD_ERROR); throw new ServiceException(ResponseResult.USER_SVC_CARD_ERROR);
......
...@@ -67,22 +67,13 @@ public abstract class UniversalOrderService { ...@@ -67,22 +67,13 @@ public abstract class UniversalOrderService {
public final BaseResponse createOrder(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto) { public final BaseResponse createOrder(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto) {
String trackingNo = LogThreadLocal.getTrackingNo(); String trackingNo = LogThreadLocal.getTrackingNo();
validParam(createOrderBaseVo); validParam(createOrderBaseVo);
CreateOrderBo createOrderBo = getCreateOrderBo(createOrderBaseVo, userLoginInfoDto); CreateOrderBo createOrderBo = getCreateOrderBo(createOrderBaseVo, userLoginInfoDto, trackingNo);
checkCreateOrderParam(createOrderBo); checkCreateOrderParam(createOrderBo, trackingNo);
//校验会员svc卡信息 OrderExtInfoDto extInfo = getExtInfo(createOrderBo);
checkCardCode(createOrderBaseVo, userLoginInfoDto);
// 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数
ShoppingCartGoodsDto shoppingCartGoodsDto = checkShoppingCartGoodsDto(createOrderBaseVo);
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
StoreResponse.BizVO storeResponseDto = checkOrderByStore(createOrderBaseVo, trackingNo);
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件
checkOrderByOrderType(createOrderBaseVo, userLoginInfoDto, storeResponseDto, shoppingCartGoodsDto, trackingNo);
OrderExtInfoDto extInfo = getExtInfo(userLoginInfoDto, storeResponseDto, 0, createOrderBaseVo, shoppingCartGoodsDto);
//1.9.2套餐需求同步优化创建订单代码 //1.9.2套餐需求同步优化创建订单代码
BaseResponse createOrderOperateDtoResponse = this.createSharedOrder(createOrderBaseVo, storeResponseDto, shoppingCartGoodsDto, userLoginInfoDto); BaseResponse createOrderOperateDtoResponse = this.createSharedOrder(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;
} }
...@@ -93,20 +84,29 @@ public abstract class UniversalOrderService { ...@@ -93,20 +84,29 @@ public abstract class UniversalOrderService {
return createPrepayOrder(createPrepayRequestDto); return createPrepayOrder(createPrepayRequestDto);
} }
public void checkCreateOrderParam(CreateOrderBo createOrderBo) { public void checkCreateOrderParam(CreateOrderBo createOrderBo, String trackingNo) {
checkUniversalCreateOrderParam(createOrderBo); checkUniversalCreateOrderParam(createOrderBo, trackingNo);
checkCustomCreateOrderParam(createOrderBo); checkCustomCreateOrderParam(createOrderBo);
} }
public void checkUniversalCreateOrderParam(CreateOrderBo createOrderBo) { public void checkUniversalCreateOrderParam(CreateOrderBo createOrderBo, String trackingNo) {
//校验会员svc卡信息
checkCardCode(createOrderBo.getCreateOrderBaseVo(), createOrderBo.getUserLoginInfoDto());
// 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数 // 查询购物车(内部校验券点餐方式,券是否可用) 校验当前订单类型的下单参数
ShoppingCartGoodsDto shoppingCartGoodsDto = checkShoppingCartGoodsDto(createOrderBo.getCreateOrderBaseVo()); ShoppingCartGoodsDto shoppingCartGoodsDto = checkShoppingCartGoodsDto(createOrderBo.getCreateOrderBaseVo());
createOrderBo.setShoppingCartGoodsDto(shoppingCartGoodsDto); createOrderBo.setShoppingCartGoodsDto(shoppingCartGoodsDto);
// 查询门店信息 营业时间、营业状态,服务器当前时间在营业时间内 点餐桌号
StoreResponse.BizVO storeResponseDto = checkOrderByStore(createOrderBo.getCreateOrderBaseVo(), trackingNo);
createOrderBo.setStoreResponseDto(storeResponseDto);
// 查询小程序自提外卖配置信息 校验当前订单类型的下单参数 校验外卖是否满足起送条件
checkOrderByOrderType(createOrderBo, trackingNo);
} }
public abstract void checkCustomCreateOrderParam(CreateOrderBo createOrderBo); public abstract void checkCustomCreateOrderParam(CreateOrderBo createOrderBo);
public CreateOrderBo getCreateOrderBo(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto) { public CreateOrderBo getCreateOrderBo(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto, String trackingNo) {
CreateOrderBo createOrderBo = new CreateOrderBo(); CreateOrderBo createOrderBo = new CreateOrderBo();
createOrderBo.setCreateOrderBaseVo(createOrderBaseVo); createOrderBo.setCreateOrderBaseVo(createOrderBaseVo);
createOrderBo.setUserLoginInfoDto(userLoginInfoDto); createOrderBo.setUserLoginInfoDto(userLoginInfoDto);
...@@ -117,15 +117,6 @@ public abstract class UniversalOrderService { ...@@ -117,15 +117,6 @@ public abstract class UniversalOrderService {
} }
public void getUniversalCreateOrderBo(CreateOrderBo createOrderBo) { public void getUniversalCreateOrderBo(CreateOrderBo createOrderBo) {
StatisticalPropertyRequest request = new StatisticalPropertyRequest();
request.setPartnerId(createOrderBo.getCreateOrderBaseVo().getPartnerId());
request.setMemberId(createOrderBo.getUserLoginInfoDto().getMemberId());
List<GetSvcInfoByMemberIdResponse> svcInfoList = memberPropertyManager.getSvcInfoByMemberId(request, LogThreadLocal.getTrackingNo());
createOrderBo.setSvcInfoList(svcInfoList);
// 获取门店信息
StoreResponse storeResponseDto = storeInfoManager.getStoreInfo(createOrderBo.getCreateOrderBaseVo().getPartnerId(), createOrderBo.getCreateOrderBaseVo().getShopId(), LogThreadLocal.getTrackingNo());
createOrderBo.setStoreResponseDto(storeResponseDto);
} }
...@@ -133,7 +124,7 @@ public abstract class UniversalOrderService { ...@@ -133,7 +124,7 @@ public abstract class UniversalOrderService {
public abstract void validParam(CreateOrderBaseVo createOrderBaseVo); public abstract void validParam(CreateOrderBaseVo createOrderBaseVo);
public abstract BaseResponse createSharedOrder(CreateOrderBaseVo createOrderBaseVo, StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, AssortmentCustomerInfoVo userLoginInfoDto); public abstract BaseResponse createSharedOrder(CreateOrderBo createOrderBo);
public void checkCardCode(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto) { public void checkCardCode(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto) {
if (StringUtils.isBlank(createOrderBaseVo.getCardCode())) { if (StringUtils.isBlank(createOrderBaseVo.getCardCode())) {
...@@ -199,25 +190,30 @@ public abstract class UniversalOrderService { ...@@ -199,25 +190,30 @@ public abstract class UniversalOrderService {
/** /**
* 下单订单类型校验 * 下单订单类型校验
*/ */
public Integer checkOrderByOrderType(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto, public void checkOrderByOrderType(CreateOrderBo createOrderBo, String trackingNo) {
StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, String trackingNo) { checkOrderByOrderTypeUniversal(createOrderBo, trackingNo);
Integer pushTime = checkOrderByOrderTypeUniversal(createOrderBaseVo, userLoginInfoDto, storeResponseDto, shoppingCartGoodsDto, trackingNo); checkOrderByOrderTypeCustom(createOrderBo, trackingNo);
checkOrderByOrderTypeCustom(createOrderBaseVo, userLoginInfoDto, storeResponseDto, shoppingCartGoodsDto, trackingNo);
return pushTime;
} }
public Integer checkOrderByOrderTypeUniversal(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto, public void checkOrderByOrderTypeUniversal(CreateOrderBo createOrderBo, String trackingNo) {
StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, String trackingNo) {
return 0;
} }
public void checkOrderByOrderTypeCustom(CreateOrderBaseVo createOrderBaseVo, AssortmentCustomerInfoVo userLoginInfoDto, public abstract void checkOrderByOrderTypeCustom(CreateOrderBo createOrderBo, String trackingNo);
StoreResponse.BizVO storeResponseDto, ShoppingCartGoodsDto shoppingCartGoodsDto, String trackingNo) {
public OrderExtInfoDto getExtInfo(CreateOrderBo createOrderBo) {
OrderExtInfoDto extInfo = getExtInfoUniversal(createOrderBo);
createOrderBo.setExtInfo(extInfo);
getExtInfoCustom(createOrderBo);
return extInfo;
} }
public OrderExtInfoDto getExtInfo(AssortmentCustomerInfoVo userLoginInfoDto, StoreResponse.BizVO storeResponseDto, Integer pushOrderTime, public OrderExtInfoDto getExtInfoUniversal(CreateOrderBo createOrderBo) {
CreateOrderBaseVo createOrderBaseVo, ShoppingCartGoodsDto shoppingCartGoodsDto) {
CreateOrderBaseVo createOrderBaseVo = createOrderBo.getCreateOrderBaseVo();
StoreResponse.BizVO storeResponseDto = createOrderBo.getStoreResponseDto();
AssortmentCustomerInfoVo userLoginInfoDto = createOrderBo.getUserLoginInfoDto();
ShoppingCartGoodsDto shoppingCartGoodsDto = createOrderBo.getShoppingCartGoodsDto();
Integer serviceTime = storeResponseDto.getServiceTime(); Integer serviceTime = storeResponseDto.getServiceTime();
String sessionId = createOrderBaseVo.getSessionId(); String sessionId = createOrderBaseVo.getSessionId();
...@@ -243,7 +239,6 @@ public abstract class UniversalOrderService { ...@@ -243,7 +239,6 @@ public abstract class UniversalOrderService {
serviceTime = 50; serviceTime = 50;
} }
orderExtInfoDto.setServiceTime(serviceTime); orderExtInfoDto.setServiceTime(serviceTime);
orderExtInfoDto.setPushOrderTime(pushOrderTime);
orderExtInfoDto.setVersion(version); orderExtInfoDto.setVersion(version);
if (memberCard != null && memberCard.getRuleId() != null) { if (memberCard != null && memberCard.getRuleId() != null) {
orderExtInfoDto.setRuleId(memberCard.getRuleId()); orderExtInfoDto.setRuleId(memberCard.getRuleId());
...@@ -268,6 +263,8 @@ public abstract class UniversalOrderService { ...@@ -268,6 +263,8 @@ public abstract class UniversalOrderService {
return orderExtInfoDto; return orderExtInfoDto;
} }
public abstract void getExtInfoCustom(CreateOrderBo createOrderBo);
/** /**
* 创建预支付订单 * 创建预支付订单
*/ */
......
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