|
|
@@ -265,6 +265,38 @@
|
|
|
ORDER BY p.`sold_num` DESC, p.`update_time` DESC
|
|
|
</select>
|
|
|
|
|
|
+ <select id="getSearchProdDtoPageByProdName" resultType="com.yami.shop.bean.dto.SearchProdDto">
|
|
|
+ SELECT
|
|
|
+ p.prod_id,
|
|
|
+ p.prod_name,
|
|
|
+ p.pic,
|
|
|
+ ss.shop_id AS shop_id,
|
|
|
+ SUM(ss.shop_sku_stocks) AS stocks,
|
|
|
+ MIN(cp.channel_prod_price) AS price,
|
|
|
+ COALESCE(SUM(oi.prod_count), 0) -
|
|
|
+ COALESCE(SUM(refund.product_count), 0) AS net_sales_volume
|
|
|
+ FROM tz_prod p
|
|
|
+ LEFT JOIN tz_sku sku ON p.prod_id = sku.prod_id AND sku.is_delete = 0
|
|
|
+ INNER JOIN tz_shop_sku ss ON ss.sku_id = sku.sku_id AND ss.shop_id = #{searchParam.shopId} AND ss.is_delete = 0
|
|
|
+ INNER JOIN tz_channel_prod cp ON sku.sku_id = cp.sku_id AND cp.shop_id = #{searchParam.shopId} AND cp.channel_id = #{searchParam.channelId} AND cp.is_delete = 0
|
|
|
+ LEFT JOIN tz_order_item oi ON p.prod_id = oi.prod_id
|
|
|
+ LEFT JOIN tz_order o ON oi.order_number = o.order_number and o.shop_id = #{searchParam.shopId} and o.channel_id = #{searchParam.channelId}
|
|
|
+ AND o.hb_order_status in (70,80)
|
|
|
+ AND o.delete_status = 0
|
|
|
+ LEFT JOIN tz_order_refund_sku refund ON oi.order_item_id = refund.order_item_id
|
|
|
+ AND refund.order_refund_id IN (
|
|
|
+ SELECT refund_id FROM tz_order_refund
|
|
|
+ WHERE return_money_sts= 70
|
|
|
+ )
|
|
|
+ WHERE p.status = 1
|
|
|
+ <if test="searchParam.prodName != null">
|
|
|
+ and p.prod_name LIKE CONCAT('%',#{searchParam.prodName},'%')
|
|
|
+ </if>
|
|
|
+ AND p.is_delete = 0
|
|
|
+ GROUP BY p.prod_id
|
|
|
+ ORDER BY net_sales_volume DESC
|
|
|
+ </select>
|
|
|
+
|
|
|
<select id="tagProdList" resultMap="tagProductMap">
|
|
|
SELECT pt.*,
|
|
|
<include refid="prodWithNoContent_SQL"/>
|
|
|
@@ -292,35 +324,6 @@
|
|
|
WHERE p.status= 1 AND dp.discount_id = #{discountId}
|
|
|
</select>
|
|
|
|
|
|
- <select id="getSearchProdDtoPageByProdName" resultType="com.yami.shop.bean.dto.SearchProdDto">
|
|
|
- SELECT
|
|
|
- p.prod_id,
|
|
|
- p.prod_name,
|
|
|
- p.pic,
|
|
|
- ss.shop_id AS shop_id,
|
|
|
- SUM(ss.shop_sku_stocks) AS stocks,
|
|
|
- MIN(cp.channel_prod_price) AS price,
|
|
|
- COALESCE(SUM(oi.prod_count), 0) -
|
|
|
- COALESCE(SUM(refund.product_count), 0) AS net_sales_volume
|
|
|
- FROM tz_prod p
|
|
|
- LEFT JOIN tz_sku sku ON p.prod_id = sku.prod_id AND sku.is_delete = 0
|
|
|
- INNER JOIN tz_shop_sku ss ON ss.sku_id = sku.sku_id AND ss.shop_id = #{searchParam.shopId} AND ss.is_delete = 0
|
|
|
- INNER JOIN tz_channel_prod cp ON sku.sku_id = cp.sku_id AND cp.shop_id = #{searchParam.shopId} AND cp.channel_id = #{searchParam.channelId} AND cp.is_delete = 0
|
|
|
- LEFT JOIN tz_order_item oi ON p.prod_id = oi.prod_id
|
|
|
- LEFT JOIN tz_order o ON oi.order_number = o.order_number and o.shop_id = #{searchParam.shopId} and o.channel_id = #{searchParam.channelId}
|
|
|
- AND o.hb_order_status in (70,80)
|
|
|
- AND o.delete_status = 0
|
|
|
- LEFT JOIN tz_order_refund_sku refund ON oi.order_item_id = refund.order_item_id
|
|
|
- AND refund.order_refund_id IN (
|
|
|
- SELECT refund_id FROM tz_order_refund
|
|
|
- WHERE return_money_sts= 70
|
|
|
- )
|
|
|
- WHERE p.status = 1
|
|
|
- AND p.is_delete = 0
|
|
|
- GROUP BY p.prod_id
|
|
|
- ORDER BY net_sales_volume DESC
|
|
|
- </select>
|
|
|
-
|
|
|
<select id="listByShopId" resultType="com.yami.shop.bean.app.dto.ProductDto">
|
|
|
SELECT
|
|
|
<include refid="prodWithNoContent_SQL"/>
|
|
|
@@ -823,7 +826,7 @@
|
|
|
tcp.shop_id,
|
|
|
MIN(cp.channel_prod_price) AS price,
|
|
|
tp.pic,
|
|
|
- tss.shop_sku_stocks AS total_stocks,
|
|
|
+ sum(tss.shop_sku_stocks) AS total_stocks,
|
|
|
|
|
|
COALESCE ((
|
|
|
SELECT
|
|
|
@@ -844,7 +847,7 @@
|
|
|
INNER JOIN tz_category_prod tcp ON tp.prod_id = tcp.prod_id
|
|
|
AND tcp.is_delete = 0 AND tcp.shop_id = #{prodByCategoryIdAndShopIdDTO.shopId}
|
|
|
and tcp.category_id = #{prodByCategoryIdAndShopIdDTO.categoryId}
|
|
|
- LEFT JOIN tz_shop_sku tss ON tss.spu_id = tp.prod_id and tss.shop_id = 1
|
|
|
+ LEFT JOIN tz_shop_sku tss ON tss.spu_id = tp.prod_id and tss.shop_id = #{prodByCategoryIdAndShopIdDTO.shopId}
|
|
|
INNER JOIN tz_channel_prod cp ON cp.shop_id = tcp.shop_id
|
|
|
AND cp.sku_id = tss.sku_id
|
|
|
AND cp.is_delete = 0
|
|
|
@@ -858,7 +861,8 @@
|
|
|
WHERE tp.STATUS = 1
|
|
|
AND tp.`is_delete` = 0
|
|
|
GROUP BY tp.prod_id
|
|
|
- ORDER BY MAX(tp.create_time) DESC
|
|
|
+ ORDER BY
|
|
|
+ sales_volume DESC, price ASC
|
|
|
</select>
|
|
|
|
|
|
<!-- <resultMap id="listProdByCIdAndSIdMap" type="com.yami.shop.bean.param.CategoryProductParam">-->
|