UfoProductPoolDetailMapper.xml
2.77 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?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.yoho.ufo.dal.UfoProductPoolDetailMapper">
<resultMap id="productPoolDetails" type="com.yoho.ufo.model.goodsmanage.ProductPoolDetails">
</resultMap>
<sql id="queryColumns">
product.id, product.product_code, product.product_name, product.product_code, brand.brand_name, product_sort.sort_name
</sql>
<sql id="queryParam">
WHERE product.del_status=0
<if test="productPoolDetails.productCode != null and productPoolDetails.productCode != ''">
and product.product_code like concat('%',#{productPoolDetails.productCode}, '%')
</if>
<if test="productPoolDetails.productName != null and productPoolDetails.productName != ''">
and pool.pool_name like concat('%', #{productPoolDetails.productName}, '%')
</if>
<if test="productPoolDetails.brandName != null and productPoolDetails.brandName != ''">
and brand.brand_name like concat('%', #{productPoolDetails.brandName}, '%')
</if>
<if test="productPoolDetails.sortName != null and productPoolDetails.sortName != ''">
and product_sort.sort_name like concat('%', #{productPoolDetails.sortName}, '%')
</if>
</sql>
<sql id="queryTable">
FROM product_pool pool
LEFT JOIN product_pool_detail pool_detail
ON pool.id = pool_detail.pool_id
LEFT JOIN product
ON pool_detail.product_id = product.id
LEFT JOIN brand
ON product.brand_id = brand.id
LEFT JOIN product_sort
ON product.series_id = product_sort.id
</sql>
<select id="selectProductPoolDetailsCount" resultType="integer">
SELECT COUNT(*)
<include refid="queryTable"/>
<include refid="queryParam"/>
</select>
<select id="getProductPoolDetailsPageList" resultMap="productPoolDetails">
select <include refid="queryColumns"/>
<include refid="queryTable"/>
<include refid="queryParam"/>
limit #{page.startIndex}, #{page.pageSize}
</select>
<insert id="batchInsertProductPoolDetails" parameterType="list">
insert into product_pool_detail(pool_id, product_id, create_time) values
<foreach collection="list" item="item" separator="," index="index">
(#{item.poolId}, #{item.productId}, #{item.createTime})
</foreach>
</insert>
<delete id="deleteProductPoolDetailsByPoolId">
delete from product_pool_detail where pool_id = #{poolId}
</delete>
<delete id="deleteProductPoolDetail">
DELETE FROM product_pool_detail WHERE pool_id = #{productPoolId} AND product_id = #{productId}
</delete>
</mapper>