From 6acf6357094588946b5528f1ef1ed84a0f1037fd Mon Sep 17 00:00:00 2001
From: huliguo <2023611923@qq.com>
Date: 星期五, 13 六月 2025 19:45:27 +0800
Subject: [PATCH] 小程序收付款

---
 ruoyi-service/ruoyi-other/src/main/java/com/ruoyi/other/service/impl/GoodsServiceImpl.java |  102 ++++++++++++++++++++++++++++-----------------------
 1 files changed, 56 insertions(+), 46 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 5035619..d8b5290 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
@@ -20,11 +20,13 @@
 import com.ruoyi.other.api.domain.*;
 import com.ruoyi.other.dto.AddGoodsDTO;
 import com.ruoyi.other.enums.GoodsStatus;
+import com.ruoyi.other.mapper.GoodsEvaluateMapper;
 import com.ruoyi.other.mapper.GoodsMapper;
 import com.ruoyi.other.mapper.GoodsShopMapper;
 import com.ruoyi.other.mapper.ShopMapper;
 import com.ruoyi.other.service.*;
 import com.ruoyi.other.util.GeodesyUtil;
+import com.ruoyi.other.vo.GoodsEvaluateVO;
 import com.ruoyi.other.vo.GoodsVO;
 import com.ruoyi.other.vo.NearbyShopVO;
 import com.ruoyi.system.api.domain.SysConfig;
@@ -77,6 +79,8 @@
     @Resource
     private ShopService shopService;
 
+    @Resource
+    private GoodsEvaluateMapper goodsEvaluateMapper;
 
     /**
      * 热门商品列表
@@ -88,9 +92,11 @@
     public PageInfo<GoodsVO> goodsList(Goods search) {
         List<Long> shopIds=null;
         if (null!=search.getLongitude()&&null!=search.getLatitude()){
+
             //获取最近十家店的id
             List<NearbyShopVO> nearbyShopVOS = shopService.nearbyShopList(search.getLongitude(), search.getLatitude(), new Shop());
-            shopIds = nearbyShopVOS.subList(0, 10).stream().map(NearbyShopVO::getId).collect(Collectors.toList());
+            int endIndex = Math.min(10, nearbyShopVOS.size());
+            shopIds = nearbyShopVOS.subList(0, endIndex).stream().map(NearbyShopVO::getId).collect(Collectors.toList());
         }
         //查找满足条件的商品  分类、名称、附近十家店
         List<GoodsVO> list = this.baseMapper.goodsList(search.getGoodsCategoryId(), search.getName(),shopIds);
@@ -112,9 +118,6 @@
                 goods.setEndTime(price.getEndTime());
                 goods.setPurchaseLimit(price.getPurchaseLimit());
             }
-            //已售数量
-            Integer data = orderClient.getGoodsSaleNum(goods.getGoodsId(), 1).getData();
-            goods.setSaleNum(data);
         }
         //手动排序
         if(StringUtils.isNotEmpty(search.getOrderByColumn())){
@@ -234,6 +237,14 @@
         Integer integer = orderClient.getGoodsSaleNum(goods.getId(), 1).getData();
         goodsVO.setSaleNum(integer);
 
+        //商品评价
+        GoodsEvaluate goodsEvaluate=goodsEvaluateMapper.getGoodsEvaluateOne(goods.getId());
+        if (null != goodsEvaluate){
+            AppUser appUserById = appUserClient.getAppUserById(goodsEvaluate.getAppUserId());
+            goodsEvaluate.setAvatar(appUserById.getAvatar());
+            goodsEvaluate.setUserName(appUserById.getName());
+            goodsVO.setGoodsEvaluate(goodsEvaluate);
+        }
         return goodsVO;
 
     }
@@ -264,42 +275,43 @@
     }
 
     @Override
-    public IPage<Goods> getManageGoodsList(Page<Goods> page, Goods 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;
+    public R getManageGoodsList(Integer pageNum,Integer pageSize,  Goods goods) {
+        PageInfo<Goods> pageInfo = new PageInfo<>(pageNum,pageSize);
+        List<Goods> list = goodsMapper.selectManageGoodsList(pageInfo, goods);
+        pageInfo.setRecords(list);
+        return R.ok(pageInfo);
     }
 
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void addGoods(Goods goods) {
-      /*  goods.setSaleNum(0);
-        goods.setStatus(GoodsStatus.DOWN.getCode());
+
         goodsMapper.insert(goods);
 
-        // 指定门店
-        Integer appointStore = goods.getAppointStore();
-        if (null != appointStore && appointStore == 1){
-            List<GoodsShop> goodsShopList = goods.getGoodsShopList();
-            if (CollectionUtils.isEmpty(goodsShopList)){
-                throw new NullPointerException("请选择指定门店");
-            }
-            saveGoodsShopList(goodsShopList, goods.getId());
-        }*/
+        //保存商品门店关系
+        GoodsShop goodsShop = new GoodsShop();
+        goodsShop.setGoodsId(goods.getId());
+        goodsShop.setShopId(goods.getShopId());
+        Shop shop = shopMapper.selectById(goods.getShopId());
+        goodsShop.setShopName(shop.getName());
+        goodsShop.setOwnerName(shop.getShopManager());
+        goodsShop.setPhone(shop.getPhone());
+        goodsShop.setAddress(shop.getAddress());
+        goodsShopService.save(goodsShop);
+
+        //判断是否参加秒杀活动
+
+
     }
 
     @Override
     public void updateManageGoods(Goods goods) {
-       /* this.updateById(goods);
+        this.updateById(goods);
         //修改个别字段
         this.update(new LambdaUpdateWrapper<Goods>().eq(Goods::getId, goods.getId()).set(Goods::getSellingPrice, goods.getSellingPrice())
                 .set(Goods::getIntegral, goods.getIntegral()));
-        // 指定门店
-        List<GoodsShop> goodsShopList = goods.getGoodsShopList();
-        saveGoodsShopList(goodsShopList, goods.getId());*/
+        // 保存门店
+        saveGoodsShop(goods.getShopId(),goods.getId());
     }
 
 
@@ -309,16 +321,16 @@
 
 
 
-    private void saveGoodsShopList(List<GoodsShop> goodsShopList, Integer goodsId) {
+    private void saveGoodsShop(Integer shopId, Integer goodsId) {
         goodsShopService.remove(new LambdaQueryWrapper<GoodsShop>()
                 .eq(GoodsShop::getGoodsId, goodsId));
-        if (!CollectionUtils.isEmpty(goodsShopList)){
-            for (GoodsShop goodsShop : goodsShopList) {
-                goodsShop.setGoodsId(goodsId);
-                goodsShop.setId(null);
-            }
-        }
-        goodsShopService.saveBatch(goodsShopList);
+
+        GoodsShop goodsShop = new GoodsShop();
+        goodsShop.setGoodsId(goodsId);
+        goodsShop.setShopId(shopId);
+        goodsShop.setId(null);
+
+        goodsShopService.save(goodsShop);
     }
 
     @Override
@@ -327,20 +339,18 @@
         if (goods == null){
             return null;
         }
-        // 指定门店
-        List<GoodsShop> goodsShops = goodsShopService.list(new LambdaQueryWrapper<GoodsShop>()
+        // 获取指定门店
+        GoodsShop goodsShop = goodsShopService.getOne(new LambdaQueryWrapper<GoodsShop>()
                 .eq(GoodsShop::getGoodsId, goodsId));
-
-        for (GoodsShop goodsShop : goodsShops) {
-            Shop shop = shopMapper.selectById(goodsShop.getShopId());
-            if(null != shop){
-                goodsShop.setShopName(shop.getName());
-                goodsShop.setOwnerName(shop.getShopManager());
-                goodsShop.setPhone(shop.getPhone());
-                goodsShop.setAddress(shop.getAddress());
-            }
+        goods.setShopId(goodsShop.getShopId());
+        Shop shop = shopService.getById(goodsShop.getShopId());
+        if(null != shop){
+            goodsShop.setShopName(shop.getName());
+            goodsShop.setPhone(shop.getPhone());
+            goodsShop.setAddress(shop.getAddress());
+            goodsShop.setOwnerName(shop.getShopManager());
         }
-//        goods.setGoodsShopList(goodsShops);
+        goods.setGoodsShop(goodsShop);
         return goods;
     }
 

--
Gitblit v1.7.1