forked from kidgrow-microservices-platform

zhaoxiaohao
2020-11-25 6398ac4a3b9cf7d9f36756307aa1448e1e215e0c
kidgrow-business/kidgrow-opration-center/kidgrow-opration-center-biz/src/main/resources/mapper/SysProductMapper.xml
@@ -9,99 +9,140 @@
    <!--定义数据权限的查询-->
    <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"></when>
                        <when test="inx == 1">
                            <if test="itemto.flag">
                        <when test=" inx ==2">
                            AND
                            <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
                                create_user_org_code like '${itemtoto.orgCode}%'
                            </foreach>
                            </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">
                            AND
                            <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
                                create_user_org_code = #{itemtoto.orgCode}
                            </foreach>
                            <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">
                            AND
                            <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
                                create_user_org_code like '${itemtoto.orgCode}%'
                            </foreach>
                            <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">
                            AND
                            <foreach item="itemtoto" collection="itemto" separator="or" open="(" close=")" index="">
                                create_user_id = #{itemtoto.orgCode}
                            </foreach>
                            <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
            <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>
            <include refid="Role_Organization"></include>
            <include refid="where_condition"></include>
        </where>
    </sql>
@@ -120,6 +161,14 @@
        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>