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