<?xml version="1.0" encoding="UTF-8"?>
|
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
<mapper namespace="cc.mrbird.febs.mall.mapper.MallGoodsMapper">
|
|
<resultMap id="MallGoodsMap" type="cc.mrbird.febs.mall.entity.MallGoods">
|
<id property="id" column="id" />
|
<result property="goodsNo" column="goods_no" />
|
<result property="goodsName" column="goods_name" />
|
<result property="goodsIntrodution" column="goods_introdution" />
|
<result property="unit" column="unit" />
|
<result property="thumb" column="thumb" />
|
<result property="goodsDetails" column="goods_details" />
|
<result property="isSale" column="is_sale" />
|
<result property="originalPrice" column="original_price" />
|
<result property="presentPrice" column="present_price" />
|
<result property="categoryId" column="category_id" />
|
<result property="volume" column="volume" />
|
<result property="stock" column="stock" />
|
<collection property="styles" ofType="cc.mrbird.febs.mall.entity.MallGoodsStyle">
|
<id property="id" column="style_id" />
|
<result property="name" column="style_name" />
|
<result property="goodsId" column="style_goods_id" />
|
<collection property="skus" ofType="cc.mrbird.febs.mall.entity.MallGoodsSku">
|
<id property="id" column="sku_id" />
|
<result property="skuName" column="sku_name" />
|
<result property="skuImage" column="sku_image" />
|
<result property="stock" column="stock" />
|
<result property="skuVolume" column="sku_volume" />
|
<result property="originalPrice" column="sku_original_price" />
|
<result property="presentPrice" column="sku_present_price" />
|
<result property="styleId" column="sku_style_id"/>
|
<result property="goodsId" column="sku_goods_id" />
|
</collection>
|
</collection>
|
</resultMap>
|
|
<select id="selectGoodsDetailById" resultMap="MallGoodsMap">
|
select
|
a.*,
|
b.id style_id,
|
b.name style_name,
|
b.goods_id style_goods_id,
|
c.id sku_id,
|
c.sku_name,
|
c.sku_image,
|
c.stock,
|
c.sku_volume,
|
c.original_price sku_original_price,
|
c.present_price sku_present_price,
|
c.style_id sku_style_id,
|
c.goods_id sku_goods_id
|
from mall_goods a
|
left join mall_goods_style b on a.id = b.goods_id
|
left join mall_goods_sku c on b.id=c.style_id
|
where a.id=#{id}
|
</select>
|
|
<select id="selectMallGoodsListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo">
|
select * from (
|
select
|
a.id,
|
a.goods_name,
|
a.goods_introdution,
|
a.thumb,
|
a.original_price,
|
a.present_price,
|
a.is_hot,
|
min(b.present_price) price,
|
sum(b.sku_volume) saleVolume
|
from mall_goods a
|
inner join mall_goods_sku b on a.id=b.goods_id
|
inner 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 = 1
|
</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 a.goods_type = #{record.goodsType}
|
</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="selectMallGoodsInPage" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsVo">
|
select
|
a.id,
|
a.goods_name,
|
a.goods_no,
|
a.goods_introdution,
|
a.unit,
|
a.thumb,
|
a.goods_details,
|
a.is_sale,
|
a.original_price,
|
a.present_price,
|
a.is_hot,
|
a.score,
|
b.name categaryName,
|
IFNULL(sum(c.sku_volume), a.volume) skuVolume,
|
IFNULL(sum(c.stock), a.stock) stock
|
from mall_goods a
|
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>
|
<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="selectMallGoodsCountByGoodsName" resultType="java.lang.Integer">
|
select count(id) from mall_goods a where a.goods_name = #{goodsName}
|
</select>
|
|
|
|
<select id="selectMallGoodsCountByGoodsNameAndGoodId" resultType="java.lang.Integer">
|
select count(id) from mall_goods a where a.goods_name = #{goodsName} and a.id != #{id}
|
</select>
|
|
<select id="selectMallGoodsCountByGoodsNo" resultType="java.lang.Integer">
|
select count(id) from mall_goods a where a.goods_no = #{goodsNo}
|
</select>
|
|
<select id="selectMallGoodsCountByGoodsNoAndGoodId" resultType="java.lang.Integer">
|
select count(id) from mall_goods a where a.goods_no = #{goodsNo} and a.id != #{id}
|
</select>
|
|
<select id="selectMallGoodsInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsDetailVo">
|
select * from mall_goods a where a.id = #{id}
|
</select>
|
|
<select id="selectGoodsStockAndVolume" resultType="java.util.HashMap">
|
select
|
sum(stock) stock,
|
sum(sku_volume) volume
|
from mall_goods_sku
|
where goods_id=#{id}
|
</select>
|
|
<select id="selectMallGoodsByCategaryId" resultType="cc.mrbird.febs.mall.entity.MallGoods">
|
select * from mall_goods a where a.category_id = #{categaryId}
|
</select>
|
|
<select id="getMallGoodsUpdateInfoById" resultType="cc.mrbird.febs.mall.vo.AdminMailGoodsUpdateVo">
|
select * from mall_goods a where a.id = #{id}
|
</select>
|
|
<select id="getAllGoodsTree" resultType="cc.mrbird.febs.mall.vo.AdminMallGoodsTreeVo">
|
select
|
a.id goodsId,
|
a.goods_name goodsName
|
from mall_goods a
|
</select>
|
</mapper>
|