From c23f6436ef6f9fb6a17fcef51c2b81958e01e0a9 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Fri, 02 Dec 2022 14:40:44 +0800
Subject: [PATCH] 20221126
---
src/main/resources/mapper/modules/MallGoodsMapper.xml | 63 +++++++++++++++++++++++++++++++
src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java | 4 ++
src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java | 9 ++++
src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java | 3 +
src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java | 5 ++
5 files changed, 84 insertions(+), 0 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java
index 55b08e3..ed39eb8 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ApiMallGoodsController.java
@@ -39,6 +39,15 @@
return new FebsResponse().success().data(mallGoodsService.findMallGoodsListInPage(queryDto));
}
+ @ApiOperation(value = "获取商城商品", notes = "获取商城商品")
+ @ApiResponses({
+ @ApiResponse(code = 200, message = "success", response = MallGoodsListVo.class)
+ })
+ @PostMapping(value = "/goodsListNoPage")
+ public FebsResponse goodsListNoPage(@RequestBody MallGoodsQueryDto queryDto) {
+ return new FebsResponse().success().data(mallGoodsService.findMallGoodsListNoPage(queryDto));
+ }
+
@ApiOperation(value = "获取商品详情", notes = "获取商品详情")
@ApiResponses({
@ApiResponse(code = 200, message = "success", response = MallGoodsDetailsVo.class)
diff --git a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
index fe37826..e0e1c42 100644
--- a/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
+++ b/src/main/java/cc/mrbird/febs/mall/mapper/MallGoodsMapper.java
@@ -52,4 +52,7 @@
Integer upDateStockAndVolumeByGoodsId(@Param("id")Long id,@Param("cnt")Integer cnt);
Integer updateStockAndVolumeByGoodsId(@Param("id")Long id,@Param("cnt")Integer cnt);
+
+ List<MallGoodsListVo> selectMallGoodsListQueryNoPage(@Param("record")MallGoodsQueryDto queryDto);
+
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java b/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java
index 8a2fbfb..a806b59 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/IApiMallGoodsService.java
@@ -11,6 +11,8 @@
import com.baomidou.mybatisplus.extension.service.IService;
import org.apache.ibatis.annotations.Param;
+import java.util.List;
+
public interface IApiMallGoodsService extends IService<MallGoods> {
IPage<MallGoodsListVo> findMallGoodsListInPage(MallGoodsQueryDto queryDto);
@@ -22,4 +24,6 @@
ApiMallGoodsDeliveryVo findDeliverySetting();
MallGoodsCommentVo findMallGoodsCommentLevelByGoodsId(Long id);
+
+ List<MallGoodsListVo> findMallGoodsListNoPage(MallGoodsQueryDto queryDto);
}
diff --git a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
index d449747..e80afe0 100644
--- a/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
+++ b/src/main/java/cc/mrbird/febs/mall/service/impl/ApiMallGoodsServiceImpl.java
@@ -54,6 +54,11 @@
}
@Override
+ public List<MallGoodsListVo> findMallGoodsListNoPage(MallGoodsQueryDto queryDto) {
+ return this.baseMapper.selectMallGoodsListQueryNoPage(queryDto);
+ }
+
+ @Override
public MallGoodsDetailsVo findMallGoodsDetailsById(Long id) {
MallGoods mallGoods = this.baseMapper.selectGoodsDetailById(id);
if (mallGoods == null) {
diff --git a/src/main/resources/mapper/modules/MallGoodsMapper.xml b/src/main/resources/mapper/modules/MallGoodsMapper.xml
index 6f5ee74..faa756b 100644
--- a/src/main/resources/mapper/modules/MallGoodsMapper.xml
+++ b/src/main/resources/mapper/modules/MallGoodsMapper.xml
@@ -278,4 +278,67 @@
where id=#{id} and volume - #{cnt} <![CDATA[ >= ]]> 0
</update>
+ <select id="selectMallGoodsListQueryNoPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo">
+ select * from (
+ select
+ a.id,
+ a.goods_name,
+ a.goods_introdution goodsIntroduction,
+ a.thumb,
+ a.original_price,
+ a.present_price,
+ a.score,
+ a.is_hot,
+ min(b.id) skuId,
+ min(b.present_price) price,
+ sum(b.stock) stock,
+ sum(b.sku_volume) saleVolume
+ from mall_goods a
+ left join mall_goods_sku b on a.id=b.goods_id
+ left join mall_goods_category c on a.category_id=c.id
+ <where>
+ a.is_sale=1
+ <if test="record != null">
+ <if test="record.isHot != null and record.isHot != ''">
+ and a.is_hot = #{record.isHot}
+ </if>
+ <if test="record.isNormal != null and record.isNormal != ''">
+ and a.is_normal = #{record.isNormal}
+ </if>
+ <if test="record.goodsType != null and record.goodsType != '' and record.goodsType != 3">
+ and a.goods_type = #{record.goodsType} and a.present_price != 0
+ </if>
+ <if test="record.goodsType == 3">
+ and a.present_price = 0
+ </if>
+ <if test="record.categoryId != null and record.categoryId != ''">
+ and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId})
+ </if>
+ <if test="record.query != null and record.query != ''">
+ and a.goods_name like CONCAT('%', CONCAT(#{record.query}, '%'))
+ </if>
+ </if>
+ </where>
+ group by a.id
+ order by a.id desc
+ ) a
+ <if test="record.sortType != null">
+ <if test="record.sortType == 1">
+ order by a.is_hot, a.saleVolume desc, a.id
+ </if>
+ <if test="record.sortType == 2">
+ order by a.saleVolume desc
+ </if>
+ <if test="record.sortType == 3 and record.sort == 'asc'">
+ order by a.price
+ </if>
+ <if test="record.sortType == 3 and record.sort == 'desc'">
+ order by a.price desc
+ </if>
+ <if test="record.sortType == 4">
+ order by a.id desc
+ </if>
+ </if>
+ </select>
+
</mapper>
\ No newline at end of file
--
Gitblit v1.9.1