wuxw
2024-01-25 5bc596e3da2a2abf457488413340b5062c35ff50
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
<?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="menuCatalogV1ServiceDaoImpl">
 
 
    <!-- 保存菜单目录信息 add by wuxw 2018-07-03 -->
    <insert id="saveMenuCatalogInfo" parameterType="Map">
        insert into m_menu_catalog(
        store_type,ca_id,name,icon,seq,url,is_show,priv_id
        ) values (
        #{storeType},#{caId},#{name},#{icon},#{seq},#{url},#{isShow},#{privId}
        )
    </insert>
 
 
    <!-- 查询菜单目录信息 add by wuxw 2018-07-03 -->
    <select id="getMenuCatalogInfo" parameterType="Map" resultType="Map">
        select t.store_type,t.store_type storeType,t.ca_id,t.ca_id caId,t.name,t.icon,t.status_cd,t.status_cd
        statusCd,t.seq,t.url,t.is_show,t.is_show isShow,t.priv_id privId
        from m_menu_catalog t
        where 1 =1
        <if test="storeType !=null and storeType != ''">
            and t.store_type= #{storeType}
        </if>
        <if test="caId !=null and caId != ''">
            and t.ca_id= #{caId}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="icon !=null and icon != ''">
            and t.icon= #{icon}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>
        <if test="isShow !=null and isShow != ''">
            and t.is_show= #{isShow}
        </if>
        order by t.seq
        <if test="page != -1 and page != null ">
            limit #{page}, #{row}
        </if>
 
    </select>
 
 
    <!-- 修改菜单目录信息 add by wuxw 2018-07-03 -->
    <update id="updateMenuCatalogInfo" parameterType="Map">
        update m_menu_catalog t set t.status_cd = #{statusCd}
        <if test="newBId != null and newBId != ''">
            ,t.b_id = #{newBId}
        </if>
        <if test="storeType !=null and storeType != ''">
            , t.store_type= #{storeType}
        </if>
        <if test="name !=null and name != ''">
            , t.name= #{name}
        </if>
        <if test="icon !=null and icon != ''">
            , t.icon= #{icon}
        </if>
        <if test="seq !=null and seq != ''">
            , t.seq= #{seq}
        </if>
        <if test="url !=null and url != ''">
            , t.url= #{url}
        </if>
        <if test="privId !=null and privId != ''">
            , t.priv_id = #{privId}
        </if>
        <if test="isShow !=null and isShow != ''">
            , t.is_show= #{isShow}
        </if>
        where 1=1
        <if test="caId !=null and caId != ''">
            and t.ca_id= #{caId}
        </if>
 
    </update>
 
    <!-- 查询菜单目录数量 add by wuxw 2018-07-03 -->
    <select id="queryMenuCatalogsCount" parameterType="Map" resultType="Map">
        select count(1) count
        from m_menu_catalog t
        where 1 =1
        <if test="storeType !=null and storeType != ''">
            and t.store_type= #{storeType}
        </if>
        <if test="caId !=null and caId != ''">
            and t.ca_id= #{caId}
        </if>
        <if test="name !=null and name != ''">
            and t.name= #{name}
        </if>
        <if test="icon !=null and icon != ''">
            and t.icon= #{icon}
        </if>
        <if test="statusCd !=null and statusCd != ''">
            and t.status_cd= #{statusCd}
        </if>
        <if test="seq !=null and seq != ''">
            and t.seq= #{seq}
        </if>
        <if test="url !=null and url != ''">
            and t.url= #{url}
        </if>
        <if test="isShow !=null and isShow != ''">
            and t.is_show= #{isShow}
        </if>
 
 
    </select>
 
    <!-- 查询菜单目录数量 add by wuxw 2018-07-03 -->
    <select id="queryMenus" parameterType="Map" resultType="Map">
        SELECT mm.`m_id` `mId`,mm.name menuName,mm.`g_id` gId,mm.`url`,mm.seq menuSeq,mm.`p_id` pId,
        mm.`description` menuDescription, mmg.name menuGroupName,mmg.`icon`,mmg.`label`,mmg.`seq` menuGroupSeq,
        mmg.`description` menuGroupDescription,mm.is_show isShow,mm.description
        FROM m_menu mm
        inner join m_menu_group mmg on mm.`g_id` = mmg.`g_id` AND mmg.`status_cd` = '0'
        <if test="caId !=null and caId != ''">
            inner join m_menu_group_catalog mgc on mmg.g_id = mgc.g_id and mgc.status_cd = '0'
        </if>
        <if test="communityId !=null and communityId != ''">
            inner join m_menu_group_community mgcy on mgcy.g_id = mmg.g_id and mgcy.status_cd = '0'
        </if>
        WHERE
        mmg.group_type = #{groupType}
        and mmg.store_type= #{domain}
        <if test="caId !=null and caId != ''">
            and mgc.ca_id = #{caId}
        </if>
        <if test="communityId !=null and communityId != ''">
            and mgcy.community_id = #{communityId}
        </if>
        AND mm.`status_cd` = '0'
        AND mm.`m_id` IN (
        SELECT pp.`m_id` FROM p_privilege_user ppu,p_privilege pp
        WHERE ppu.`p_id` = pp.`p_id`
        and pp.domain in (#{domain},'9999')
        AND ppu.`privilege_flag` = '0'
        AND ppu.`user_id` = #{userId}
        AND ppu.`status_cd` = '0'
        AND pp.`status_cd` = '0'
        UNION
        SELECT pp.`m_id` FROM p_privilege_user ppu,p_privilege_group ppg,p_privilege pp,p_privilege_rel ppr
        WHERE ppu.`p_id` = ppr.pg_id
        AND ppr.pg_id = ppg.pg_id
        AND ppr.p_id = pp.`p_id`
        and pp.domain in (#{domain},'9999')
        AND ppu.`privilege_flag` = '1'
        AND ppu.`user_id` = #{userId}
        AND ppu.`status_cd` = '0'
        AND pp.`status_cd` = '0'
        AND ppg.status_cd = '0'
        AND ppr.status_cd = '0'
        )
    </select>
</mapper>