Commit c5647b37 by shuhu.hou

新增、查询购物车接口,响应报文新增起售份数字段riseSell

parent ebaf2f27
......@@ -42,7 +42,7 @@
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>productcenter-sdk</artifactId>
<version>2.7.4.RELEASE</version>
<version>2.7.7-SNAPSHOT</version>
<scope>provided</scope>
</dependency>
<dependency>
......
......@@ -274,6 +274,7 @@ public class ShoppingCartAdapter {
cartGoods.setPackPrice(isSkuProduct ? skuProduct.getPackPrice() : spuProduct.getPackPrice());
cartGoods.setStockLimit(isSkuProduct ? ObjectUtils.equals(1, skuProduct.getStockLimit()) : ObjectUtils.equals(1, spuProduct.getStockLimit()));
cartGoods.setCustomerCode(isSkuProduct ? skuProduct.getCustomerCode() : spuProduct.getCustomerCode());
cartGoods.setRiseSell(isSkuProduct?skuProduct.getRiseSell():spuProduct.getRiseSell());
String skuSpecName = "";
if (isSkuProduct && CollectionUtils.isNotEmpty(skuProduct.getSkuSpecValues())) {
......
......@@ -129,6 +129,11 @@ public class CartGoods {
* 第三方商品编码
*/
private String customerCode;
/**
* 商品起售份数
* 无起售份数默认值1
*/
private Integer riseSell;
/**
* 套餐固定商品
......
......@@ -127,52 +127,6 @@ public interface ShoppingCartBaseService {
}
/**
* 检查购物车是否有非法商品,价格变动
*
* @param checkCartRequest
* @return
*/
default BaseResponse<CheckCartRequest> checkAllCartGoods(CheckCartRequest checkCartRequest) {
try {
CartGoodsStates cartGoodsStates = new CartGoodsStates();
// 过滤出非商品券商品的spuId
List<String> spuIds = checkCartRequest.getCartGoodsList().parallelStream()
.filter(k -> StringUtils.isNotEmpty(k.getCartGoodsUid()) && !k.getCartGoodsUid().startsWith(CommonsConstant.COUPON_PREFIX))
.map(CartGoods::getSpuId).collect(Collectors.toList());
if (CollectionUtils.isNotEmpty(spuIds)) {
Map<String, GetMenuByIdsResponseDto.DataBean.MenuDetailDto> menuDetailDtoMap = checkMenuProducts(checkCartRequest.getPartnerId()
, checkCartRequest.getStoreId(), spuIds, checkCartRequest.getTrackingNo(), BusinessTypeEnum.getByType(checkCartRequest.getMenuType()).getCode());
// 校验购物车商品是否在菜单
Set<String> keySet = null;
if (menuDetailDtoMap == null || !(keySet = menuDetailDtoMap.keySet()).containsAll(spuIds)) {
setToastMsgIfNotExist(checkCartRequest.getShoppingCartGoodsResponseVo(), ShoppingCartConstant.SHOPPING_CART_INVALID_GOODS_EXIST);
//当商品不存在于菜单中且不是商品券时,需置空,待移除
checkNoProductExistMenu(checkCartRequest, keySet);
//移除
checkCartRequest.getCartGoodsList().removeIf(k -> k.getCartGoodsUid() == null);
cartGoodsStates.setHasInvalidGoods(true);
}
}
//更新购物车信息
getProductInfoAndVerifyNew(checkCartRequest, cartGoodsStates);
//校验商品券是否有当前点餐方式
cartGoodsStates = updateSpqCartGoodsInfo(checkCartRequest.getCartGoodsList(), checkCartRequest.getOrderWay(), checkCartRequest.getPartnerId(), checkCartRequest.getTrackingNo(), cartGoodsStates);
// 点餐方式改变商品券发生变动
if (cartGoodsStates != null && cartGoodsStates.isOrderWayFlag()) {
setToastMsgIfNotExist(checkCartRequest.getShoppingCartGoodsResponseVo(), ShoppingCartConstant.ORDER_WAY_CHANGE);
}
checkCartRequest.getShoppingCartGoodsResponseVo().setCartGoodsStates(cartGoodsStates);
return CartResponseUtil.success(checkCartRequest);
} catch (Exception e) {
ErrorLog.printErrorLog("assortment-shoppingcart-sdk", checkCartRequest.getTrackingNo(), e.getMessage(), "checkAllCartGoods", checkCartRequest, e, Level.ERROR);
return null;
}
}
default BaseResponse<CheckCartRequest> checkAllCartGoodsNew(CheckCartRequest checkCartRequest) {
ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class);
ProductService productService = SDKCommonBaseContextWare.getBean(ProductService.class);
......
......@@ -35,7 +35,7 @@
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
<artifactId>productcenter-sdk</artifactId>
<version>2.7.4.RELEASE</version>
<version>2.7.7-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>com.freemud.application.service.sdk</groupId>
......
......@@ -136,6 +136,11 @@ public class CartGoods {
*/
private String customerCode;
/**
* 商品起售份数
* 无起售份数默认值1
*/
private Integer riseSell;
/**
* 套餐固定商品
*/
private List<ComboxGoods> productComboList;
......
......@@ -153,11 +153,7 @@ public class AssortmentSdkService {
checkCartRequest.setTrackingNo(LogThreadLocal.getTrackingNo());
checkCartRequest.setMenuType(BusinessTypeEnum.getByType(menuType).getCode());
BaseResponse<CheckCartRequest> baseResponse ;
if ("checkAllCartGoodsNew".equals(shoppingCartCheckAction)){
baseResponse= shoppingCartService.checkAllCartGoodsNew(checkCartRequest);
}else {
baseResponse=shoppingCartService.checkAllCartGoods(checkCartRequest);
}
baseResponse= shoppingCartService.checkAllCartGoodsNew(checkCartRequest);
if (baseResponse == null) {
return null;
}
......
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