Commit 135cca53 by 徐康

批量加车报错修改

parent 44c0ea9f
......@@ -61,6 +61,8 @@ public class ShoppingCartConstant {
public static final int PRODUCT_GROUP_EMPTY= 109;
public static final String CART_PRODUCT_GROUP_EMPTY_STATE = "您选择的【$spuName】商品有未选商品";
public static final String CART_PRODUCT_NOT_MET_CONDITIONS = "您选择的【$spuName】不满足购买条件";
/**
* 可选商品价格校验失败
*/
......
......@@ -14,7 +14,9 @@ package com.freemud.sdk.api.assortment.shoppingcart.domain;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
@Data
public class ShoppingCartGoodsResponseVo {
......@@ -63,6 +65,11 @@ public class ShoppingCartGoodsResponseVo {
* 前端用来提示的信息
*/
private String toastMsg;
/**
* 前端用来提示的信息
*/
Map<String, List<String>> toastMsgMap = new HashMap<>();
/**
* 购物车中商品价格或有效性是否发生变化
*/
......
......@@ -2,6 +2,10 @@ package cn.freemud.entities.vo;
import lombok.Data;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
* All rights Reserved, Designed By www.freemud.com
*
......@@ -22,6 +26,10 @@ public class ShoppingCartGoodsBaseResponseVo {
*/
private String toastMsg;
/**
* 前端用来提示的信息
*/
Map<String, List<String>> toastMsgMap = new HashMap<>();
/**
* 购物车中商品价格或有效性是否发生变化
*/
private Boolean changed;
......
......@@ -253,7 +253,7 @@ public class ShoppingCartMCoffeeServiceImpl {
}
BaseResponse baseResponse = null;
ShoppingCartGoodsResponseVo result = new ShoppingCartGoodsResponseVo();
List<String> toastMsgList = new ArrayList<>();
Map<String, List<String>> allToastMsgMap = new HashMap<>();
for (BatchGoodsInfoVo goodsInfo : requestVo.getGoodsInfos()) {
baseResponse = addGoods(convertBatchAdd2SingleAdd(goodsInfo,requestVo));
if (!Objects.equals(ResponseCodeConstant.RESPONSE_SUCCESS_STR,baseResponse.getCode())){
......@@ -262,11 +262,37 @@ public class ShoppingCartMCoffeeServiceImpl {
ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo = (ShoppingCartGoodsResponseVo) baseResponse.getResult();
if(null != shoppingCartGoodsResponseVo && null != shoppingCartGoodsResponseVo.getChanged() && shoppingCartGoodsResponseVo.getChanged()) {
result.setChanged(true);
toastMsgList.add(shoppingCartGoodsResponseVo.getToastMsg());
if(null != shoppingCartGoodsResponseVo.getToastMsgMap() && shoppingCartGoodsResponseVo.getToastMsgMap().size() > 0) {
shoppingCartGoodsResponseVo.getToastMsgMap().entrySet().stream().forEach(o -> {
if(allToastMsgMap.get(o.getKey()) != null) {
allToastMsgMap.get(o.getKey()).addAll(o.getValue());
} else {
allToastMsgMap.put(o.getKey(), o.getValue());
}
});
}
}
}
if(CollectionUtils.isNotEmpty(toastMsgList)){
result.setToastMsg(StringUtils.join(toastMsgList, ";"));
if(null != allToastMsgMap && allToastMsgMap.size() > 0) {
String toastMsg = "";
if (CollectionUtils.isNotEmpty(allToastMsgMap.get(CART_PRODUCT_INVALID_STATE))){
toastMsg = toastMsg.concat(CART_PRODUCT_INVALID_STATE.replace("$spuName",StringUtils.join(allToastMsgMap.get(CART_PRODUCT_INVALID_STATE),",")));
}
if (CollectionUtils.isNotEmpty(allToastMsgMap.get(CART_PRODUCT_NOT_FOUND))){
toastMsg = toastMsg.concat(CART_PRODUCT_NOT_FOUND.replace("$spuName",StringUtils.join(allToastMsgMap.get(CART_PRODUCT_NOT_FOUND),",")));
}
if (CollectionUtils.isNotEmpty(allToastMsgMap.get(CART_PRODUCT_PRICE_CHANGE))){
toastMsg = toastMsg.concat(CART_PRODUCT_PRICE_CHANGE.replace("$spuName",StringUtils.join(allToastMsgMap.get(CART_PRODUCT_PRICE_CHANGE),",")));
}
if (CollectionUtils.isNotEmpty(allToastMsgMap.get(CART_PRODUCT_NOT_MET_CONDITIONS))){
toastMsg = toastMsg.concat(CART_PRODUCT_NOT_MET_CONDITIONS.replace("$spuName",StringUtils.join(allToastMsgMap.get(CART_PRODUCT_NOT_MET_CONDITIONS),",")));
}
if (CollectionUtils.isNotEmpty(allToastMsgMap.get(COUPON_IS_DISABLE))){
toastMsg = toastMsg.concat(COUPON_IS_DISABLE.replace("$couponName",StringUtils.join(allToastMsgMap.get(COUPON_IS_DISABLE),",")));
}
result.setToastMsg(toastMsg);
return ResponseUtil.success(result);
}
return baseResponse;
......@@ -1841,6 +1867,7 @@ public class ShoppingCartMCoffeeServiceImpl {
storeId, shoppingCartGoodsResponseVo, orderType, sessionId, menuType, shoppingCartBaseService);
if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) {
shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg());
shoppingCartGoodsResponseVo.setToastMsgMap(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsgMap());
shoppingCartGoodsResponseVo.setChanged(checkCartRequest.getShoppingCartGoodsResponseVo().getChanged());
}
allCartGoodsList = JSONArray.parseArray(JSONObject.toJSONString(checkCartRequest.getCartGoodsList()), CartGoods.class);
......@@ -1995,6 +2022,7 @@ public class ShoppingCartMCoffeeServiceImpl {
String toastMsg = "";
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
if (CollectionUtils.isNotEmpty(validateResult.getFailureList())){
Map<String, List<String>> toastMsgMap = new HashMap<>();
List<String> invalidSpu = new ArrayList<>();
List<String> notFoundSpu = new ArrayList<>();
List<String> numErrorSpu = new ArrayList<>();
......@@ -2056,23 +2084,29 @@ public class ShoppingCartMCoffeeServiceImpl {
if (CollectionUtils.isNotEmpty(invalidSpu)){
toastMsg = toastMsg.concat(CART_PRODUCT_INVALID_STATE.replace("$spuName",StringUtils.join(invalidSpu,",")));
toastMsgMap.put(CART_PRODUCT_INVALID_STATE, invalidSpu);
}
if (CollectionUtils.isNotEmpty(notFoundSpu)){
toastMsg = toastMsg.concat(CART_PRODUCT_NOT_FOUND.replace("$spuName",StringUtils.join(notFoundSpu,",")));
toastMsgMap.put(CART_PRODUCT_NOT_FOUND, invalidSpu);
}
if (CollectionUtils.isNotEmpty(changePriceSpu)){
toastMsg = toastMsg.concat(CART_PRODUCT_PRICE_CHANGE.replace("$spuName",StringUtils.join(changePriceSpu,",")));
toastMsgMap.put(CART_PRODUCT_PRICE_CHANGE, invalidSpu);
}
if (CollectionUtils.isNotEmpty(numErrorSpu)){
toastMsg = toastMsg.concat("您选择的【$spuName】不满足购买条件".replace("$spuName",StringUtils.join(numErrorSpu,",")));
toastMsgMap.put("您选择的【$spuName】不满足购买条件", invalidSpu);
}
if (CollectionUtils.isNotEmpty(disableCoupon)){
toastMsg = toastMsg.concat(COUPON_IS_DISABLE.replace("$couponName",StringUtils.join(disableCoupon,",")));
toastMsgMap.put(COUPON_IS_DISABLE, invalidSpu);
}
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(toastMsg);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsgMap(toastMsgMap);
setToastMsgIfNotExist(checkCartRequest.getShoppingCartGoodsResponseVo(), com.freemud.sdk.api.assortment.shoppingcart.constant.ShoppingCartConstant.SHOPPING_CART_GOODS_CHANGE);
checkCartRequest.getCartGoodsList().removeIf(k -> StringUtils.isEmpty(k.getCartGoodsUid()));
......
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