Commit f1d83636 by yu.sun

Merge branch 'feature/20200929_麦咖啡再来一单'

# Conflicts:
#	shopping-cart-application-service/src/main/java/cn/freemud/service/impl/mcoffee/ShoppingCartMCoffeeServiceImpl.java
parents 283076d3 5fed4b60
......@@ -25,7 +25,6 @@ import com.freemud.application.sdk.api.productcenter.request.product.valid.Valid
import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse;
import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResponse;
import com.freemud.application.sdk.api.productcenter.response.valid.ValiadShopProductResult;
import com.freemud.application.sdk.api.productcenter.service.MenuService;
import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.application.sdk.api.storecenter.request.vo.GetOrgTreeListRequest;
import com.freemud.application.sdk.api.storecenter.response.vo.GetOrgTreeListResponse;
......@@ -344,32 +343,32 @@ public interface ShoppingCartBaseService {
* @param checkCartRequest
* @param cartGoodsStates
*/
default void getProductInfoAndVerifyNew(CheckCartRequest checkCartRequest, CartGoodsStates cartGoodsStates) {
if (CollectionUtils.isEmpty(checkCartRequest.getCartGoodsList())) {
return;
}
// 获取购物车中所有的商品详情
// 包含:1、普通商品 2、套餐内的固定商品和可选商品
ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class);
GetProductInfoRequest getSpuProductInfoRequest = shoppingCartAdapter.convertGetProductInfoRequest(checkCartRequest);
getSpuProductInfoRequest.setMenuType(checkCartRequest.getMenuType());
BaseResponse<List<ProductBeanDTO>> productInfo = getProductsInfo(getSpuProductInfoRequest);
if ((productInfo == null) || (!CartResponseConstant.SUCCESS.getCode().equals(productInfo.getCode()))) {
return;
}
//更新购物车详细信息
updateCartGoodsListInfoNew(checkCartRequest.getCartGoodsList(), productInfo.getResult(), cartGoodsStates, checkCartRequest.getPartnerId(), checkCartRequest.getStoreId(), checkCartRequest.getTableNumber());
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = checkCartRequest.getShoppingCartGoodsResponseVo();
// 有非法商品
if (cartGoodsStates.isHasInvalidGoods()) {
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_INVALID_GOODS_EXIST);
}
// 价格发生变化时返回
if (cartGoodsStates.isPriceChanged()) {
setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_ACTIVITY_CHANGE);
}
checkCartRequest.setShoppingCartGoodsResponseVo(shoppingCartGoodsResponseVo);
}
// default void getProductInfoAndVerifyNew(CheckCartRequest checkCartRequest, CartGoodsStates cartGoodsStates) {
// if (CollectionUtils.isEmpty(checkCartRequest.getCartGoodsList())) {
// return;
// }
// // 获取购物车中所有的商品详情
// // 包含:1、普通商品 2、套餐内的固定商品和可选商品
// ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class);
// GetProductInfoRequest getSpuProductInfoRequest = shoppingCartAdapter.convertGetProductInfoRequest(checkCartRequest);
// getSpuProductInfoRequest.setMenuType(checkCartRequest.getMenuType());
// BaseResponse<List<ProductBeanDTO>> productInfo = getProductsInfo(getSpuProductInfoRequest);
// if ((productInfo == null) || (!CartResponseConstant.SUCCESS.getCode().equals(productInfo.getCode()))) {
// return;
// }
// //更新购物车详细信息
// updateCartGoodsListInfoNew(checkCartRequest.getCartGoodsList(), productInfo.getResult(), cartGoodsStates, checkCartRequest.getPartnerId(), checkCartRequest.getStoreId(), checkCartRequest.getTableNumber());
// ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = checkCartRequest.getShoppingCartGoodsResponseVo();
// // 有非法商品
// if (cartGoodsStates.isHasInvalidGoods()) {
// setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_INVALID_GOODS_EXIST);
// }
// // 价格发生变化时返回
// if (cartGoodsStates.isPriceChanged()) {
// setToastMsgIfNotExist(shoppingCartGoodsResponseVo, ShoppingCartConstant.SHOPPING_CART_ACTIVITY_CHANGE);
// }
// checkCartRequest.setShoppingCartGoodsResponseVo(shoppingCartGoodsResponseVo);
// }
/**
* 根据点餐方式、校验商品券是否满足
......@@ -475,38 +474,38 @@ public interface ShoppingCartBaseService {
cartGoodsList.removeIf(k -> invalidGoodsIdList.contains(k.getCartGoodsUid()) || StringUtils.isEmpty(k.getCartGoodsUid()));
}
default Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> checkMenuProducts(String partnerId,
String shopId,
List<String> productIds, String trackingNo,String menuType) {
Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> menuDetailDtosMap = new HashMap<>();
//查询spu商品是否在菜单
GetMenuCategoryByIdsRequest getMenuCategoryByIdsDto = GetMenuCategoryByIdsRequest.builder()
.businessDate(DateTimeUtils.getCurrentDateTimeStr())
.channelType(menuType)
.partnerId(partnerId)
.shopId(shopId)
.productIds(productIds).build();
MenuService menuService = SDKCommonBaseContextWare.getBean(MenuService.class);
com.freemud.application.sdk.api.base.BaseResponse<GetMenuCategoryByIdsResponse> getMenuCategoryByIdsResponse = menuService.getMenuCategoryByIds(getMenuCategoryByIdsDto, trackingNo);
if (getMenuCategoryByIdsResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(getMenuCategoryByIdsResponse.getCode())
|| getMenuCategoryByIdsResponse.getData() == null || CollectionUtils.isEmpty(getMenuCategoryByIdsResponse.getData().getMenuDetailDtos())) {
return null;
}
Map<String, GetMenuCategoryByIdsResponse.MenuDetailDto> menuDetailDtosMapTemp = getMenuCategoryByIdsResponse.getData().getMenuDetailDtos().parallelStream()
.collect(Collectors.toMap(GetMenuCategoryByIdsResponse.MenuDetailDto::getProductId, Function.identity(), (k1, k2) -> k1));
for (Map.Entry<String, GetMenuCategoryByIdsResponse.MenuDetailDto> entry : menuDetailDtosMapTemp.entrySet()) {
GetMenuByIdsResponseDto.DataBean.MenuDetailDto menuDetailDto = new GetMenuByIdsResponseDto.DataBean.MenuDetailDto();
BeanUtils.copyProperties(entry.getValue(), menuDetailDto);
menuDetailDtosMap.put(entry.getKey(), menuDetailDto);
}
return menuDetailDtosMap;
}
// default Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> checkMenuProducts(String partnerId,
// String shopId,
// List<String> productIds, String trackingNo,String menuType) {
//
// Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> menuDetailDtosMap = new HashMap<>();
//
// //查询spu商品是否在菜单
// GetMenuCategoryByIdsRequest getMenuCategoryByIdsDto = GetMenuCategoryByIdsRequest.builder()
// .businessDate(DateTimeUtils.getCurrentDateTimeStr())
// .channelType(menuType)
// .partnerId(partnerId)
// .shopId(shopId)
// .productIds(productIds).build();
// MenuService menuService = SDKCommonBaseContextWare.getBean(MenuService.class);
// com.freemud.application.sdk.api.base.BaseResponse<GetMenuCategoryByIdsResponse> getMenuCategoryByIdsResponse = menuService.getMenuCategoryByIds(getMenuCategoryByIdsDto, trackingNo);
//
// if (getMenuCategoryByIdsResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(getMenuCategoryByIdsResponse.getCode())
// || getMenuCategoryByIdsResponse.getData() == null || CollectionUtils.isEmpty(getMenuCategoryByIdsResponse.getData().getMenuDetailDtos())) {
// return null;
// }
//
// Map<String, GetMenuCategoryByIdsResponse.MenuDetailDto> menuDetailDtosMapTemp = getMenuCategoryByIdsResponse.getData().getMenuDetailDtos().parallelStream()
// .collect(Collectors.toMap(GetMenuCategoryByIdsResponse.MenuDetailDto::getProductId, Function.identity(), (k1, k2) -> k1));
//
// for (Map.Entry<String, GetMenuCategoryByIdsResponse.MenuDetailDto> entry : menuDetailDtosMapTemp.entrySet()) {
// GetMenuByIdsResponseDto.DataBean.MenuDetailDto menuDetailDto = new GetMenuByIdsResponseDto.DataBean.MenuDetailDto();
// BeanUtils.copyProperties(entry.getValue(), menuDetailDto);
// menuDetailDtosMap.put(entry.getKey(), menuDetailDto);
// }
//
// return menuDetailDtosMap;
// }
/**
* 当ToastMsg为空时才赋值
......
......@@ -22,7 +22,6 @@ import com.freemud.application.sdk.api.productcenter.request.product.GetProductR
import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryByIdsResponse;
import com.freemud.application.sdk.api.productcenter.response.menu.GetMenuCategoryInfoResponse;
import com.freemud.application.sdk.api.productcenter.response.product.GetProductInfosResponse;
import com.freemud.application.sdk.api.productcenter.service.MenuService;
import com.freemud.application.sdk.api.productcenter.service.ProductService;
import com.freemud.sdk.api.assortment.shoppingcart.adapter.ShoppingCartAdapter;
import com.freemud.sdk.api.assortment.shoppingcart.constant.*;
......@@ -70,8 +69,8 @@ public class ShoppingCartBaseServiceImpl implements ShoppingCartBaseService {
private RedisCache redisCache;
@Autowired
private RedisTemplate redisTemplate;
@Autowired
private MenuService menuService;
// @Autowired
// private MenuService menuService;
@Autowired
private ShoppingCartAdapter shoppingCartAdapter;
@Autowired
......
......@@ -60,6 +60,9 @@ public enum ResponseResult {
STORE_NOT_ENABLE_COLLECT_GOODS("43011", "门店不支持到店"),
STORE_MALL_NOT_FOUND("43012", "商城门店不存在"),
STORE_DELIVERY_AMOUNT_ERROR("43013", "配送费错误"),
//麦咖啡专用提示
CART_STORE_CLOSE("43014","您选择的【$storeName】门店已关闭,请选择其他门店。"),
CART_STORE_REST("43015","您选择的【$storeName】门店已打烊,请选择其他门店。"),
/**
* 购物车状态码
......
......@@ -17,8 +17,8 @@ public enum ShoppingCartOperationType {
ADD_PRODUCT_COUPON(1,"增加商品券"),
ADD_SUPER_PRICE_GOODS(2,"增加超值加购商品"),
UPDATE3(3,"切换门店校验"),
UPDATE4(4,"确认切换门店")
CHECK(3,"切换门店校验"),
CONFIRM(4,"确认切换门店")
;
......
......@@ -44,4 +44,10 @@ public class CopyShoppingCartRequestVo {
@NotEmpty(message = "orderId不能为空")
private String orderId;
/**
* 操作类型 ShoppingCartOperationType 枚举
* 校验通过直接返回购物车商品数据
*/
private Integer operationType;
}
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