From 371a7ed611e5e76af30af59e7247be6192f63f06 Mon Sep 17 00:00:00 2001
From: luodangjia <luodangjia>
Date: 星期二, 14 一月 2025 20:54:01 +0800
Subject: [PATCH] 12.18

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java |   45 ++++++++++++++++++++++++++++++++-------------
 1 files changed, 32 insertions(+), 13 deletions(-)

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 ec9be2d..f0caa11 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,6 +116,8 @@
                 goods.setSellingPrice(price.getCash());
                 goods.setIntegral(price.getPoint());
             }
+            Integer data = orderClient.getGoodsSaleNum(goods.getGoodsId(), 1).getData();
+            goods.setSaleNum(data);
         }
 
         //手动排序
@@ -163,25 +165,37 @@
                 });
             }
         }
-        //手动处理分页
+        // 手动处理分页
         PageInfo<GoodsVO> pageInfo = new PageInfo<>();
         pageInfo.setSize(search.getPageSize());
         pageInfo.setTotal(list.size());
-        Integer pageSize = search.getPageSize();
-        Integer pageNum = (search.getPageCurr() - 1) * pageSize;
 
-        if(list.size() >= (pageNum + 1) * pageSize){
-            list = list.subList(pageNum, pageNum + pageSize);
-        }else if(pageNum < list.size() && list.size() < (pageNum + 1) * pageSize){
-            list = list.subList(pageNum, list.size());
-        }else{
-            list = new ArrayList<>();
+        int pageSize = search.getPageSize();
+        int pageCurr = search.getPageCurr();
+
+        // 计算起始索引
+        int pageNum = (pageCurr - 1) * pageSize;
+
+        // 检查 pageNum 是否合法
+        if (pageNum < 0 || pageNum >= list.size()) {
+            // 如果 pageNum 不合法,返回空列表
+            pageInfo.setRecords(new ArrayList<>());
+            return pageInfo;
         }
-        return pageInfo.setRecords(list);
+
+        // 计算结束索引
+        int endIndex = Math.min(pageNum + pageSize, list.size());
+
+        // 获取分页数据
+        List<GoodsVO> pageList = list.subList(pageNum, endIndex);
+
+        // 设置分页结果
+        pageInfo.setRecords(pageList);
+        return pageInfo;
     }
 
     @Override
-    public GoodsVO goodsDetail(Long goodsId, String longitude, String latitude) {
+    public GoodsVO goodsDetail(Long goodsId, Integer shopId, String longitude, String latitude) {
         if (goodsId == null || goodsId <= 0) {
             throw new NullPointerException("商品ID不能为空");
         }
@@ -214,7 +228,7 @@
         BeanUtils.copyBeanProp(goodsVO, goods);
         goodsVO.setGoodsId(goods.getId());
         goodsVO.setGoodsName(goods.getName());
-        Price price = getPrice(vipId, goods.getId(), null, 1, provinceCode, cityCode, districtCode);
+        Price price = getPrice(vipId, goods.getId(), shopId, 1, provinceCode, cityCode, districtCode);
         if(null != price){
             goodsVO.setPointPayment(price.getPointPayment() ? 1 : 0);
             goodsVO.setCashPayment(price.getCashPayment() ? 1 : 0);
@@ -306,7 +320,12 @@
 
     @Override
     public IPage<Goods> getManageGoodsList(Page<Goods> page, Goods goods) {
-        return goodsMapper.selectManageGoodsList(page, goods);
+        IPage<Goods> goodsIPage = goodsMapper.selectManageGoodsList(page, goods);
+        goodsIPage.getRecords().forEach(goods1 -> {
+            Integer data = orderClient.getGoodsSaleNum(goods1.getId(), 1).getData();
+            goods1.setSaleNum(data);
+        });
+        return goodsIPage;
     }
 
     @Override

--
Gitblit v1.7.1