Commit 135cca53 by 徐康

批量加车报错修改

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