sf
jiangping
2025-04-30 dcdb0231034810232f2542f3865666ebf72daf11
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.doumee.dao.business.BrandMapper">
 
 
    <select id="selectListByConditon" parameterType="com.doumee.dao.business.model.Brand" resultType="com.doumee.dao.business.model.Brand">
 
        select aal.id, aal.NAME,aal.type,aal.sortnum
        FROM (
        SELECT id, NAME,type,sortnum
        FROM `brand`
        <where>
            <if test="isdeleted!=null and isdeleted!=''">and isdeleted = #{isdeleted}
            </if>
            <choose>
                <when test="type!=null and type =='0'.toString()">
                    and type=1
                </when>
                <otherwise>
                    <if test="categoryId!=null and categoryId!=''">
                        AND EXISTS(
                        SELECT g.id
                        FROM goods g
                        WHERE g.brand_id = brand.id
                        AND g.category_id = #{categoryId}
                        AND g.COMPANY_ID = #{companyId}
                        AND g.STATUS = 0
                        AND g.ISDELETED = 0
                        )
                        AND company_id = #{companyId}
                    </if>
                </otherwise>
            </choose>
        </where>
        UNION all
 
        SELECT id,NAME,type,sortnum
        FROM `brand`
        <where>
            <if test="isdeleted!=null and isdeleted!=''">
                and  isdeleted = #{isdeleted}
            </if>
            <choose>
                <when test="type!=null and type =='0'.toString()">
                    and type=1
                </when>
                <otherwise>
                    <if test="categoryId!=null and categoryId!=''">
                        AND EXISTS(
                        SELECT g.id
                        FROM goods g
                        WHERE g.brand_id = brand.id
                        AND g.category_id = #{categoryId}
                        AND g.COMPANY_ID = #{companyId}
                        AND g.STATUS = 0
                        AND g.ISDELETED = 0
                        )
                        AND type = 1       AND company_id is NULL
                    </if>
                </otherwise>
            </choose>
        </where>
        ) aal
        ORDER BY
        aal.type ASC,
        aal.sortnum ASC
    </select>
</mapper>