Commit b6dccf69 by dingkai

Merge branch 'feature/1.9.26-围餐促销2-20200610-dingkai' into qa

# Conflicts:
#	assortment-ordercenter-sdk/pom.xml
#	assortment-ordercenter-sdk/readme.md
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/adapter/OrderSdkAdapter.java
#	assortment-ordercenter-sdk/src/main/java/com/freemud/sdk/api/assortment/order/response/order/QueryOrdersResponse.java
#	order-application-service/pom.xml
#	order-management/pom.xml
#	ordercenter-sdk/pom.xml
#	ordercenter-sdk/readme.md
#	ordercenter-sdk/src/main/java/com/freemud/application/sdk/api/ordercenter/service/OrderSdkService.java
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/ShoppingCartMealServiceImpl.java
parents 77ff41de cefbd400
......@@ -5,20 +5,18 @@ import cn.freemud.base.entity.BaseResponse;
import cn.freemud.constant.ResponseCodeConstant;
import cn.freemud.entities.dto.ActivityCalculationDiscountRequestDto;
import cn.freemud.entities.dto.ActivityCalculationDiscountResponseDto;
import cn.freemud.entities.dto.CheckSpqInfoRequestDto;
import cn.freemud.entities.dto.CheckSpqInfoResponseDto;
import cn.freemud.entities.dto.shoppingCart.ShoppingCartGoodsDto;
import cn.freemud.entities.dto.user.GetSessionUserInfoDto;
import cn.freemud.entities.vo.*;
import cn.freemud.enums.ActivityChannelEnum;
import cn.freemud.enums.ProductType;
import cn.freemud.enums.ResponseResult;
import cn.freemud.enums.ShoppingCartPromotionEnum;
import cn.freemud.interceptor.ServiceException;
import cn.freemud.redis.RedisCache;
import cn.freemud.service.CommonService;
import cn.freemud.service.ShoppingCartNewService;
import cn.freemud.service.thirdparty.ActivityClient;
import cn.freemud.utils.PromotionFactory;
import cn.freemud.service.thirdparty.CustomerApplicationClient;
import cn.freemud.utils.PropertyConvertUtil;
import cn.freemud.utils.RedisLock;
import cn.freemud.utils.ResponseUtil;
......@@ -46,7 +44,6 @@ import org.springframework.stereotype.Service;
import org.springframework.util.CollectionUtils;
import java.util.*;
import java.util.function.Function;
import java.util.stream.Collectors;
/**
......@@ -82,6 +79,8 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
private ActivityClient activityClient;
@Autowired
private TimeSalePromotionForWcService timeSalePromotionForWcService;
@Autowired
private CustomerApplicationClient customerApplicationClient;
@Override
public BaseResponse addGoodsByCard(AddGoodsByWeixinCardRequestVo request) {
......@@ -92,7 +91,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
public BaseResponse addGoods(AddShoppingCartGoodsRequestVo requestVo) {
// 获取用户信息
AssortmentCustomerInfoVo customerInfo = customerInfoManager.getCustomerInfoByObject(requestVo.getSessionId());
CustomerInfoVo customerInfo = getCustomerInfoVo(requestVo.getSessionId());
//todo 单元测试使用
//customerInfo = test(customerInfo, requestVo.getSessionId());
......@@ -142,7 +141,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
// 获取当前桌号所有人购物车
Map<String, List<String>> userCartsMap = mealCartBaseService.getUserCarts(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getTableNumber());
buildMealResponse(requestVo.getOrderType(), customerInfo, userCartsMap, responseVo);
buildActivityCalculationDiscountResponse(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getMemberId(), customerInfo.getWxAppId(), requestVo.getOrderType(), false, responseVo);
buildActivityCalculationDiscountResponse(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getMemberId(), customerInfo.getWxAppId(), requestVo.getOrderType(), customerInfo.isMemberPaid(), responseVo);
return ResponseUtil.success(responseVo);
}
......@@ -152,7 +151,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
* @param updateShoppingCartGoodsQtyRequestVo 请求
* @param assortmentCustomerInfoVo 登录信息
*/
private BaseResponse doCheckAndLock(UpdateShoppingCartGoodsQtyRequestVo updateShoppingCartGoodsQtyRequestVo, AssortmentCustomerInfoVo assortmentCustomerInfoVo) {
private BaseResponse doCheckAndLock(UpdateShoppingCartGoodsQtyRequestVo updateShoppingCartGoodsQtyRequestVo, CustomerInfoVo assortmentCustomerInfoVo) {
Integer carVer = updateShoppingCartGoodsQtyRequestVo.getCarVer();
if (carVer == null || carVer < 1) {
return ResponseUtil.error(ResponseResult.SHOPPING_CART_VERSION_ERROR);
......@@ -172,7 +171,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
public BaseResponse updateGoodsQty(UpdateShoppingCartGoodsQtyRequestVo requestVo) {
AssortmentCustomerInfoVo customerInfo = customerInfoManager.getCustomerInfoByObject(requestVo.getSessionId());
CustomerInfoVo customerInfo = getCustomerInfoVo(requestVo.getSessionId());
customerInfo = test(customerInfo, requestVo.getSessionId());
ShoppingCartGoodsMealResponseVo responseVo = new ShoppingCartGoodsMealResponseVo();
// 获取当前桌号所有人购物车
......@@ -203,16 +202,16 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
}
buildMealResponse(requestVo.getOrderType(), customerInfo, userCartsMap, responseVo);
buildActivityCalculationDiscountResponse(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getMemberId(), customerInfo.getWxAppId(), requestVo.getOrderType(), false, responseVo);
buildActivityCalculationDiscountResponse(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getMemberId(), customerInfo.getWxAppId(), requestVo.getOrderType(), customerInfo.isMemberPaid(), responseVo);
return ResponseUtil.success(responseVo);
}
//todo 单元测试使用
private AssortmentCustomerInfoVo test(AssortmentCustomerInfoVo customerInfo, String sessionId) {
private CustomerInfoVo test(CustomerInfoVo customerInfo, String sessionId) {
if ((customerInfo == null || customerInfo.getMemberId() == null) && (SDKCommonBaseContextWare.getProfile().equals(SDKCommonBaseContextWare.profiles.DEV.getProfile())
|| SDKCommonBaseContextWare.getProfile().equals(SDKCommonBaseContextWare.profiles.DEFAULT.getProfile()))
&& sessionId.startsWith("unitTestMeal")) {
customerInfo = new AssortmentCustomerInfoVo();
customerInfo = new CustomerInfoVo();
customerInfo.setMemberId(sessionId);
customerInfo.setMobile("10086");
customerInfo.setNickName("test1864" + sessionId);
......@@ -231,7 +230,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
public BaseResponse getGoodsList(ShoppingCartInfoRequestVo request) {
AssortmentCustomerInfoVo customerInfo = customerInfoManager.getCustomerInfoByObject(request.getSessionId());
CustomerInfoVo customerInfo = getCustomerInfoVo(request.getSessionId());
customerInfo = test(customerInfo, request.getSessionId());
checkBase(customerInfo);
......@@ -239,7 +238,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
Map<String, List<String>> userCartsMap = mealCartBaseService.getUserCarts(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getTableNumber());
ShoppingCartGoodsMealResponseVo responseVo = new ShoppingCartGoodsMealResponseVo();
buildMealResponse(request.getOrderType(), customerInfo, userCartsMap, responseVo);
buildActivityCalculationDiscountResponse(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getMemberId(), customerInfo.getWxAppId(), request.getOrderType(), false, responseVo);
buildActivityCalculationDiscountResponse(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getMemberId(), customerInfo.getWxAppId(), request.getOrderType(), customerInfo.isMemberPaid(), responseVo);
return ResponseUtil.success(responseVo);
}
......@@ -248,7 +247,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
return null;
}
private void buildMealResponse(Integer orderType, AssortmentCustomerInfoVo customerInfo, Map<String, List<String>> userCartsMap, ShoppingCartGoodsMealResponseVo responseVo) {
private void buildMealResponse(Integer orderType, CustomerInfoVo customerInfo, Map<String, List<String>> userCartsMap, ShoppingCartGoodsMealResponseVo responseVo) {
responseVo.setCarVer(this.mealCartBaseService.getCartVersion(customerInfo.getPartnerId(), customerInfo.getStoreId(), customerInfo.getTableNumber()));
if (CollectionUtils.isEmpty(userCartsMap)) {
return;
......@@ -312,7 +311,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
}
private void addCartGoodsListBySessionId(List<ShoppingCartGoodsMealCartVo> cartGoodsList, Map<String, CartGoods> cartGoodsMap, String sessionId, List<String> cartIdList, String loginMemberId) {
AssortmentCustomerInfoVo customerInfo = this.customerInfoManager.getCustomerInfoByObject(sessionId);
CustomerInfoVo customerInfo = getCustomerInfoVo(sessionId);
customerInfo = test(customerInfo, sessionId);
if (customerInfo == null || StringUtils.isEmpty(customerInfo.getMemberId()) || CollectionUtils.isEmpty(cartIdList)) {
return;
......@@ -438,7 +437,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
public BaseResponse clear(ShoppingCartClearRequestVo request) {
AssortmentCustomerInfoVo customerInfo = null;
CustomerInfoVo customerInfo = null;
boolean posClear;
Integer operationType = request.getOperationType();
......@@ -455,7 +454,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
}
posClear = true;
} else {
customerInfo = customerInfoManager.getCustomerInfoByObject(request.getSessionId());
customerInfo = getCustomerInfoVo(request.getSessionId());
customerInfo = test(customerInfo, request.getSessionId());
checkBase(customerInfo);
posClear = false;
......@@ -480,7 +479,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
@Override
public BaseResponse<ShoppingCartGoodsDto> getShoppingCartGoods(ShoppingCartInfoRequestVo shoppingCartInfoRequestVo, CreateOrderVo.PremiumExchangeActivity premiumExchangeActivity) {
AssortmentCustomerInfoVo customerInfo = customerInfoManager.getCustomerInfoByObject(shoppingCartInfoRequestVo.getSessionId());
CustomerInfoVo customerInfo = getCustomerInfoVo(shoppingCartInfoRequestVo.getSessionId());
customerInfo = test(customerInfo, shoppingCartInfoRequestVo.getSessionId());
......@@ -535,7 +534,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
}
@Override
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType,boolean isMember,
public ActivityCalculationDiscountResponseDto.CalculationDiscountResult getActivityCalculationDiscountResponse(String partnerId, String storeId, String userId, String appId, Integer orderType, boolean isMember,
List<CartGoods> cartGoodsList, List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons, List<ShoppingCartInfoRequestVo.SendGoods> sendGoodsList,String menuType,Long distributionFee) {
ActivityCalculationDiscountRequestDto activityCalculationDiscountRequestDto = getActivityCalculationDiscountRequestDto(partnerId, storeId, userId, appId, orderType);
List<ActivityCalculationDiscountRequestDto.CalculationDiscountGoods> calculationDiscountGoodsList = new ArrayList<>();
......@@ -552,6 +551,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
activityCalculationDiscountRequestDto.setCoupons(coupons);
activityCalculationDiscountRequestDto.setOrgIds(commonService.getOrgIds(partnerId, storeId));
activityCalculationDiscountRequestDto.setDistributionFee(distributionFee);
activityCalculationDiscountRequestDto.setIsMember(isMember);
ActivityCalculationDiscountResponseDto activityCalculationDiscountResponseDto;
try {
activityCalculationDiscountResponseDto = activityClient.calculationDiscount(activityCalculationDiscountRequestDto);
......@@ -658,7 +658,7 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
}
private void checkBase(AssortmentCustomerInfoVo assortmentCustomerInfoVo) {
private void checkBase(CustomerInfoVo assortmentCustomerInfoVo) {
if (assortmentCustomerInfoVo == null || assortmentCustomerInfoVo.getMemberId() == null) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
......@@ -681,4 +681,15 @@ public class ShoppingCartMealServiceImpl implements ShoppingCartNewService {
return false;
}
private CustomerInfoVo getCustomerInfoVo(String sessionId) {
GetSessionUserInfoDto getSessionUserInfoDto = new GetSessionUserInfoDto();
getSessionUserInfoDto.setIsGetPaid(true);
getSessionUserInfoDto.setSessionId(sessionId);
BaseResponse<CustomerInfoVo> sessionUserInfo = customerApplicationClient.getSessionUserInfo(getSessionUserInfoDto);
if (!ResponseResult.SUCCESS.getCode().equals(sessionUserInfo.getCode()) || sessionUserInfo.getResult() == null) {
throw new ServiceException(ResponseResult.NOT_LOGIN);
}
return sessionUserInfo.getResult();
}
}
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