package com.doumee.dao.business; import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.doumee.dao.business.model.Goods; import com.doumee.dao.web.request.goods.GoodsRequest; import com.doumee.dao.web.response.goods.GoodsInfoResponse; import com.github.yulichang.base.mapper.MPJJoinMapper; import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Select; /** * @author 江蹄蹄 * @date 2023/03/21 15:48 */ public interface GoodsMapper extends MPJJoinMapper { @Select(" select g.* , " + "(( select count(1) from goodsorder_detail gd inner join goods_sku gs on gd.GOODS_SKU_ID = gs.id where gs.GOODS_ID = g.`id` )+ g.SALENUM) as realSaleNum ," + " ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = g.id ),0) as minPrice " + " from goods g " + " ${ew.customSqlSegment} ") IPage goodsPage(IPage page, @Param(Constants.WRAPPER) Wrapper wrapper); @Select(" select g.* , " + "(( select count(1) from goodsorder_detail gd inner join goods_sku gs on gd.GOODS_SKU_ID = gs.id where gs.GOODS_ID = g.`id` )+ g.SALENUM) as realSaleNum ," + " ifnull(( select min(gs.PRICE) from goods_sku gs where gs.GOODS_ID = g.id ),0) as minPrice " + " from goods g " + " where g.ISDELETED = 0 and g.id = #{id} ") GoodsInfoResponse getGoodsInfo(@Param("id") Integer id); }