Kaynağa Gözat

菜单和按钮接口

魏超 5 yıl önce
ebeveyn
işleme
6fd13d1cd9

+ 63
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthButtonController.java Dosyayı Görüntüle

@@ -0,0 +1,63 @@
1
+package com.huiju.estateagents.center.taUser.controller;
2
+
3
+import com.huiju.estateagents.base.BaseController;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthButtonService;
6
+import com.huiju.estateagents.entity.SysButtonInMenu;
7
+import com.huiju.estateagents.entity.SysMenu;
8
+import org.springframework.beans.factory.annotation.Autowired;
9
+import org.springframework.web.bind.annotation.*;
10
+
11
+import java.util.List;
12
+
13
+/**
14
+ * @author weicc
15
+ * @Title: TaUserAuthButtonController
16
+ * @Description: TODO
17
+ * @date 2019/9/23
18
+ */
19
+@RestController
20
+@RequestMapping("/api")
21
+public class TaUserAuthButtonController extends BaseController {
22
+
23
+    @Autowired
24
+    public ITaUserAuthButtonService iTaUserAuthButtonService;
25
+
26
+    /**
27
+     * 根据userId获取菜单列表
28
+     * @param pageNum
29
+     * @param pageSize
30
+     * @param userId
31
+     * @return
32
+     */
33
+    @RequestMapping(value="/admin/userAuthButton/{userId}",method= RequestMethod.GET)
34
+    public ResponseBean getButtonByUserId(@RequestParam("pageNum")Integer pageNum,
35
+                                        @RequestParam("pageSize")Integer pageSize,
36
+                                        @PathVariable String userId){
37
+        return iTaUserAuthButtonService.getButtonByUserId(pageNum,pageSize,userId);
38
+    }
39
+
40
+
41
+    /**
42
+     * 获取所有的菜单按钮
43
+     * @param pageNum
44
+     * @param pageSize
45
+     * @return
46
+     */
47
+    @RequestMapping(value="/admin/buttonList",method= RequestMethod.GET)
48
+    public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
49
+                                      @RequestParam("pageSize")Integer pageSize){
50
+        return iTaUserAuthButtonService.getAllButton(pageNum, pageSize);
51
+    }
52
+
53
+    /**
54
+     * 用户授权按钮
55
+     * @param userId
56
+     * @return
57
+     */
58
+    @RequestMapping(value="/admin/updateAuthButton/{userId}",method= RequestMethod.PUT)
59
+    public ResponseBean updateUserAuthMenu(@PathVariable Integer userId,
60
+                                           @RequestBody List<SysButtonInMenu> sysButtonList){
61
+        return iTaUserAuthButtonService.updateUserAuthButton(userId, sysButtonList);
62
+    }
63
+}

+ 61
- 0
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthMenuController.java Dosyayı Görüntüle

@@ -0,0 +1,61 @@
1
+package com.huiju.estateagents.center.taUser.controller;
2
+
3
+import com.huiju.estateagents.base.BaseController;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
6
+import com.huiju.estateagents.entity.SysMenu;
7
+import org.springframework.beans.factory.annotation.Autowired;
8
+import org.springframework.web.bind.annotation.*;
9
+
10
+import java.util.List;
11
+
12
+/**
13
+ * @author weicc
14
+ * @Title: TaUserAuthMenuController
15
+ * @Description: TODO
16
+ * @date 2019/9/21
17
+ */
18
+@RestController
19
+@RequestMapping("/api")
20
+public class TaUserAuthMenuController extends BaseController {
21
+
22
+    @Autowired
23
+    public ITaUserAuthMenuService iTaUserAuthMenuService;
24
+
25
+    /**
26
+     * 根据userId获取菜单列表
27
+     * @param pageNum
28
+     * @param pageSize
29
+     * @param userId
30
+     * @return
31
+     */
32
+    @RequestMapping(value="/admin/userAuthMenu/{userId}",method= RequestMethod.GET)
33
+    public ResponseBean  getMenuByUserId(@RequestParam("pageNum")Integer pageNum,
34
+                                         @RequestParam("pageSize")Integer pageSize,
35
+                                         @PathVariable String userId){
36
+        return iTaUserAuthMenuService.getMenuByUserId(pageNum,pageSize,userId);
37
+    }
38
+
39
+    /**
40
+     * 获取所有菜单
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @return
44
+     */
45
+    @RequestMapping(value="/admin/menuList",method= RequestMethod.GET)
46
+    public ResponseBean getMenuByRole(@RequestParam("pageNum")Integer pageNum,
47
+                                      @RequestParam("pageSize")Integer pageSize){
48
+        return iTaUserAuthMenuService.getAllMenu(pageNum, pageSize);
49
+    }
50
+
51
+    /**
52
+     * 用户授权菜单
53
+     * @param userId
54
+     * @return
55
+     */
56
+    @RequestMapping(value="/admin/updateAuthMenu/{userId}",method= RequestMethod.PUT)
57
+    public ResponseBean updateUserAuthMenu(@PathVariable Integer userId,
58
+                                           @RequestBody List<SysMenu> sysMenuList){
59
+        return iTaUserAuthMenuService.updateUserAuthMenu(userId, sysMenuList);
60
+    }
61
+}

+ 40
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserAuthButtonMapper.java Dosyayı Görüntüle

@@ -0,0 +1,40 @@
1
+package com.huiju.estateagents.center.taUser.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.entity.SysButtonInMenu;
7
+import com.huiju.estateagents.entity.SysMenu;
8
+import org.apache.ibatis.annotations.Mapper;
9
+import org.apache.ibatis.annotations.Param;
10
+
11
+import java.util.List;
12
+
13
+/**
14
+ * @author admin
15
+ * @Title: TaUserAuthButtonMapper
16
+ * @Description: TODO
17
+ * @date 2019/9/23
18
+ */
19
+@Mapper
20
+public interface TaUserAuthButtonMapper  extends BaseMapper<SysButtonInMenu> {
21
+    /**
22
+     * 根据用户Id查询按钮列表
23
+     * @param page
24
+     * @param userId
25
+     * @return
26
+     */
27
+    IPage<SysButtonInMenu> sysButtonListByUserId(Page page, @Param("userId")String userId);
28
+
29
+
30
+    /**
31
+     * 根据角色Id查询按钮列表
32
+     * @param page
33
+     * @return
34
+     */
35
+    IPage<SysButtonInMenu> sysButtonListByRoleId(Page page);
36
+
37
+    void deleteUserAuthButton(@Param("userId") Integer userId);
38
+
39
+    void addUserAuthButton(@Param("userId") Integer userId, @Param("sysButtons") List<SysButtonInMenu> sysButtonInMenus);
40
+}

+ 48
- 0
src/main/java/com/huiju/estateagents/center/taUser/mapper/TaUserAuthMenuMapper.java Dosyayı Görüntüle

@@ -0,0 +1,48 @@
1
+package com.huiju.estateagents.center.taUser.mapper;
2
+
3
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.huiju.estateagents.entity.SysMenu;
7
+import org.apache.ibatis.annotations.Mapper;
8
+import org.apache.ibatis.annotations.Param;
9
+
10
+import java.util.List;
11
+
12
+
13
+/**
14
+ * @author weicc
15
+ * @Title: TaUserAuthMenuMapper
16
+ * @Description: TODO
17
+ * @date 2019/9/21
18
+ */
19
+@Mapper
20
+public interface TaUserAuthMenuMapper extends BaseMapper<SysMenu> {
21
+    /**
22
+     * 根据用户Id查询菜单列表
23
+     * @param page
24
+     * @param userId
25
+     * @return
26
+     */
27
+    IPage<SysMenu> sysMenuListByUserId(Page page, @Param("userId")String userId);
28
+
29
+
30
+    /**
31
+     * 根据角色Id查询菜单列表
32
+     * @param page
33
+     * @return
34
+     */
35
+    IPage<SysMenu> sysMenuListByRoleId(Page page);
36
+
37
+    /**
38
+     * 删除授权的菜单
39
+     * @param userId
40
+     */
41
+    void deleteUserAuthMenu(@Param("userId") Integer userId);
42
+
43
+    /**
44
+     * 新增授权的菜单
45
+     * @param userId
46
+     */
47
+    void addUserAuthMenu(@Param("userId") Integer userId, @Param("sysMenus") List<SysMenu> sysMenuList);
48
+}

+ 22
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthButtonService.java Dosyayı Görüntüle

@@ -0,0 +1,22 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.SysButtonInMenu;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * @author admin
11
+ * @Title: ITaUserAuthButtonService
12
+ * @Description: TODO
13
+ * @date 2019/9/23
14
+ */
15
+public interface ITaUserAuthButtonService extends IService<SysButtonInMenu> {
16
+
17
+    ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId);
18
+
19
+    ResponseBean getAllButton(Integer pageNum, Integer pageSize);
20
+
21
+    ResponseBean updateUserAuthButton(Integer userId, List<SysButtonInMenu> sysButtonInMenus);
22
+}

+ 22
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthMenuService.java Dosyayı Görüntüle

@@ -0,0 +1,22 @@
1
+package com.huiju.estateagents.center.taUser.service;
2
+
3
+import com.baomidou.mybatisplus.extension.service.IService;
4
+import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.SysMenu;
6
+
7
+import java.util.List;
8
+
9
+/**
10
+ * @author admin
11
+ * @Title: ITaUserAuthMenuService
12
+ * @Description: TODO
13
+ * @date 2019/9/21
14
+ */
15
+public interface ITaUserAuthMenuService extends IService<SysMenu> {
16
+
17
+    ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId);
18
+
19
+    ResponseBean getAllMenu(Integer pageNum, Integer pageSize);
20
+
21
+    ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList);
22
+}

+ 97
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthButtonServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,97 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.center.taUser.mapper.TaUserAuthButtonMapper;
10
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthButtonService;
12
+import com.huiju.estateagents.entity.SysButtonInMenu;
13
+import com.huiju.estateagents.entity.SysMenu;
14
+import com.huiju.estateagents.entity.TaRoleButton;
15
+import com.huiju.estateagents.mapper.TaRoleButtonMapper;
16
+import org.springframework.beans.factory.annotation.Autowired;
17
+import org.springframework.stereotype.Service;
18
+
19
+import java.util.ArrayList;
20
+import java.util.List;
21
+
22
+/**
23
+ * @author admin
24
+ * @Title: TaUserAuthButtonServiceImpl
25
+ * @Description: TODO
26
+ * @date 2019/9/23
27
+ */
28
+@Service
29
+public class TaUserAuthButtonServiceImpl extends ServiceImpl<TaUserAuthButtonMapper, SysButtonInMenu> implements ITaUserAuthButtonService {
30
+
31
+    @Autowired
32
+    TaUserAuthButtonMapper taUserAuthButtonMapper;
33
+    @Autowired
34
+    TaRoleButtonMapper taRoleButtonMapper;
35
+    @Autowired
36
+    private TaUserMapper taUserMapper;
37
+
38
+    @Override
39
+    public ResponseBean getButtonByUserId(Integer pageNum, Integer pageSize, String userId) {
40
+        Page<SysMenu> page = new Page<>();
41
+        page.setSize(pageSize == null ? 10 : pageSize);
42
+        page.setCurrent(pageNum == null ? 1 : pageNum);
43
+
44
+        List<SysButtonInMenu> records = taUserAuthButtonMapper.sysButtonListByUserId(page, userId).getRecords();
45
+        return ResponseBean.success(records);
46
+    }
47
+
48
+    @Override
49
+    public ResponseBean getAllButton(Integer pageNum, Integer pageSize) {
50
+        Page<SysButtonInMenu> page = new Page<>();
51
+        page.setSize(pageSize == null ? 10 : pageSize);
52
+        page.setCurrent(pageNum == null ? 1 : pageNum);
53
+
54
+        IPage<SysButtonInMenu> sysMenuIPage = taUserAuthButtonMapper.sysButtonListByRoleId(page);
55
+        List<SysButtonInMenu> records = sysMenuIPage.getRecords();
56
+
57
+        QueryWrapper<TaRoleButton> queryWrapper = new QueryWrapper();
58
+        List<TaRoleButton> taRoleButtons = taRoleButtonMapper.selectList(queryWrapper);
59
+
60
+        for (SysButtonInMenu sysButtonInMenu : records){
61
+            ArrayList<Integer> roles = new ArrayList<>();
62
+            for (TaRoleButton taRoleButton : taRoleButtons){
63
+                if (sysButtonInMenu.getBtnId().equals(taRoleButton.getBtnId())){
64
+                    roles.add(taRoleButton.getBtnId());
65
+                }
66
+            }
67
+            sysButtonInMenu.setRoles(roles);
68
+        }
69
+
70
+        return ResponseBean.success(records);
71
+    }
72
+
73
+    @Override
74
+    public ResponseBean updateUserAuthButton(Integer userId, List<SysButtonInMenu> sysButtonInMenus) {
75
+        ResponseBean responseBean = new ResponseBean();
76
+
77
+        // 人员
78
+        TaUser taUser = taUserMapper.selectById(userId);
79
+        if (null == taUser) {
80
+            responseBean.addError("授权人不存在");
81
+            return responseBean;
82
+        }
83
+
84
+        try{
85
+            //授权菜单按钮,先删除在新增
86
+            taUserAuthButtonMapper.deleteUserAuthButton(userId);
87
+            taUserAuthButtonMapper.addUserAuthButton(userId, sysButtonInMenus);
88
+            responseBean.addSuccess("操作成功");
89
+            return  responseBean;
90
+        }catch (Exception e){
91
+            responseBean.addSuccess("操作失败");
92
+            e.printStackTrace();
93
+            return responseBean;
94
+        }
95
+
96
+    }
97
+}

+ 108
- 0
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthMenuServiceImpl.java Dosyayı Görüntüle

@@ -0,0 +1,108 @@
1
+package com.huiju.estateagents.center.taUser.service.impl;
2
+
3
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4
+import com.baomidou.mybatisplus.core.metadata.IPage;
5
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
6
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
7
+import com.huiju.estateagents.base.ResponseBean;
8
+import com.huiju.estateagents.center.taUser.entity.TaUser;
9
+import com.huiju.estateagents.center.taUser.mapper.TaUserAuthMenuMapper;
10
+import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11
+import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
12
+import com.huiju.estateagents.entity.SysMenu;
13
+import com.huiju.estateagents.entity.TaRoleMenu;
14
+import com.huiju.estateagents.mapper.TaRoleMenuMapper;
15
+import org.springframework.beans.factory.annotation.Autowired;
16
+import org.springframework.stereotype.Service;
17
+
18
+import java.util.ArrayList;
19
+import java.util.Arrays;
20
+import java.util.List;
21
+
22
+/**
23
+ * @author weicc
24
+ * @Title: TaUserAuthMenuServiceImpl
25
+ * @Description: TODO
26
+ * @date 2019/9/21
27
+ */
28
+@Service
29
+public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper, SysMenu> implements ITaUserAuthMenuService {
30
+
31
+
32
+    @Autowired
33
+    private TaUserAuthMenuMapper taUserAuthMenuMapper;
34
+    @Autowired
35
+    private TaRoleMenuMapper taRoleMenuMapper;
36
+    @Autowired
37
+    private TaUserMapper taUserMapper;
38
+
39
+    /**
40
+     * 根据用户id获取授权菜单
41
+     * @param pageNum
42
+     * @param pageSize
43
+     * @param userId
44
+     * @return
45
+     */
46
+    @Override
47
+    public ResponseBean getMenuByUserId(Integer pageNum, Integer pageSize, String userId) {
48
+        Page<SysMenu> page = new Page<>();
49
+        page.setSize(pageSize == null ? 10 : pageSize);
50
+        page.setCurrent(pageNum == null ? 1 : pageNum);
51
+
52
+        IPage<SysMenu> sysMenuIPage = taUserAuthMenuMapper.sysMenuListByUserId(page, userId);
53
+        List<SysMenu> records = sysMenuIPage.getRecords();
54
+
55
+        return ResponseBean.success(records);
56
+    }
57
+
58
+    @Override
59
+    public ResponseBean getAllMenu(Integer pageNum, Integer pageSize) {
60
+        Page<SysMenu> page = new Page<>();
61
+        page.setSize(pageSize == null ? 10 : pageSize);
62
+        page.setCurrent(pageNum == null ? 1 : pageNum);
63
+
64
+        IPage<SysMenu> sysMenuIPage = taUserAuthMenuMapper.sysMenuListByRoleId(page);
65
+        List<SysMenu> records = sysMenuIPage.getRecords();
66
+
67
+        QueryWrapper<TaRoleMenu> queryWrapper = new QueryWrapper();
68
+        List<TaRoleMenu> taRoleMenus = taRoleMenuMapper.selectList(queryWrapper);
69
+
70
+        for (SysMenu sysMenu : records){
71
+            ArrayList<Integer> roles = new ArrayList<>();
72
+            for (TaRoleMenu taRoleMenu : taRoleMenus){
73
+                if (taRoleMenu.getMenuId().equals(sysMenu.getMenuId())){
74
+                    roles.add(taRoleMenu.getRoleId());
75
+                }
76
+            }
77
+            sysMenu.setRoles(roles);
78
+        }
79
+
80
+        return ResponseBean.success(records);
81
+    }
82
+
83
+    @Override
84
+    public ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList) {
85
+        ResponseBean responseBean = new ResponseBean();
86
+
87
+        // 人员
88
+        TaUser taUser = taUserMapper.selectById(userId);
89
+        if (null == taUser) {
90
+            responseBean.addError("授权人不存在");
91
+            return responseBean;
92
+        }
93
+
94
+        try{
95
+            //授权菜单,先删除在新增
96
+            taUserAuthMenuMapper.deleteUserAuthMenu(userId);
97
+            taUserAuthMenuMapper.addUserAuthMenu(userId, sysMenuList);
98
+            responseBean.addSuccess("操作成功");
99
+            return  responseBean;
100
+        }catch (Exception e){
101
+            responseBean.addSuccess("操作失败");
102
+            e.printStackTrace();
103
+            return responseBean;
104
+        }
105
+
106
+    }
107
+
108
+}

+ 4
- 1
src/main/java/com/huiju/estateagents/entity/SysButtonInMenu.java Dosyayı Görüntüle

@@ -1,12 +1,14 @@
1 1
 package com.huiju.estateagents.entity;
2 2
 
3 3
 import com.baomidou.mybatisplus.annotation.IdType;
4
+import com.baomidou.mybatisplus.annotation.TableField;
4 5
 import com.baomidou.mybatisplus.annotation.TableId;
5 6
 import lombok.Data;
6 7
 import lombok.EqualsAndHashCode;
7 8
 import lombok.experimental.Accessors;
8 9
 
9 10
 import java.io.Serializable;
11
+import java.util.List;
10 12
 
11 13
 /**
12 14
  * <p>
@@ -46,5 +48,6 @@ public class SysButtonInMenu implements Serializable {
46 48
 
47 49
     private String code;
48 50
 
49
-
51
+    @TableField(exist = false)
52
+    private List<Integer> roles;
50 53
 }

+ 7
- 0
src/main/java/com/huiju/estateagents/entity/SysMenu.java Dosyayı Görüntüle

@@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode;
8 8
 import lombok.experimental.Accessors;
9 9
 
10 10
 import java.io.Serializable;
11
+import java.util.List;
11 12
 
12 13
 /**
13 14
  * <p>
@@ -75,4 +76,10 @@ public class SysMenu implements Serializable {
75 76
      */
76 77
     @TableField(exist = false)
77 78
     private Boolean hasRights;
79
+
80
+    /**
81
+     * 是否有权限
82
+     */
83
+    @TableField(exist = false)
84
+    private List<Integer> roles;
78 85
 }

+ 60
- 0
src/main/resources/mapper/TaUserAuthButtonMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,60 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.center.taUser.mapper.TaUserAuthButtonMapper">
4
+
5
+    <sql id="queryColumn">
6
+		t.btn_id,
7
+		t.menu_id,
8
+		t.name,
9
+		t.status,
10
+		t.code
11
+	</sql>
12
+
13
+    <select id="sysButtonListByUserId" resultType="com.huiju.estateagents.entity.SysButtonInMenu">
14
+        select
15
+          <include refid="queryColumn"></include>
16
+        from
17
+          sys_button_in_menu t
18
+        where
19
+            t.btn_id in (
20
+                SELECT
21
+                a.role_id
22
+                from
23
+                ta_role_button a
24
+                where
25
+                a.role_id in (
26
+                    select
27
+                    role_id
28
+                    from
29
+                    ta_user_role b
30
+                    where
31
+                    b.user_id = #{userId}
32
+                )
33
+            )
34
+    </select>
35
+
36
+    <select id="sysButtonListByRoleId" resultType="com.huiju.estateagents.entity.SysButtonInMenu">
37
+        select
38
+          <include refid="queryColumn"></include>
39
+        from
40
+        sys_button_in_menu t
41
+    </select>
42
+
43
+    <delete id="deleteUserAuthButton">
44
+      delete from ta_role_button where role_id in (
45
+        select role_id from ta_user_role r where r.user_id = #{userId}
46
+      )
47
+    </delete>
48
+
49
+    <update id="addUserAuthButton">
50
+        <foreach item="item" index="index" collection="sysButtons" separator=";" >
51
+            insert into ta_role_button (role_id, btn_id)
52
+            values
53
+            (
54
+            (select role_id from ta_user_role u where u.user_id = #{userId}),
55
+            #{item.btnId}
56
+            )
57
+        </foreach>
58
+    </update>
59
+
60
+</mapper>

+ 67
- 0
src/main/resources/mapper/TaUserAuthMenuMapper.xml Dosyayı Görüntüle

@@ -0,0 +1,67 @@
1
+<?xml version="1.0" encoding="UTF-8"?>
2
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3
+<mapper namespace="com.huiju.estateagents.center.taUser.mapper.TaUserAuthMenuMapper">
4
+
5
+    <sql id="queryColumn">
6
+		t.menu_id,
7
+		t.code,
8
+		t.name,
9
+		t.parent_code,
10
+		t.icon,
11
+		t.app_type,
12
+		t.status,
13
+		t.menu_root
14
+	</sql>
15
+
16
+    <select id="sysMenuListByUserId" resultType="com.huiju.estateagents.entity.SysMenu">
17
+        select
18
+          <include refid="queryColumn"></include>
19
+        from
20
+            sys_menu t
21
+        where
22
+            t.menu_id in (
23
+                SELECT
24
+                    a.menu_id
25
+                from
26
+                    ta_role_menu a
27
+                where
28
+                    a.role_id in (
29
+                        select
30
+                            role_id
31
+                        from
32
+                            ta_user_role b
33
+                        where
34
+                            b.user_id = #{userId}
35
+                    )
36
+            )
37
+        order by t.sort_num desc
38
+    </select>
39
+
40
+    <select id="sysMenuListByRoleId" resultType="com.huiju.estateagents.entity.SysMenu">
41
+        select
42
+          <include refid="queryColumn"></include>
43
+        from
44
+          sys_menu t
45
+        where
46
+          t.app_type = 'estateagent-admin'
47
+          order by t.sort_num
48
+    </select>
49
+
50
+    <delete id="deleteUserAuthMenu">
51
+      delete from ta_role_menu where role_id in (
52
+        select role_id from ta_user_role r where r.user_id = #{userId}
53
+      )
54
+    </delete>
55
+
56
+    <update id="addUserAuthMenu">
57
+        <foreach item="item" index="index" collection="sysMenus" separator=";" >
58
+            insert into ta_role_menu (role_id, menu_id)
59
+            values
60
+            (
61
+              (select role_id from ta_user_role u where u.user_id = #{userId}),
62
+               #{item.menuId}
63
+            )
64
+        </foreach>
65
+    </update>
66
+
67
+</mapper>