From c16b9ffceac828840ef7ebc4827612d17906704a Mon Sep 17 00:00:00 2001 From: jyy <935090232@qq.com> Date: Fri, 19 Mar 2021 19:56:29 +0800 Subject: [PATCH] 积分商城9 --- zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java | 93 +++++++++++++++++++++++----------------------- 1 files changed, 47 insertions(+), 46 deletions(-) diff --git a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java index f790cc8..ab83b88 100644 --- a/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java +++ b/zq-erp/src/main/java/com/matrix/system/shopXcx/api/service/ShoppingCartService.java @@ -1,19 +1,15 @@ package com.matrix.system.shopXcx.api.service; -import com.matrix.core.tools.LogUtil; import com.matrix.biz.bean.BizUser; -import com.matrix.system.common.bean.BusParameterSettings; -import com.matrix.system.common.bean.CustomerDataDictionary; -import com.matrix.system.common.dao.BusParameterSettingsDao; -import com.matrix.system.common.dao.CustomerDataDictionaryDao; import com.matrix.component.redis.RedisUserLoginUtils; -import com.matrix.system.common.constance.AppConstance; - +import com.matrix.core.exception.GlobleException; +import com.matrix.core.tools.LogUtil; +import com.matrix.system.common.dao.BusParameterSettingsDao; +import com.matrix.system.shopXcx.api.vo.ShopCartBillVo; +import com.matrix.system.shopXcx.api.vo.ShopCartVo; import com.matrix.system.shopXcx.bean.ShopCoupon; import com.matrix.system.shopXcx.bean.ShopShoppingCart; import com.matrix.system.shopXcx.dao.ShopShoppingCartDao; -import com.matrix.system.shopXcx.api.vo.ShopCartBillVo; -import com.matrix.system.shopXcx.api.vo.ShopCartVo; import org.apache.commons.collections.CollectionUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -41,11 +37,7 @@ public ShopCartBillVo buildShopCartBillVo(List<ShopCartVo> cartList) { ShopCartBillVo shopCartBillVo = new ShopCartBillVo(); - //计算购车选中项总价以及优惠金额 - BigDecimal billTotal = BigDecimal.ZERO; - BigDecimal billCouponTotal = BigDecimal.ZERO; - //未优惠之前的金额 - BigDecimal srcTotal = BigDecimal.ZERO; + //计算是否存在选中的产品 Integer selectCount = 0; @@ -64,8 +56,6 @@ shopCartBillVo.setBillCouponTotal(shopCartBillVo.getBillCouponTotal().add(shopCartVo.getCouponPrice())); } } - - for (ShopShoppingCart shopCart : shopCartVo.getCartList()) { if (shopCart.getIsSelected() == 1) { selectCount += shopCart.getCartNumber(); @@ -75,6 +65,7 @@ } shopCartBillVo.setCartCount(cartCount); shopCartBillVo.setSelectCount(selectCount); + return shopCartBillVo; } @@ -84,10 +75,10 @@ * @return * @param shopId */ - public List<ShopCartVo> findUserCartList(Long shopId) { + public List<ShopCartVo> findUserCartList(Long shopId,Integer cartType) { BizUser loginUser = redisUserLoginUtils.getLoginUser(BizUser.class); String userId = loginUser.getOpenId(); - List<ShopShoppingCart> list = shoppingCartDao.selectByCartUserId(shopId,userId); + List<ShopShoppingCart> list = shoppingCartDao.selectByCartUserId(shopId,userId,cartType); List<ShopCartVo> cartList = buildShopCart(list); return cartList; } @@ -108,11 +99,7 @@ // 1表示没有优惠的默认分组 ShopCartVo def = new ShopCartVo(); - /** - * 同城配送标题 - * //DataDictionary qsfy = dataDictionaryDao.selectByTypeCode(AppConstance.QSFY); - * //def.setMsg("2公里内满" + qsfy.getValue() + "元免配送费"); - */ + def.setMsg("商城"); def.setCartList(new ArrayList<>()); @@ -125,19 +112,23 @@ //查询购物车中的产品匹配上的所有优惠活动 for (ShopShoppingCart shoppingCart : list) { - List<ShopCoupon> shopCoupons = shopCouponService.getHdListByProductId(shoppingCart.getCartProductId()); - - if (CollectionUtils.isNotEmpty(shopCoupons)) { - // 把所有的优惠券和购物车条目先关联一下,后续可以计算优惠升级的情况 - shoppingCart.setShopCoupons(shopCoupons); - for (ShopCoupon shopCoupon : shopCoupons) { - shopCouponMap.put(shopCoupon.getId(), shopCoupon); - } - } else { - // 该产品没有参加优惠券 + if(shoppingCart.getCartType()==ShopShoppingCart.CAR_TYPE_SCORE){ + // 积分兑换产品不参加优惠 def.getCartList().add(shoppingCart); - + }else{ + List<ShopCoupon> shopCoupons = shopCouponService.getHdListByProductId(shoppingCart.getCartProductId()); + if (CollectionUtils.isNotEmpty(shopCoupons)) { + // 把所有的优惠券和购物车条目先关联一下,后续可以计算优惠升级的情况 + shoppingCart.setShopCoupons(shopCoupons); + for (ShopCoupon shopCoupon : shopCoupons) { + shopCouponMap.put(shopCoupon.getId(), shopCoupon); + } + } else { + // 该产品没有参加优惠券 + def.getCartList().add(shoppingCart); + } } + } //计算没有优惠组的价格 @@ -279,13 +270,28 @@ List<ShopShoppingCart> cartList = shopCartVo.getCartList(); // 计算总价 BigDecimal sum = BigDecimal.ZERO; + //抵扣总积分 + BigDecimal scoreSum = BigDecimal.ZERO; // 选中项总价 BigDecimal selectSum = BigDecimal.ZERO; for (ShopShoppingCart shopShoppingCart : cartList) { - sum = sum.add(shopShoppingCart.getPrice().multiply(BigDecimal.valueOf(shopShoppingCart.getCartNumber()))); - if (shopShoppingCart.getIsSelected() == 1) { - selectSum = selectSum - .add(shopShoppingCart.getPrice().multiply(BigDecimal.valueOf(shopShoppingCart.getCartNumber()))); + if(ShopShoppingCart.CAR_TYPE_MICRO==shopShoppingCart.getCartType()){ + //直接购买 + sum = sum.add(shopShoppingCart.getPrice().multiply(BigDecimal.valueOf(shopShoppingCart.getCartNumber()))); + if (shopShoppingCart.getIsSelected() == 1) { + selectSum = selectSum + .add(shopShoppingCart.getPrice().multiply(BigDecimal.valueOf(shopShoppingCart.getCartNumber()))); + } + }else if(ShopShoppingCart.CAR_TYPE_SCORE==shopShoppingCart.getCartType()){ + //积分兑换 + sum = sum.add(shopShoppingCart.getScorePrice().multiply(BigDecimal.valueOf(shopShoppingCart.getCartNumber()))); + if (shopShoppingCart.getIsSelected() == 1) { + selectSum = selectSum + .add(shopShoppingCart.getScorePrice().multiply(BigDecimal.valueOf(shopShoppingCart.getCartNumber()))); + scoreSum = scoreSum.add(new BigDecimal(shopShoppingCart.getScoreCount() * shopShoppingCart.getCartNumber())); + } + }else{ + throw new GlobleException("参数错误"); } } @@ -316,15 +322,10 @@ } } } else { - BusParameterSettings qsfy= busParameterSettingsDao.selectCompanyParamByCode(AppConstance.IN_PROVINCE_PACKAGE_LIST,17L); - - shopCartVo.setSubtotal(selectSum); - shopCartVo.setSrcPrice(selectSum); - if (selectSum.compareTo(new BigDecimal(qsfy.getParamValue())) < 0) { - shopCartVo.setSatisfactionCoupon(false); - } else { + shopCartVo.setSubtotal(selectSum); + shopCartVo.setSrcPrice(selectSum); shopCartVo.setSatisfactionCoupon(true); - } } + shopCartVo.setScorePay(scoreSum); } } -- Gitblit v1.9.1