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) 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); } 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); } 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) { 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>