| | |
| | | <!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"> |
| | | |
| | | <select id="selectMallGoodsListQueryInPage" resultType="cc.mrbird.febs.mall.vo.MallGoodsListVo"> |
| | | <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" /> |
| | | <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.id, |
| | | a.goods_name, |
| | | a.goods_introdution, |
| | | a.thumb, |
| | | a.original_price, |
| | | a.present_price, |
| | | sum(b.sku_volume) saleVolume |
| | | 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 |
| | | inner join mall_goods_sku b on a.id=b.goods_id |
| | | inner join mall_goods_category c on a.category_id=c.id |
| | | inner join mall_goods_style b on a.id = b.goods_id |
| | | inner 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.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 |
| | | from mall_goods a |
| | | <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.categoryId != null and record.categoryId != ''"> |
| | | and (c.category_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 test="record.goodsName != null and record.goodsName != ''"> |
| | | and a.goods_name like CONCAT('%', CONCAT(#{record.goodsName}, '%')) |
| | | </if> |
| | | </if> |
| | | </where> |
| | | 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="selectMallGoodsCountByGoodsNo" resultType="java.lang.Integer"> |
| | | select count(id) from mall_goods a where a.goods_no = #{goodsNo} |
| | | </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> |
| | | </mapper> |