dingxin 5 anos atrás
pai
commit
2394866eec

+ 5
- 1
src/main/java/com/huiju/estateagents/center/taUser/controller/TaUserAuthMenuController.java Ver arquivo

@@ -6,6 +6,7 @@ import com.google.gson.JsonArray;
6 6
 import com.huiju.estateagents.base.BaseController;
7 7
 import com.huiju.estateagents.base.ResponseBean;
8 8
 import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
9
+import com.huiju.estateagents.entity.SysButtonInMenu;
9 10
 import com.huiju.estateagents.entity.SysMenu;
10 11
 import com.huiju.estateagents.entity.TaRole;
11 12
 import org.springframework.beans.factory.annotation.Autowired;
@@ -65,6 +66,9 @@ public class TaUserAuthMenuController extends BaseController {
65 66
         Integer userId = Object.getInteger("id");
66 67
         JSONArray JSONArray = Object.getJSONArray("sysMenu");
67 68
         List<SysMenu> sysMenuList = JSONArray.toJavaList(SysMenu.class);
68
-        return iTaUserAuthMenuService.updateUserAuthMenu(userId, sysMenuList,name,getOrgId(request));
69
+
70
+        JSONArray buttonArray = Object.getJSONArray("sysButton");
71
+        List<SysButtonInMenu> sysButtonInMenuList = buttonArray.toJavaList(SysButtonInMenu.class);
72
+        return iTaUserAuthMenuService.updateUserAuthMenu(userId, sysMenuList,name,getOrgId(request),sysButtonInMenuList);
69 73
     }
70 74
 }

+ 2
- 1
src/main/java/com/huiju/estateagents/center/taUser/service/ITaUserAuthMenuService.java Ver arquivo

@@ -2,6 +2,7 @@ package com.huiju.estateagents.center.taUser.service;
2 2
 
3 3
 import com.baomidou.mybatisplus.extension.service.IService;
4 4
 import com.huiju.estateagents.base.ResponseBean;
5
+import com.huiju.estateagents.entity.SysButtonInMenu;
5 6
 import com.huiju.estateagents.entity.SysMenu;
6 7
 
7 8
 import java.util.List;
@@ -18,5 +19,5 @@ public interface ITaUserAuthMenuService extends IService<SysMenu> {
18 19
 
19 20
     ResponseBean getAllMenu(Integer pageNum, Integer pageSize);
20 21
 
21
-    ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList,String name,Integer orgid);
22
+    ResponseBean updateUserAuthMenu(Integer userId, List<SysMenu> sysMenuList,String name,Integer orgid,List<SysButtonInMenu> sysButtonInMenuList);
22 23
 }

+ 32
- 10
src/main/java/com/huiju/estateagents/center/taUser/service/impl/TaUserAuthMenuServiceImpl.java Ver arquivo

@@ -9,14 +9,14 @@ import com.huiju.estateagents.center.taUser.entity.TaUser;
9 9
 import com.huiju.estateagents.center.taUser.mapper.TaUserAuthMenuMapper;
10 10
 import com.huiju.estateagents.center.taUser.mapper.TaUserMapper;
11 11
 import com.huiju.estateagents.center.taUser.service.ITaUserAuthMenuService;
12
-import com.huiju.estateagents.entity.SysMenu;
13
-import com.huiju.estateagents.entity.TaRole;
14
-import com.huiju.estateagents.entity.TaRoleMenu;
12
+import com.huiju.estateagents.entity.*;
13
+import com.huiju.estateagents.mapper.TaRoleButtonMapper;
15 14
 import com.huiju.estateagents.mapper.TaRoleMapper;
16 15
 import com.huiju.estateagents.mapper.TaRoleMenuMapper;
17 16
 import org.springframework.beans.factory.annotation.Autowired;
18 17
 import org.springframework.stereotype.Service;
19 18
 
19
+import java.time.LocalDateTime;
20 20
 import java.util.ArrayList;
21 21
 import java.util.Arrays;
22 22
 import java.util.List;
@@ -41,6 +41,9 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
41 41
     @Autowired
42 42
     private  TaRoleMapper taRoleMapper;
43 43
 
44
+    @Autowired
45
+    private TaRoleButtonMapper taRoleButtonMapper;
46
+
44 47
     /**
45 48
      * 根据用户id获取授权菜单
46 49
      * @param pageNum
@@ -77,11 +80,10 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
77 80
     }
78 81
 
79 82
     @Override
80
-    public ResponseBean updateUserAuthMenu(Integer roleId, List<SysMenu> sysMenuList,String name,Integer orgid) {
83
+    public ResponseBean updateUserAuthMenu(Integer roleId, List<SysMenu> sysMenuList,String name,Integer orgId,List<SysButtonInMenu> sysButtonInMenuList) {
81 84
         ResponseBean responseBean = new ResponseBean();
82 85
         if (null == roleId){
83
-            Boolean isA = addUserAuthMenu( sysMenuList,name,orgid);
84
-            responseBean.addSuccess(isA==true?"成功":"失败");
86
+            addUserAuthMenu( sysMenuList,name,orgId,sysButtonInMenuList);
85 87
             return responseBean;
86 88
         }
87 89
         try {
@@ -97,9 +99,18 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
97 99
             TaRole taRole = new TaRole();
98 100
             taRole.setRoleId(roleId);
99 101
             taRole.setRoleName(name);
100
-            taRole.setOrgId(orgid);
101 102
             taRoleMapper.updateById(taRole);
102
-            responseBean.addSuccess("操作成功");
103
+
104
+            // 当前角色的所有按钮再重新插入
105
+
106
+            taRoleButtonMapper.deleteCurrentBut(roleId);
107
+            for (SysButtonInMenu sysButtonInMenu :sysButtonInMenuList) {
108
+                TaRoleButton taRoleButton = new TaRoleButton();
109
+                taRoleButton.setRoleId(taRole.getRoleId());
110
+                taRoleButton.setBtnId(sysButtonInMenu.getBtnId());
111
+                taRoleButtonMapper.insert(taRoleButton);
112
+            }
113
+                responseBean.addSuccess("操作成功");
103 114
             return responseBean;
104 115
         } catch (Exception e) {
105 116
             responseBean.addSuccess("操作失败");
@@ -108,18 +119,29 @@ public class TaUserAuthMenuServiceImpl extends ServiceImpl<TaUserAuthMenuMapper,
108 119
         }
109 120
     }
110 121
 
111
-    public Boolean addUserAuthMenu(List<SysMenu> sysMenuList,String name,Integer orgid) {
122
+    public Boolean addUserAuthMenu(List<SysMenu> sysMenuList,String name,Integer orgId,List<SysButtonInMenu> sysButtonInMenuList) {
112 123
         ResponseBean responseBean = new ResponseBean();
113 124
         try{
125
+            // 新增角色
114 126
             TaRole taRole = new TaRole();
115 127
             taRole.setRoleName(name);
116
-            taRole.setOrgId(orgid);
128
+            taRole.setOrgId(orgId);
129
+            taRole.setCreateDate(LocalDateTime.now());
117 130
             taRoleMapper.insert(taRole);
131
+
132
+            // 新增角色需要的菜单
118 133
           for (SysMenu sysMenu: sysMenuList){
119 134
               TaRoleMenu taRoleMenu = new TaRoleMenu();
120 135
               taRoleMenu.setRoleId(taRole.getRoleId());
121 136
               taRoleMenu.setMenuId(sysMenu.getMenuId());
122 137
               taRoleMenuMapper.insert(taRoleMenu);
138
+          }
139
+          // 新增角色按钮
140
+          for (SysButtonInMenu sysButtonInMenu :sysButtonInMenuList){
141
+              TaRoleButton  taRoleButton = new TaRoleButton();
142
+              taRoleButton.setRoleId(taRole.getRoleId());
143
+              taRoleButton.setBtnId(sysButtonInMenu.getBtnId());
144
+              taRoleButtonMapper.insert(taRoleButton);
123 145
           }
124 146
             responseBean.addSuccess("操作成功");
125 147
             return  true;

+ 2
- 0
src/main/java/com/huiju/estateagents/mapper/TaRoleButtonMapper.java Ver arquivo

@@ -3,6 +3,7 @@ package com.huiju.estateagents.mapper;
3 3
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
4 4
 import com.huiju.estateagents.entity.TaRoleButton;
5 5
 import org.apache.ibatis.annotations.Mapper;
6
+import org.apache.ibatis.annotations.Param;
6 7
 
7 8
 /**
8 9
  * <p>
@@ -15,4 +16,5 @@ import org.apache.ibatis.annotations.Mapper;
15 16
 @Mapper
16 17
 public interface TaRoleButtonMapper extends BaseMapper<TaRoleButton> {
17 18
 
19
+    void deleteCurrentBut(@Param("roleId") Integer roleId);
18 20
 }

+ 17
- 13
src/main/java/com/huiju/estateagents/service/impl/TaRoleServiceImpl.java Ver arquivo

@@ -2,14 +2,8 @@ package com.huiju.estateagents.service.impl;
2 2
 
3 3
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
4 4
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
5
-import com.huiju.estateagents.entity.SysButtonInMenu;
6
-import com.huiju.estateagents.entity.SysMenu;
7
-import com.huiju.estateagents.entity.TaRole;
8
-import com.huiju.estateagents.entity.TaRoleMenu;
9
-import com.huiju.estateagents.mapper.SysButtonInMenuMapper;
10
-import com.huiju.estateagents.mapper.SysMenuMapper;
11
-import com.huiju.estateagents.mapper.TaRoleMapper;
12
-import com.huiju.estateagents.mapper.TaRoleMenuMapper;
5
+import com.huiju.estateagents.entity.*;
6
+import com.huiju.estateagents.mapper.*;
13 7
 import com.huiju.estateagents.service.ITaRoleService;
14 8
 import org.springframework.beans.factory.annotation.Autowired;
15 9
 import org.springframework.stereotype.Service;
@@ -39,6 +33,9 @@ public class TaRoleServiceImpl extends ServiceImpl<TaRoleMapper, TaRole> impleme
39 33
     @Autowired
40 34
     SysButtonInMenuMapper sysButtonInMenuMapper;
41 35
 
36
+    @Autowired
37
+    TaRoleButtonMapper taRoleButtonMapper;
38
+
42 39
     @Override
43 40
     public List<TaRole> getRolesByUser(Integer userId) {
44 41
         return taRoleMapper.getRolesByUser(userId);
@@ -56,12 +53,19 @@ public class TaRoleServiceImpl extends ServiceImpl<TaRoleMapper, TaRole> impleme
56 53
         for (TaRoleMenu taRoleMenu :taRoleMenusList){
57 54
             SysMenu sysMenu = sysMenuMapper.selectById(taRoleMenu.getMenuId());
58 55
             sysMenuList.add(sysMenu);
59
-            // 查询按钮
60
-            QueryWrapper<SysButtonInMenu> sysButtonInMenuQuery = new QueryWrapper<>();
61
-            sysButtonInMenuQuery.eq("menu_id",sysMenu.getMenuId());
62
-            List<SysButtonInMenu> sysButtonInMenuList= sysButtonInMenuMapper.selectList(sysButtonInMenuQuery);
63
-            sysMenu.setSysButtonInMenu(sysButtonInMenuList);
64 56
 
57
+            // 查询按钮
58
+            QueryWrapper<TaRoleButton> taRoleButtonQuery= new QueryWrapper<>();
59
+            taRoleButtonQuery.eq("role_id",id);
60
+            List<TaRoleButton> taRoleButtonList= taRoleButtonMapper.selectList(taRoleButtonQuery);
61
+            List<SysButtonInMenu> sysButtonInArr = new ArrayList<>();
62
+            for(TaRoleButton taRoleButton :taRoleButtonList){
63
+                QueryWrapper<SysButtonInMenu> sysButtonInMenuQuery = new QueryWrapper<>();
64
+                sysButtonInMenuQuery.eq("btn_id",taRoleButton.getBtnId());
65
+                SysButtonInMenu sysButtonInMenuList= sysButtonInMenuMapper.selectOne(sysButtonInMenuQuery);
66
+                sysButtonInArr.add(sysButtonInMenuList);
67
+            }
68
+            sysMenu.setSysButtonInMenu(sysButtonInArr);
65 69
         }
66 70
         taRole.setSysMenuList(sysMenuList);
67 71
         return taRole;

+ 3
- 1
src/main/resources/mapper/TaRoleButtonMapper.xml Ver arquivo

@@ -1,5 +1,7 @@
1 1
 <?xml version="1.0" encoding="UTF-8"?>
2 2
 <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
3 3
 <mapper namespace="com.huiju.estateagents.mapper.TaRoleButtonMapper">
4
-
4
+<delete  id="deleteCurrentBut">
5
+    delete from ta_role_button where ta_role_button.role_id = #{roleId}
6
+</delete >
5 7
 </mapper>