From 49c1552ab77c0aca7f1f726a89fdccb7ddd428b2 Mon Sep 17 00:00:00 2001 From: Pu Zhibing <393733352@qq.com> Date: 星期五, 27 十二月 2024 11:39:04 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java | 36 ++++++++++++++++++++++++------------ 1 files changed, 24 insertions(+), 12 deletions(-) diff --git a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java index c71b1b9..1d15775 100644 --- a/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java +++ b/ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java @@ -101,12 +101,6 @@ @Resource private UserChangeLogClient userChangeLogClient; - - - - - - @Resource private PointSettingClient pointSettingClient; @@ -175,6 +169,7 @@ area.setCityCode(appUser.getCityCode()); area.setProvinceCode(appUser.getProvinceCode()); area.setVip(appUser.getVipId()); + area.setGoodsId(goodsId); GoodsArea goodsArea = goodsAreaClient.getGoodsArea(area).getData(); if(null == goodsArea){ //没有地区价格,则使用会员价格 @@ -191,6 +186,7 @@ price.setSuperiorSubcommission(goodsVip.getSuperiorSubcommission()); price.setSuperiorRebatePoints(goodsVip.getSuperiorRebatePoints()); price.setSuperiorType(goodsVip.getSuperiorType()); + price.setSuperiorPriceType(goodsVip.getSuperiorPriceType()); price.setServuceShopCharges(goodsVip.getServuceShopCharges()); price.setServuceShopPoints(goodsVip.getServuceShopPoints()); price.setTechnicianPoints(goodsVip.getTechnicianPoints()); @@ -208,6 +204,7 @@ price.setSuperiorSubcommission(goodsArea.getSuperiorSubcommission()); price.setSuperiorRebatePoints(goodsArea.getSuperiorRebatePoints()); price.setSuperiorType(goodsArea.getSuperiorType()); + price.setSuperiorPriceType(goodsArea.getSuperiorPriceType()); price.setServuceShopCharges(goodsArea.getServuceShopCharges()); price.setServuceShopPoints(goodsArea.getServuceShopPoints()); price.setTechnicianPoints(goodsArea.getTechnicianPoints()); @@ -232,6 +229,7 @@ price.setSuperiorSubcommission(goodsArea.getSuperiorSubcommission()); price.setSuperiorRebatePoints(goodsArea.getSuperiorRebatePoints()); price.setSuperiorType(goodsArea.getSuperiorType()); + price.setSuperiorPriceType(goodsArea.getSuperiorPriceType()); price.setServuceShopCharges(goodsArea.getServuceShopCharges()); price.setServuceShopPoints(goodsArea.getServuceShopPoints()); price.setTechnicianPoints(goodsArea.getTechnicianPoints()); @@ -258,7 +256,8 @@ price.setEarnSpendingPoints(goodsSeckill.getEarnSpendingPoints()); price.setSuperiorSubcommission(goodsSeckill.getSuperiorSubcommission()); price.setSuperiorRebatePoints(goodsSeckill.getSuperiorRebatePoints()); - price.setSuperiorType(String.valueOf(goodsSeckill.getSuperiorType())); + price.setSuperiorType(goodsSeckill.getSuperiorType()); + price.setSuperiorPriceType(goodsSeckill.getSuperiorPriceType()); price.setServuceShopCharges(goodsSeckill.getServuceShopCharges()); price.setServuceShopPoints(goodsSeckill.getServuceShopPoints()); price.setTechnicianPoints(goodsSeckill.getTechnicianPoints()); @@ -516,6 +515,7 @@ vo.setSuperiorSubcommission(price.getSuperiorSubcommission()); vo.setSuperiorRebatePoints(price.getSuperiorRebatePoints()); vo.setSuperiorType(price.getSuperiorType()); + vo.setSuperiorPriceType(price.getSuperiorPriceType()); vo.setServuceShopCharges(price.getServuceShopCharges()); vo.setServuceShopPoints(price.getServuceShopPoints()); vo.setTechnicianPoints(price.getTechnicianPoints()); @@ -808,6 +808,12 @@ return R.fail("账户余额不足"); } } + if(3 == shoppingCartPayment.getPaymentType()){ + Integer availablePoint = appUser.getAvailablePoint(); + if(availablePoint < orderPoint){ + return R.fail("账户积分不足"); + } + } //判断运费支付是否足够 if(null != shoppingCartPayment.getFreightPaymentType() && 2 == shoppingCartPayment.getFreightPaymentType() && expressFee.compareTo(BigDecimal.ZERO) > 0){ BigDecimal balance = appUser.getBalance(); @@ -846,6 +852,7 @@ orderGood.setSuperiorSubcommission(myShoppingCartVo.getSuperiorSubcommission()); orderGood.setSuperiorRebatePoints(myShoppingCartVo.getSuperiorRebatePoints()); orderGood.setSuperiorType(myShoppingCartVo.getSuperiorType()); + orderGood.setSuperiorPriceType(myShoppingCartVo.getSuperiorPriceType()); orderGood.setServuceShopCharges(myShoppingCartVo.getServuceShopCharges()); orderGood.setServuceShopPoints(myShoppingCartVo.getServuceShopPoints()); orderGood.setTechnicianPoints(myShoppingCartVo.getTechnicianPoints()); @@ -905,15 +912,16 @@ PointSetting pointSetting = pointSettingClient.getPointSetting(appUser.getVipId()).getData(); int earnPoint1 = earnPoint; if(null != pointSetting && 1 == pointSetting.getBuyPointOpen()){ - earnPoint1 = earnPoint1 * (100 - pointSetting.getBuyPoint()); + earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getBuyPoint().divide(new BigDecimal(100))).intValue(); } appUser.setShopPoint(appUser.getShopPoint() + earnPoint); - appUser.setLavePoint(appUser.getLavePoint() + earnPoint1); + appUser.setLavePoint(appUser.getLavePoint() + earnPoint); appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint); + appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1); UserPoint userPoint = new UserPoint(); userPoint.setType(1); - userPoint.setHistoricalPoint(appUser.getLavePoint() - earnPoint1); + userPoint.setHistoricalPoint(appUser.getLavePoint() - earnPoint); userPoint.setVariablePoint(earnPoint); userPoint.setBalance(appUser.getLavePoint()); userPoint.setCreateTime(LocalDateTime.now()); @@ -953,11 +961,15 @@ int earnPoint1 = earnPoint; //计算可用积分比例 if(null != pointSetting && 1 == pointSetting.getBuyPointOpen()){ - earnPoint1 = earnPoint1 * (100 - pointSetting.getBuyPoint()); + earnPoint1 = new BigDecimal(earnPoint1).multiply(pointSetting.getBuyPoint().divide(new BigDecimal(100))).intValue(); } + //扣减订单支付积分 appUser.setLavePoint(appUser.getLavePoint() - orderPoint); + appUser.setAvailablePoint(appUser.getAvailablePoint() - orderPoint); + appUser.setShopPoint(appUser.getShopPoint() + earnPoint); - appUser.setLavePoint(appUser.getLavePoint() + earnPoint1); + appUser.setLavePoint(appUser.getLavePoint() + earnPoint); + appUser.setAvailablePoint(appUser.getAvailablePoint() + earnPoint1); appUser.setTotalPoint(appUser.getTotalPoint() + earnPoint); appUser.setLastShopTime(LocalDateTime.now()); appUserClient.editAppUserById(appUser); -- Gitblit v1.7.1