Browse Source

添加查询商品列表接口

qrs 3 weeks ago
parent
commit
785ee3b5d8

+ 12 - 0
alien-second/src/main/java/shop/alien/second/controller/SearchGoodsController.java

@@ -69,4 +69,16 @@ public class SearchGoodsController {
         return R.data(secondGoodsService.getCollectTop10(), "获取成功");
     }
 
+    /**
+     * 查询商品列表
+     */
+    @GetMapping("/getGoodsListByUserId")
+    @ApiOperation("查询商品列表")
+    @ApiImplicitParams({
+            @ApiImplicitParam(name = "userId", value = "用户id", dataType = "Integer", paramType = "query"),
+            @ApiImplicitParam(name = "goodsStatus", value = "商品状态 0:草稿 1:审核中 2:审核失败 3:已上架 4:已下架 5:已售出", dataType = "Integer", paramType = "query")})
+    public R<List<SecondGoods>> getGoodsListByUserId(Integer userId, Integer goodsStatus) {
+        return R.data(secondGoodsService.getGoodsListByUserId(userId, goodsStatus), "获取成功");
+    }
+
 }

+ 3 - 0
alien-second/src/main/java/shop/alien/second/service/SecondGoodsService.java

@@ -2,6 +2,7 @@ package shop.alien.second.service;
 
 import com.baomidou.mybatisplus.extension.service.IService;
 import com.baomidou.mybatisplus.core.metadata.IPage;
+import io.swagger.models.auth.In;
 import org.springframework.transaction.annotation.Transactional;
 import shop.alien.entity.second.SecondGoods;
 import shop.alien.entity.second.vo.SecondGoodsVo;
@@ -146,4 +147,6 @@ public interface SecondGoodsService extends IService<SecondGoods> {
      * @return 分页后的商品交易列表
      */
     IPage<SellGoodsVo> getTransactionList(IPage<SellGoodsVo> page, Integer userId);
+
+    List<SecondGoods> getGoodsListByUserId(Integer userId, Integer goodsStatus);
 }

+ 18 - 0
alien-second/src/main/java/shop/alien/second/service/impl/SecondGoodsServiceImpl.java

@@ -1,6 +1,7 @@
 package shop.alien.second.service.impl;
 
 import cn.hutool.core.collection.CollectionUtil;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
@@ -663,6 +664,23 @@ public class SecondGoodsServiceImpl extends ServiceImpl<SecondGoodsMapper, Secon
         return result;
     }
 
+    @Override
+    public List<SecondGoods> getGoodsListByUserId(Integer userId, Integer goodsStatus) {
+        // 获取商品屏蔽列表
+        List<SecondGoods> shieldedGoodsList = getShieldedGoodsList(userId);
+        // 提取屏蔽商品ID
+        List<Integer> shieldedGoodsIds = shieldedGoodsList.stream()
+                .map(SecondGoods::getId)
+                .collect(Collectors.toList());
+
+        LambdaQueryWrapper<SecondGoods> queryWrapper = new LambdaQueryWrapper<>();
+        queryWrapper.eq(SecondGoods::getUserId, userId);
+        queryWrapper.eq(SecondGoods::getGoodsStatus, goodsStatus);
+        queryWrapper.notIn(CollectionUtil.isNotEmpty(shieldedGoodsIds), SecondGoods::getId, shieldedGoodsIds);
+        queryWrapper.orderByDesc(SecondGoods::getReleaseTime);
+        return secondGoodsMapper.selectList(queryWrapper);
+    }
+
     /**
      * 查询搜索结果
      * @param page 分页参数