|  |  |  | 
|---|
|  |  |  | <result property="carriageAmount" column="carriage_amount" /> | 
|---|
|  |  |  | <result property="carriageRuleId" column="carriage_rule_id" /> | 
|---|
|  |  |  | <result property="goodsWeight" column="goods_weight" /> | 
|---|
|  |  |  | <result property="levelOnePrice" column="level_one_price" /> | 
|---|
|  |  |  | <result property="levelTwoPrice" column="level_two_price" /> | 
|---|
|  |  |  | <result property="levelThreePrice" column="level_three_price" /> | 
|---|
|  |  |  | <result property="hasCollect" column="hasCollect" /> | 
|---|
|  |  |  | <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="sku_goods_id" /> | 
|---|
|  |  |  | <result property="skuGoodsWeight" column="sku_goods_weight" /> | 
|---|
|  |  |  | <result property="sample" column="sample" /> | 
|---|
|  |  |  | <result property="levelOnePrice" column="sku_level_one_price" /> | 
|---|
|  |  |  | <result property="levelTwoPrice" column="sku_level_two_price" /> | 
|---|
|  |  |  | <result property="levelThreePrice" column="sku_level_three_price" /> | 
|---|
|  |  |  | </collection> | 
|---|
|  |  |  | </collection> | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  | 
|---|
|  |  |  | <select id="selectGoodsDetailById" resultMap="MallGoodsMap"> | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.*, | 
|---|
|  |  |  | case when collection.id is null then 2 else 1 end hasCollect, | 
|---|
|  |  |  | b.id style_id, | 
|---|
|  |  |  | b.name style_name, | 
|---|
|  |  |  | b.goods_id style_goods_id, | 
|---|
|  |  |  | 
|---|
|  |  |  | c.style_id sku_style_id, | 
|---|
|  |  |  | c.goods_weight sku_goods_weight, | 
|---|
|  |  |  | c.sample sample, | 
|---|
|  |  |  | c.level_one_price sku_level_one_price, | 
|---|
|  |  |  | c.level_two_price sku_level_two_price, | 
|---|
|  |  |  | c.level_three_price sku_level_three_price, | 
|---|
|  |  |  | 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 | 
|---|
|  |  |  | left join mall_member_collection collection on a.id=collection.goods_id | 
|---|
|  |  |  | where a.id=#{id} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.id, | 
|---|
|  |  |  | a.goods_name, | 
|---|
|  |  |  | a.goods_introdution goodsIntroduction, | 
|---|
|  |  |  | a.thumb, | 
|---|
|  |  |  | a.unit, | 
|---|
|  |  |  | a.original_price, | 
|---|
|  |  |  | a.present_price, | 
|---|
|  |  |  | a.score, | 
|---|
|  |  |  | a.is_hot, | 
|---|
|  |  |  | a.carriage_type, | 
|---|
|  |  |  | a.carriage_amount, | 
|---|
|  |  |  | a.carriage_rule_id, | 
|---|
|  |  |  | a.goods_weight, | 
|---|
|  |  |  | a.order_number, | 
|---|
|  |  |  | <if test="record.memberId != null"> | 
|---|
|  |  |  | case when collection.id is null then 2 else 1 end hasCollect, | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | min(b.id) skuId, | 
|---|
|  |  |  | min(b.present_price) price, | 
|---|
|  |  |  | sum(b.stock) stock, | 
|---|
|  |  |  | ifnull(sum(b.stock), a.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 | 
|---|
|  |  |  | <if test="record.memberId != null"> | 
|---|
|  |  |  | left join mall_member_collection collection on a.id=collection.goods_id and collection.member_id=#{record.memberId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | a.is_sale=1 | 
|---|
|  |  |  | <if test="record != null"> | 
|---|
|  |  |  | 
|---|
|  |  |  | <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"> | 
|---|
|  |  |  | <if test="record.isNormal == 3"> | 
|---|
|  |  |  | and a.activity_id = #{record.activityId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.goodsType != null and record.goodsType != '' and record.goodsType == 1"> | 
|---|
|  |  |  | and a.goods_type = #{record.goodsType} and a.present_price != 0 | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.goodsType != null and record.goodsType != '' and record.goodsType == 2"> | 
|---|
|  |  |  | and a.goods_type = #{record.goodsType} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.goodsType == 3"> | 
|---|
|  |  |  | and a.present_price = 0 | 
|---|
|  |  |  | 
|---|
|  |  |  | order by a.order_number ASC | 
|---|
|  |  |  | ) 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 == 1"> | 
|---|
|  |  |  | order by a.is_hot, a.saleVolume desc, a.id | 
|---|
|  |  |  | order by a.order_number ASC | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.sortType == 2"> | 
|---|
|  |  |  | order by a.saleVolume desc | 
|---|
|  |  |  | 
|---|
|  |  |  | a.goods_introdution, | 
|---|
|  |  |  | a.unit, | 
|---|
|  |  |  | a.thumb, | 
|---|
|  |  |  | a.is_sku, | 
|---|
|  |  |  | a.goods_details, | 
|---|
|  |  |  | a.is_sale, | 
|---|
|  |  |  | a.original_price, | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.goodsType != null and record.goodsType != ''"> | 
|---|
|  |  |  | and a.goods_type=#{record.goodsType} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.activityId != null"> | 
|---|
|  |  |  | and a.activity_id=#{record.activityId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.id, | 
|---|
|  |  |  | a.goods_name, | 
|---|
|  |  |  | a.goods_introdution goodsIntroduction, | 
|---|
|  |  |  | a.thumb, | 
|---|
|  |  |  | a.unit, | 
|---|
|  |  |  | a.original_price, | 
|---|
|  |  |  | a.present_price, | 
|---|
|  |  |  | a.score, | 
|---|
|  |  |  | a.is_hot, | 
|---|
|  |  |  | a.carriage_type, | 
|---|
|  |  |  | a.carriage_amount, | 
|---|
|  |  |  | a.carriage_rule_id, | 
|---|
|  |  |  | a.goods_weight, | 
|---|
|  |  |  | a.order_number, | 
|---|
|  |  |  | min(b.id) skuId, | 
|---|
|  |  |  | min(b.present_price) price, | 
|---|
|  |  |  | sum(b.stock) stock, | 
|---|
|  |  |  | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.isNormal != null and record.isNormal != ''"> | 
|---|
|  |  |  | and a.is_normal = #{record.isNormal} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.isNormal == 3"> | 
|---|
|  |  |  | and a.activity_id = #{record.activityId} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.goodsType != null and record.goodsType != '' and record.goodsType != 3"> | 
|---|
|  |  |  | and a.goods_type = #{record.goodsType} and a.present_price != 0 | 
|---|
|  |  |  | 
|---|
|  |  |  | order by a.order_number ASC | 
|---|
|  |  |  | ) 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 == 1"> | 
|---|
|  |  |  | order by a.is_hot, a.saleVolume desc, a.id | 
|---|
|  |  |  | order by a.order_number ASC | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.sortType == 2"> | 
|---|
|  |  |  | order by a.saleVolume desc | 
|---|