forked from kidgrow-microservices-platform

dougang
2020-12-03 189cb9a1b925fbdfde02c175b2d84f4fe00dbaa7
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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
<?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.kidgrow.oprationcenter.mapper.SysProductMapper">
    <!--定义查询列-->
    <sql id="Column_List">
      DISTINCT *
    </sql>
    <!--定义数据权限的查询-->
    <sql id="Role_Organization">
        <if test="p.roleOrg != null and p.roleOrg.size>0">
            <foreach item="item" collection="p.roleOrg" index="">
                <foreach item="itemto" collection="item" index="inx">
                    <choose>
                        <when test="inx == 1">
                            <if test="itemto.flag">
 
                            </if>
                            <if test="!itemto.flag">
                                or ( is_del = 0 and enabled=1) <include refid="where_condition"></include>
                            </if>
                        </when>
                        <when test="inx==2">
                            <if test="itemto.flag">
                                AND
                                <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
                                         index="">
                                    create_user_org_code = #{itemtoto.orgCode}
                                </foreach>
                            </if>
                            <if test="!itemto.flag">
                                or (
                                <foreach item="itemtoto" collection="itemto.object" separator="or" open="(" close=")"
                                         index="">
                                    create_user_org_code = #{itemtoto.orgCode}
                                </foreach>
                                and is_del = 0 and enabled=1  <include refid="where_condition"></include>
                                )
                            </if>
                        </when>
                        <when test="inx == 3">
                            <if test="itemto.flag">
                                AND
                                create_user_org_code = #{itemto.object}
                            </if>
                            <if test="!itemto.flag">
                                or (create_user_org_code = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include>
                            </if>
                        </when>
                        <when test="inx == 4">
                            <if test="itemto.flag">
                                AND
                                create_user_org_code like '${itemto.object}%'
                            </if>
                            <if test="!itemto.flag">
                                or (create_user_org_code like '${itemto.object}%' and is_del = 0 and enabled=1) <include refid="where_condition"></include>
                            </if>
                        </when>
                        <when test="inx == 5">
                            <if test="itemto.flag">
                                AND
                                create_user_id = #{itemto.object}
                            </if>
                            <if test="!itemto.flag">
                                or (create_user_id = #{itemto.object} and is_del = 0 and enabled=1) <include refid="where_condition"></include>
                            </if>
                        </when>
                        <otherwise>
                            AND id is null
                        </otherwise>
                    </choose>
                </foreach>
            </foreach>
        </if>
    </sql>
 
    <sql id="where_condition">
        <if test="p.id != null and p.id !=''">
            and id = #{p.id}
        </if>
        <if test="p.proName != null and p.proName !=''">
            and pro_name like concat('%', #{p.proName}, '%')
        </if>
        <if test="p.proTime != null and p.proTime !=''">
            and pro_time = #{p.proTime}
        </if>
        <if test="p.proType != null and p.proType !=''">
            and pro_type = #{p.proType}
        </if>
        <if test="p.proPrice != null and p.proPrice !=''">
            and pro_price = #{p.proPrice}
        </if>
        <if test="p.recordCount != null and p.recordCount !=''">
            and record_count = #{p.recordCount}
        </if>
        <if test="p.ailightCount != null and p.ailightCount !=''">
            and ailight_count = #{p.ailightCount}
        </if>
        <if test="p.isDel != null and p.isDel !=''">
            and is_del = #{p.isDel}
        </if>
        <if test="p.enabled != null and p.enabled !=''">
            and enabled = #{p.enabled}
        </if>
        <if test="p.createUserId != null and p.createUserId !=''">
            and create_user_id = #{p.createUserId}
        </if>
        <if test="p.createUserName != null and p.createUserName !=''">
            and create_user_name = #{p.createUserName}
        </if>
        <if test="p.updateUserId != null and p.updateUserId !=''">
            and update_user_id = #{p.updateUserId}
        </if>
        <if test="p.updateUserName != null and p.updateUserName !=''">
            and update_user_name = #{p.updateUserName}
        </if>
        <if test="p.createTime != null and p.createTime !=''">
            and create_time = #{p.createTime}
        </if>
        <if test="p.updateTime != null and p.updateTime !=''">
            and update_time = #{p.updateTime}
        </if>
        <if test="p.idNotIn !=null and p.idNotIn.size()>0">
            and id not in
            <foreach item="list" collection="p.idNotIn" separator="," open="(" close=")"
                     index="">
               #{list}
            </foreach>
        </if>
    </sql>
<!--    根据数据权限查询数据-->
    <sql id="where_list">
        <where>
            <!--查询条件自行添加-->
            is_del=0
            <include refid="where_condition"></include>
            <include refid="Role_Organization"></include>
        </where>
    </sql>
    <!--sql查询片段-->
    <sql id="where">
        <where>
            <!--查询条件自行添加-->
            is_del=0
            <include refid="where_condition"></include>
        </where>
    </sql>
 
    <!--定义根据-SysProduct当作查询条件返回对象-->
    <select id="findByObject" resultType="com.kidgrow.oprationcenter.model.SysProduct">
        select
        <include refid="Column_List"/>
        from sys_product
        <include refid="where"/>
        order by id desc
        limit 1
    </select>
 
    <!--定义根据-SysProduct当作查询条件返回对象集合-->
    <select id="findList" resultType="com.kidgrow.oprationcenter.model.SysProduct">
        select
        <include refid="Column_List"/>
        from sys_product
        <include refid="where_list"/>
        order by id desc
    </select>
    <!--定义根据-SysProduct当作查询条件返回对象集合-->
    <select id="findAllList" resultType="com.kidgrow.oprationcenter.vo.ProductAllVo">
        select
        <include refid="Column_List"/>
        from sys_product
        <include refid="where"/>
        order by id desc
    </select>
</mapper>