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