From 976a372f42b438edd8465a66e084b36deef38500 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期一, 13 一月 2025 17:11:54 +0800
Subject: [PATCH] 12.18

---
 ruoyi-service/ruoyi-order/src/main/java/com/ruoyi/order/service/impl/ShoppingCartServiceImpl.java            |    5 +++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java          |    5 +++++
 ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java                     |    7 +++++++
 ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java |   11 ++++++-----
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java                      |   14 ++++++++++++++
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java                   |    2 --
 6 files changed, 37 insertions(+), 7 deletions(-)

diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java
index 014df1f..0371f9a 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/factory/GoodsClientFallbackFactory.java
@@ -39,6 +39,11 @@
 			public R editGoodsList(List<Goods> goods) {
 				return R.fail("编辑商品信息失败:" + cause.getMessage());
 			}
+
+			@Override
+			public R<Void> editGoodsNum(Integer goodsId, Integer num) {
+				return R.fail();
+			}
 		};
 	}
 }
diff --git a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
index 0bb389f..b185031 100644
--- a/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
+++ b/ruoyi-api/ruoyi-api-other/src/main/java/com/ruoyi/other/api/feignClient/GoodsClient.java
@@ -6,6 +6,7 @@
 import com.ruoyi.other.api.factory.GoodsClientFallbackFactory;
 import org.springframework.cloud.openfeign.FeignClient;
 import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.PutMapping;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -48,4 +49,10 @@
 	 */
 	@PostMapping("/goods/editGoods")
 	R editGoodsList(@RequestBody List<Goods> goods);
+
+	/**
+	 * 商品销量增加
+	 */
+	@PutMapping("/goods/editGoodsNum")
+    R<Void> editGoodsNum(@RequestParam("goodsId") Integer goodsId, @RequestParam("num") Integer num);
 }
diff --git a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
index b768edd..1d369a8 100644
--- a/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
+++ b/ruoyi-service/ruoyi-account/src/main/java/com/ruoyi/account/service/impl/BalanceChangeRecordServiceImpl.java
@@ -82,10 +82,13 @@
         int fromIndex = (int) ((current - 1) * size);
         int toIndex = (int) Math.min(fromIndex + size, walletStatisticsDetailList.size());
 
-        if (fromIndex >= walletStatisticsDetailList.size()) {
-            return new WalletStatistics();
-        }
 
+        Page<WalletStatisticsDetail> walletStatisticsDetailPage = new Page<>();
+        WalletStatistics walletStatistics = new WalletStatistics();
+        if (fromIndex >= walletStatisticsDetailList.size()) {
+            walletStatistics.setPage(walletStatisticsDetailPage);
+            return walletStatistics;
+        }
 
         Map<Integer, BigDecimal> shopCommissionMap = walletStatisticsDetailList.stream()
                 .collect(Collectors.groupingBy(
@@ -103,8 +106,6 @@
 
         List<WalletStatisticsDetail> walletStatisticsDetailList2 = walletStatisticsDetailList.subList(fromIndex, toIndex);
 
-        WalletStatistics walletStatistics = new WalletStatistics();
-        Page<WalletStatisticsDetail> walletStatisticsDetailPage = new Page<>();
         walletStatisticsDetailPage.setCurrent(current);
         walletStatisticsDetailPage.setSize(size);
         walletStatisticsDetailPage.setTotal(walletStatisticsDetailList.size());
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 aa8cea0..8432791 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
@@ -1499,6 +1499,11 @@
 		List<OrderGood> list = orderGoodService.list(new LambdaQueryWrapper<OrderGood>().eq(OrderGood::getOrderId, order.getId()));
 		List<Integer> goodsIds = list.stream().map(OrderGood::getGoodsId).collect(Collectors.toList());
 		this.remove(new LambdaQueryWrapper<ShoppingCart>().eq(ShoppingCart::getAppUserId, userid).in(ShoppingCart::getGoodsId, goodsIds));
+
+		//商品销量增加
+		for (Integer goodsId : goodsIds) {
+			goodsClient.editGoodsNum(goodsId, 1);
+		}
 		return R.ok();
 	}
 	
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
index 1a20f52..4edee52 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/controller/GoodsController.java
@@ -10,6 +10,7 @@
 import com.ruoyi.common.core.web.controller.BaseController;
 import com.ruoyi.common.core.web.page.PageInfo;
 import com.ruoyi.common.core.web.page.TableDataInfo;
+import com.ruoyi.common.redis.annotation.DistributedLock;
 import com.ruoyi.other.api.domain.Goods;
 import com.ruoyi.other.api.domain.VipSetting;
 import com.ruoyi.other.api.feignClient.VipSettingClient;
@@ -220,5 +221,18 @@
         goodsService.updateBatchById(goods);
         return R.ok();
     }
+
+
+    /**
+     * 商品销量增加
+     */
+    @PutMapping("/editGoodsNum")
+    @DistributedLock(lockNamePre = "#goods_lock", lockNamePost = "#goodsId")
+    public R<Void> editGoodsNum(@RequestParam("goodsId") Integer goodsId, @RequestParam("num") Integer num){
+        Goods goods = goodsService.getById(goodsId);
+        goods.setSaleNum(goods.getSaleNum() + num);
+        goodsService.updateById(goods);
+        return R.ok();
+    }
 }
 
diff --git a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
index 2fbcf1b..7c0eae0 100644
--- a/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
+++ b/ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java
@@ -116,8 +116,6 @@
                 goods.setSellingPrice(price.getCash());
                 goods.setIntegral(price.getPoint());
             }
-            Integer data = orderClient.getGoodsSaleNum(goods.getGoodsId(), 1).getData();
-            goods.setSaleNum(data);
         }
 
         //手动排序

--
Gitblit v1.7.1