From 3c923d976c45df37ea752153e12107a3a29437e1 Mon Sep 17 00:00:00 2001
From: Pu Zhibing <393733352@qq.com>
Date: 星期四, 16 一月 2025 17:54:22 +0800
Subject: [PATCH] Merge branch 'master' of http://120.76.84.145:10101/gitblit/r/java/qijisheng

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java |   24 +++++++++++++++---------
 1 files changed, 15 insertions(+), 9 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 4904c61..5fbb70b 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
@@ -191,7 +191,7 @@
 		info.setVip(appUser.getVipId());
 		GoodsSeckill goodsSeckill = seckillActivityInfoClient.getSeckillActivityInfo(info).getData();
 		//没有秒杀活动或者添加的普通商品则不使用秒杀活动价格
-		if((null == goodsSeckill || (null != goodsSeckill.getCashPayment() && null != goodsSeckill.getPointPayment())) || type == 1){
+		if((null == goodsSeckill || (null == goodsSeckill.getCashPayment() && null == goodsSeckill.getPointPayment())) || type == 1){
 			//没有秒杀价,则判断门店特价
 			GetGoodsBargainPrice goodsBargainPrice = new GetGoodsBargainPrice();
 			goodsBargainPrice.setGoodsId(goodsId);
@@ -330,7 +330,12 @@
 	@Override
 	public Long addGoods(ShoppingCart shoppingCart) {
 		Long userid = tokenService.getLoginUserApplet().getUserid();
-		Integer goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), null, userid);
+		long goodsSaleNum = orderService.getGoodsSaleNum(shoppingCart.getGoodsId(), null, userid);
+		long count = count(new LambdaQueryWrapper<ShoppingCart>()
+				.eq(ShoppingCart::getGoodsId, shoppingCart.getGoodsId())
+				.eq(ShoppingCart::getStatus,1)
+				.eq(ShoppingCart::getAppUserId, userid));
+		goodsSaleNum += count;
 		Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
 		if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && (goodsSaleNum + shoppingCart.getNumber()) > goods.getPurchaseLimit()){
 			throw new ServiceException("超出购买数量限制");
@@ -357,15 +362,16 @@
 	 */
 	@Override
 	public R setGoodsNumber(SetGoodsNumber setGoodsNumber) {
+
+		ShoppingCart shoppingCart = this.getById(setGoodsNumber.getId());
 		if(0 >= setGoodsNumber.getNumber()){
 			return R.fail("修改数量不能小于等于0");
 		}
-		ShoppingCart shoppingCart = this.getById(setGoodsNumber.getId());
 
 		if(null != shoppingCart){
 
-			Goods goods = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
-			if(null != goods.getPurchaseLimit() && -1 != goods.getPurchaseLimit() && goods.getPurchaseLimit() < setGoodsNumber.getNumber()){
+			Goods goods1 = goodsClient.getGoodsById(shoppingCart.getGoodsId()).getData();
+			if(null != goods1.getPurchaseLimit() && -1 != goods1.getPurchaseLimit() && goods1.getPurchaseLimit() < setGoodsNumber.getNumber()){
 				return R.fail("修改数量不能大于限购数量");
 			}
 
@@ -1189,7 +1195,7 @@
 					totalDistributionAmount = totalDistributionAmount.subtract(paymentMoney1);
 					balance = balance.subtract(paymentMoney1);
 					appUser.setTotalRedPacketAmount(totalRedPacketAmount);
-					appUser.setTotalDistributionAmount(totalDistributionAmount);
+//					appUser.setTotalDistributionAmount(totalDistributionAmount);
 					appUser.setBalance(balance);
 					distributionAmount = paymentMoney1;
 				}else{
@@ -1197,7 +1203,7 @@
 					totalDistributionAmount = BigDecimal.ZERO;
 					balance = balance.subtract(paymentMoney1);
 					appUser.setTotalRedPacketAmount(totalRedPacketAmount);
-					appUser.setTotalDistributionAmount(totalDistributionAmount);
+//					appUser.setTotalDistributionAmount(totalDistributionAmount);
 					appUser.setBalance(balance);
 					distributionAmount = totalDistributionAmount;
 				}
@@ -1346,7 +1352,7 @@
 							totalDistributionAmount = totalDistributionAmount.subtract(expressFee1);
 							balance = balance.subtract(expressFee1);
 							appUser.setTotalRedPacketAmount(totalRedPacketAmount);
-							appUser.setTotalDistributionAmount(totalDistributionAmount);
+//							appUser.setTotalDistributionAmount(totalDistributionAmount);
 							appUser.setBalance(balance);
 							distributionAmount = expressFee1;
 						}else{
@@ -1354,7 +1360,7 @@
 							totalDistributionAmount = BigDecimal.ZERO;
 							balance = balance.subtract(expressFee1);
 							appUser.setTotalRedPacketAmount(totalRedPacketAmount);
-							appUser.setTotalDistributionAmount(totalDistributionAmount);
+//							appUser.setTotalDistributionAmount(totalDistributionAmount);
 							appUser.setBalance(balance);
 							distributionAmount = totalDistributionAmount;
 						}

--
Gitblit v1.7.1