67 lines
2.5 KiB
XML
67 lines
2.5 KiB
XML
<?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="com.aida.seller.module.order.mapper.OrderItemMapper">
|
|
|
|
<select id="selectAssetsPage" resultType="com.aida.seller.module.order.vo.AssetsItemVO">
|
|
SELECT
|
|
soi.listing_id,
|
|
soi.listing_name,
|
|
soi.thumbnail_url,
|
|
soi.price,
|
|
soi.create_time
|
|
FROM seller_order_item soi
|
|
INNER JOIN seller_orders so ON soi.order_id = so.id
|
|
INNER JOIN seller_listing l ON soi.listing_id = l.id
|
|
WHERE soi.deleted = 0
|
|
AND so.deleted = 0
|
|
AND so.buyer_id = #{dto.buyerId}
|
|
AND so.status = 1
|
|
<if test="dto.categories != null and dto.categories.size() > 0">
|
|
AND (
|
|
<foreach collection="dto.categories" item="cat" separator=" OR ">
|
|
JSON_CONTAINS(soi.product_category, #{cat})
|
|
</foreach>
|
|
)
|
|
</if>
|
|
<if test="dto.designFor != null and dto.designFor != '' and dto.designFor != 'all'">
|
|
AND l.design_for = #{dto.designFor}
|
|
</if>
|
|
ORDER BY soi.create_time DESC
|
|
LIMIT #{offset}, #{size}
|
|
</select>
|
|
|
|
<select id="selectAssetsCount" resultType="java.lang.Long">
|
|
SELECT COUNT(*)
|
|
FROM seller_order_item soi
|
|
INNER JOIN seller_orders so ON soi.order_id = so.id
|
|
INNER JOIN seller_listing l ON soi.listing_id = l.id
|
|
WHERE soi.deleted = 0
|
|
AND so.deleted = 0
|
|
AND so.buyer_id = #{dto.buyerId}
|
|
AND so.status = 1
|
|
<if test="dto.categories != null and dto.categories.size() > 0">
|
|
AND (
|
|
<foreach collection="dto.categories" item="cat" separator=" OR ">
|
|
JSON_CONTAINS(soi.product_category, #{cat})
|
|
</foreach>
|
|
)
|
|
</if>
|
|
<if test="dto.designFor != null and dto.designFor != '' and dto.designFor != 'all'">
|
|
AND l.design_for = #{dto.designFor}
|
|
</if>
|
|
</select>
|
|
|
|
<update id="incrementSalesVolumeByOrderIds">
|
|
UPDATE seller_listing
|
|
SET sales_volume = sales_volume + 1
|
|
WHERE id IN (
|
|
SELECT DISTINCT listing_id FROM seller_order_item
|
|
WHERE order_id IN
|
|
<foreach collection="orderIds" item="id" open="(" separator="," close=")">
|
|
#{id}
|
|
</foreach>
|
|
)
|
|
</update>
|
|
|
|
</mapper>
|