|  |  |  | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="queryGoodsList" resultType="com.xzx.gc.shop.vo.QueryGoodsListVo"> | 
|---|
|  |  |  | SELECT | 
|---|
|  |  |  | * | 
|---|
|  |  |  | a.*, | 
|---|
|  |  |  | a.CREATED_TIME createTime | 
|---|
|  |  |  | FROM | 
|---|
|  |  |  | xzx_score_goods a | 
|---|
|  |  |  | WHERE 1 = 1 | 
|---|
|  |  |  | <if test="name != null and name != ''"> | 
|---|
|  |  |  | and a.name like concat('%',#{name},'%') | 
|---|
|  |  |  | and (a.name like concat('%',#{name},'%') or a.goods_no like concat('%',#{name},'%')) | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <!--        <if test="delFlag == 0 or delFlag == 1">--> | 
|---|
|  |  |  | <!--            and a.del_flag = #{delFlag}--> | 
|---|
|  |  |  | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.*, | 
|---|
|  |  |  | sum(b.quantity) quantity, | 
|---|
|  |  |  | sum(b.stock) stock | 
|---|
|  |  |  | sum(b.stock) stock, | 
|---|
|  |  |  | min(b.present_price) minPrice | 
|---|
|  |  |  | from xzx_score_goods a | 
|---|
|  |  |  | inner join xzx_score_goods_sku b on a.id=b.goods_id and b.del_flag=0 | 
|---|
|  |  |  | <where> | 
|---|
|  |  |  | a.del_flag=0 | 
|---|
|  |  |  | a.del_flag=0 and a.is_sale=1 | 
|---|
|  |  |  | <if test="record.minScore != null" > | 
|---|
|  |  |  | and b.present_price >= #{record.minScore} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.maxScore != null"> | 
|---|
|  |  |  | and #{record.maxScore} > b.present_price | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.name != null and record.name != ''"> | 
|---|
|  |  |  | and a.name like CONCAT(CONCAT(#{record.name}, "%"), "%") | 
|---|
|  |  |  | and a.name like concat('%',#{record.name},'%') | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.id != null and record.id != ''"> | 
|---|
|  |  |  | and a.id=#{record.id} | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.isQg != null and record.isQg != ''"> | 
|---|
|  |  |  | and a.is_qg=#{record.isQg} and  a.qg_end_time > now() | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.cateId != null and record.cateId != ''"> | 
|---|
|  |  |  | and (a.category_id = #{record.cateId} or a.category in (select id from xzx_score_goods_category where parent_id=#{record.cateId})) | 
|---|
|  |  |  | and (a.category_id = #{record.cateId} or a.category_id in (select id from xzx_score_goods_category where parent_id=#{record.cateId})) | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </where> | 
|---|
|  |  |  | order by a.CREATED_TIME desc | 
|---|
|  |  |  | group by a.id | 
|---|
|  |  |  | <if test="record.sort == 1"> | 
|---|
|  |  |  | order by a.id desc | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.sort == 2"> | 
|---|
|  |  |  | order by quantity desc | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | <if test="record.sort == 3"> | 
|---|
|  |  |  | order by minPrice desc | 
|---|
|  |  |  | </if> | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <resultMap id="goodsDetailsMap" type="com.xzx.gc.shop.vo.XcxGoodsDetailVo"> | 
|---|
|  |  |  | <result property="name" column="name" /> | 
|---|
|  |  |  | <result property="thumb" column="thumb" /> | 
|---|
|  |  |  | <result property="presentPrice" column="present_price" /> | 
|---|
|  |  |  | <result property="originalPrice" column="original_price" /> | 
|---|
|  |  |  | <result property="isSale" column="is_sale" /> | 
|---|
|  |  |  | <result property="isQg" column="is_qg" /> | 
|---|
|  |  |  | <result property="qgStartTime" column="qg_start_time" /> | 
|---|
|  |  |  | <result property="qgEndTime" column="qg_end_time" /> | 
|---|
|  |  |  | <result property="details" column="details" /> | 
|---|
|  |  |  | <collection property="styles" ofType="com.xzx.gc.shop.vo.XcxGoodsDetailStyleVo" > | 
|---|
|  |  |  | <id property="id" column="s_id" /> | 
|---|
|  |  |  | <result property="name" column="s_name" /> | 
|---|
|  |  |  | <collection property="skus" ofType="com.xzx.gc.shop.vo.XcxGoodsDetailSkuVo"> | 
|---|
|  |  |  | <id property="id" column="sku_id" /> | 
|---|
|  |  |  | <result property="name" column="sku_name" /> | 
|---|
|  |  |  | <result property="originalPrice" column="sku_original_price" /> | 
|---|
|  |  |  | <result property="presentPrice" column="sku_present_price" /> | 
|---|
|  |  |  | <result property="stock" column="sku_stock" /> | 
|---|
|  |  |  | <result property="quantity" column="sku_quantity" /> | 
|---|
|  |  |  | </collection> | 
|---|
|  |  |  | </collection> | 
|---|
|  |  |  | </resultMap> | 
|---|
|  |  |  |  | 
|---|
|  |  |  | <select id="selectGoodsDetailsById" resultMap="goodsDetailsMap"> | 
|---|
|  |  |  | select | 
|---|
|  |  |  | a.*, | 
|---|
|  |  |  | b.id s_id, | 
|---|
|  |  |  | b.name s_name, | 
|---|
|  |  |  | c.id sku_id, | 
|---|
|  |  |  | c.name sku_name, | 
|---|
|  |  |  | c.original_price sku_original_price, | 
|---|
|  |  |  | c.present_price sku_present_price, | 
|---|
|  |  |  | c.stock sku_stock, | 
|---|
|  |  |  | c.quantity sku_quantity | 
|---|
|  |  |  | from xzx_score_goods a | 
|---|
|  |  |  | inner join xzx_score_goods_style b on a.id = b.goods_id and b.del_flag = 0 | 
|---|
|  |  |  | inner join xzx_score_goods_sku c on b.id = c.style_id and c.del_flag = 0 | 
|---|
|  |  |  | where a.id=#{id} | 
|---|
|  |  |  | </select> | 
|---|
|  |  |  | </mapper> | 
|---|