|  |  |  | 
|---|
|  |  |  | left join mall_goods_category c on a.category_id=c.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | a.is_sale=1 | 
|---|
|  |  |  | and a.is_app is null | 
|---|
|  |  |  | <if test="record != null"> | 
|---|
|  |  |  | <if test="record.isHot != null and record.isHot != ''"> | 
|---|
|  |  |  | and a.is_hot = #{record.isHot} | 
|---|
|  |  |  | 
|---|
|  |  |  | left join mall_goods_category b on b.id = a.category_id | 
|---|
|  |  |  | left join mall_goods_sku c on c.goods_id = a.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | a.is_app is null | 
|---|
|  |  |  | <if test="record != null"> | 
|---|
|  |  |  | <if test="record.goodsName != null and record.goodsName != ''"> | 
|---|
|  |  |  | and a.goods_name like CONCAT('%', CONCAT(#{record.goodsName}, '%')) | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.goodsType != null and record.goodsType != ''"> | 
|---|
|  |  |  | and a.goods_type=#{record.goodsType} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | group by a.id | 
|---|
|  |  |  | order by a.created_time desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectMallAppGoodsInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsVo"> | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.id, | 
|---|
|  |  |  | a.goods_name, | 
|---|
|  |  |  | a.goods_no, | 
|---|
|  |  |  | a.unit, | 
|---|
|  |  |  | a.thumb, | 
|---|
|  |  |  | a.is_sale, | 
|---|
|  |  |  | a.original_price, | 
|---|
|  |  |  | a.present_price, | 
|---|
|  |  |  | a.score, | 
|---|
|  |  |  | a.volume saleVolume, | 
|---|
|  |  |  | b.name categaryName, | 
|---|
|  |  |  | a.stock | 
|---|
|  |  |  | from mall_goods a | 
|---|
|  |  |  | left join mall_goods_category b on b.id = a.category_id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | a.is_app = 1 | 
|---|
|  |  |  | <if test="record != null"> | 
|---|
|  |  |  | <if test="record.goodsName != null and record.goodsName != ''"> | 
|---|
|  |  |  | and a.goods_name like CONCAT('%', CONCAT(#{record.goodsName}, '%')) | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | 
|---|
|  |  |  | from mall_goods_comment a limit 1 | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <update id="upDateStockAndVolumeByGoodsId"> | 
|---|
|  |  |  | update mall_goods | 
|---|
|  |  |  | set stock = stock - #{cnt}, | 
|---|
|  |  |  | volume = volume + #{cnt} | 
|---|
|  |  |  | where id=#{id} and  stock - #{cnt} <![CDATA[ >= ]]> 0 | 
|---|
|  |  |  | </update> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <update id="updateStockAndVolumeByGoodsId"> | 
|---|
|  |  |  | update mall_goods | 
|---|
|  |  |  | set stock = stock + #{cnt}, | 
|---|
|  |  |  | volume = volume - #{cnt} | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | and | 
|---|
|  |  |  | a.is_app is null | 
|---|
|  |  |  | <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> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectMallGoodsListQueryNoPageIsApp" resultType="cc.mrbird.febs.mall.vo.ApiMallGoodsListVo"> | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.id, | 
|---|
|  |  |  | a.goods_name, | 
|---|
|  |  |  | a.thumb, | 
|---|
|  |  |  | a.original_price, | 
|---|
|  |  |  | a.present_price, | 
|---|
|  |  |  | a.unit, | 
|---|
|  |  |  | a.score | 
|---|
|  |  |  | from mall_goods a | 
|---|
|  |  |  | left join mall_goods_category c on a.category_id=c.id | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | <if test="record != null"> | 
|---|
|  |  |  | <if test="record.categoryId != null and record.categoryId != ''"> | 
|---|
|  |  |  | and (c.id = #{record.categoryId} or c.parent_id=#{record.categoryId}) | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | group by a.id | 
|---|
|  |  |  | order by a.id desc | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | </mapper> | 
|---|