Commit 5ee2d2ae by shuhu.hou@freemud.cn

购物车校验fixbug

parent 2c1b33c4
......@@ -178,7 +178,9 @@ public interface ShoppingCartBaseService {
ValidateShopProductRequest validateShopProductRequest = shoppingCartAdapter.getValidateShopProductRequest(checkCartRequest);
com.freemud.application.sdk.api.base.BaseResponse<ValiadShopProductResponse> valiadResponse = productService.validateShopProduct(validateShopProductRequest);
if (valiadResponse == null || !CartResponseConstant.SUCCESS.getCode().equals(valiadResponse.getCode()) || valiadResponse.getData()==null) {
return CartResponseUtil.error(valiadResponse.getMessage());
checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(ShoppingCartConstant.SHOPPING_CART_INVALIAD_GOODS);
return CartResponseUtil.error(valiadResponse.getMessage(),checkCartRequest);
}
ValiadShopProductResponse valiadResult = valiadResponse.getData();
//非法商品(商品是否存在、商品是否处于上架状态)自动移除,返回前端提示
......@@ -198,14 +200,16 @@ public interface ShoppingCartBaseService {
CartGoodsStates cartGoodsStates = new CartGoodsStates();
//更新购物车详细信息
if (CollectionUtils.isEmpty(checkCartRequest.getCartGoodsList()) || CollectionUtils.isEmpty(productList)){
return CartResponseUtil.success(checkCartRequest);
checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(ShoppingCartConstant.SHOPPING_CART_INVALIAD_GOODS);
return CartResponseUtil.error(valiadResponse.getMessage(),checkCartRequest);
}
for (CartGoods cartGoods : checkCartRequest.getCartGoodsList()) {
// 当goodsId为空或商品是商品券时直接跳过
if (StringUtils.isEmpty(cartGoods.getGoodsId()) || Objects.equals(cartGoods.getGoodsType(), GoodsTypeEnum.COUPON_GOODS.getGoodsType())) {
continue;
}
shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList, cartGoodsStates, new ArrayList<>());
shoppingCartAdapter.updateCartGoodsInfoNew(cartGoods, productList);
}
//校验商品券是否有当前点餐方式
cartGoodsStates = updateSpqCartGoodsInfo(checkCartRequest.getCartGoodsList(), checkCartRequest.getOrderWay(), checkCartRequest.getPartnerId(), checkCartRequest.getTrackingNo(), cartGoodsStates);
......@@ -217,7 +221,9 @@ public interface ShoppingCartBaseService {
return CartResponseUtil.success(checkCartRequest);
} catch (Exception e) {
ErrorLog.printErrorLog("assortment-shoppingcart-sdk", checkCartRequest.getTrackingNo(), e.getMessage(), "checkAllCartGoods", checkCartRequest, e, Level.ERROR);
return null;
checkCartRequest.getShoppingCartGoodsResponseVo().setChanged(true);
checkCartRequest.getShoppingCartGoodsResponseVo().setToastMsg(ShoppingCartConstant.SHOPPING_CART_INVALIAD_GOODS);
return CartResponseUtil.error(e.getMessage(),checkCartRequest);
}
}
......@@ -343,8 +349,7 @@ public interface ShoppingCartBaseService {
}
ProductBeanDTO productBean;
// 判断商品是否合法(商品是否存在、商品是否处于上架状态)
if (((productBean = productBeanMap.get(cartGoods.getGoodsId())) != null) && (productBean.isValid())
&& (StoreItemStatus.PUT_ON_SALE.getCode().equals(productBean.getStatus()))) {
if (((productBean = productBeanMap.get(cartGoods.getGoodsId())) != null) && (StoreItemStatus.PUT_ON_SALE.getCode().equals(productBean.getStatus()))) {
ShoppingCartAdapter shoppingCartAdapter = SDKCommonBaseContextWare.getBean(ShoppingCartAdapter.class);
shoppingCartAdapter.updateCartGoodsInfo(cartGoods, productBeans, cartGoodsStates, invalidGoodsIdList);
} else {
......
......@@ -29,4 +29,7 @@ public class CartResponseUtil {
public static <T> BaseResponse<T> error(String message) {
return new BaseResponse<>(Version.VERSION_1, CartResponseConstant.FAIL.getCode(), message);
}
public static <T> BaseResponse<T> error(String message,T t) {
return new BaseResponse<>(CartResponseConstant.FAIL.getCode(), message, Version.VERSION_1, t);
}
}
......@@ -37,7 +37,6 @@ public interface CommonService {
request.setStoreCode(storeCode);
StoreCenterService storeCenterService = SpringBeanUtil.getBean(StoreCenterService.class);
BaseResponse<List<String>> orgList = storeCenterService.getOrgList(request, LogThreadLocal.getTrackingNo());
ApiLog.info("CommonService_getOrgIds",request,orgList);
if (orgList != null && ResponseCodeConstant.RESPONSE_SUCCESS_STR.equals(orgList.getCode())) {
return orgList.getData();
}
......
......@@ -156,7 +156,7 @@ public class AssortmentSdkService {
}else {
baseResponse=shoppingCartService.checkAllCartGoods(checkCartRequest);
}
if (baseResponse == null || !ResponseResult.SUCCESS.getCode().equals(baseResponse.getCode())) {
if (baseResponse == null) {
return null;
}
return baseResponse.getResult();
......
......@@ -40,7 +40,7 @@ public class CustomerScoreService implements IPromotionService {
@Override
public void updateShoppingCartGoodsDiscount(CouponPromotionVO couponPromotionVO, ActivityQueryDto activityQueryDto, ActivityCalculationDiscountResponseDto.CalculationDiscountResult calculationDiscountResult, List<CartGoods> cartGoodsList, ShoppingCartGoodsResponseVo shoppingCartGoodsResponseVo, UserLoginInfoDto userLoginInfoDto, ShoppingCartInfoRequestVo shoppingCartInfoRequestVo) {
if (shoppingCartInfoRequestVo == null || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore().equals(CustomerScoreConstant.NO_DISPLAY.getValue())) {
if (shoppingCartInfoRequestVo == null || ObjectUtils.notEqual(1, shoppingCartInfoRequestVo.getFlag()) || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore() == null || shoppingCartInfoRequestVo.getUseCustomerScore().equals(CustomerScoreConstant.NO_DISPLAY.getValue())) {
return;
}
GetUserScoreUseDetailRequest request = new GetUserScoreUseDetailRequest();
......
......@@ -410,19 +410,20 @@ public class ShoppingCartNewServiceImpl implements ShoppingCartNewService {
String appId = shoppingCartInfoRequestVo.getAppId();
String couponCode = shoppingCartInfoRequestVo.getCouponCode();
String activityCode = shoppingCartInfoRequestVo.getActivityCode();
Integer flag = shoppingCartInfoRequestVo.getFlag();
// 获取购物车商品
List<CartGoods> cartGoodsList = assortmentSdkService.getShoppingCart(partnerId, storeId, userId, null, "", shoppingCartBaseService);
// check购物车中所有商品
// 如果购物车商品不为空, 则check购物车中所有商品
if (CollectionUtils.isNotEmpty(cartGoodsList)){
CheckCartRequest checkCartRequest = assortmentSdkService.checkShoppingCartSdk(cartGoodsList, partnerId, storeId, shoppingCartGoodsResponseVo, shoppingCartInfoRequestVo.getOrderType(), "", shoppingCartBaseService);
if (checkCartRequest.getShoppingCartGoodsResponseVo() != null) {
shoppingCartGoodsResponseVo.setChanged(checkCartRequest.getShoppingCartGoodsResponseVo().getChanged());
shoppingCartGoodsResponseVo.setToastMsg(checkCartRequest.getShoppingCartGoodsResponseVo().getToastMsg());
}
cartGoodsList = JSONArray.parseArray(JSONObject.toJSONString(checkCartRequest.getCartGoodsList()), CartGoods.class);
// 重新存储最新购物车
assortmentSdkService.setShoppingCart(partnerId, storeId, userId, cartGoodsList, assortmentCustomerInfoVo.getSessionId(), "", this.shoppingCartBaseService);
}
List<ActivityCalculationDiscountRequestDto.CalculationDiscountCoupon> coupons = new ArrayList<>();
// 当couponCode不为空时,需参与价格计算
if (StringUtils.isNotEmpty(couponCode)) {
......
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