From f28149d8183a62f87fa9c8df9ae589070d83f612 Mon Sep 17 00:00:00 2001
From: 于紫祥_1901 <email@yuzixiang_1910>
Date: Thu, 24 Dec 2020 13:47:50 +0800
Subject: [PATCH] 波动补偿

---
 src/main/java/com/moral/service/impl/RoleServiceImpl.java |   61 ++++++++++++++++++++++++------
 1 files changed, 49 insertions(+), 12 deletions(-)

diff --git a/src/main/java/com/moral/service/impl/RoleServiceImpl.java b/src/main/java/com/moral/service/impl/RoleServiceImpl.java
index 11f35e8..9bba7f8 100644
--- a/src/main/java/com/moral/service/impl/RoleServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/RoleServiceImpl.java
@@ -3,7 +3,9 @@
 import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import javax.annotation.Resource;
 
@@ -16,9 +18,13 @@
 import com.moral.common.util.ExampleUtil;
 import com.moral.common.util.MyBatisBaseMapUtil;
 import com.moral.entity.AccountRole;
+import com.moral.entity.Menu;
 import com.moral.entity.Role;
+import com.moral.entity.RoleMenu;
 import com.moral.mapper.AccountRoleMapper;
+import com.moral.mapper.MenuMapper;
 import com.moral.mapper.RoleMapper;
+import com.moral.mapper.RoleMenuMapper;
 import com.moral.service.RoleService;
 import com.moral.util.TkMybatisUtils;
 
@@ -31,6 +37,12 @@
 
     @Resource
     RoleMapper roleMapper;
+
+    @Resource
+    RoleMenuMapper roleMenuMapper;
+
+    @Resource
+    MenuMapper menuMapper;
 
     @Resource
     AccountRoleMapper accountRoleMapper;
@@ -68,12 +80,6 @@
     }
 
     @Override
-    public List<Role> getRoleListByName(String roleName) {
-        List<Role> roleList = roleMapper.getRoleListByName(roleName);
-        return roleList;
-    }
-
-    @Override
     public PageBean getRoleList(PageBean pageBean) {
         Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
         TkMybatisUtils.addDeletesToExample(example);
@@ -100,7 +106,7 @@
         accountRole.setAccountId(accountId);
         List<AccountRole> accountRoleList = accountRoleMapper.select(accountRole);
         List<Integer> roleIds = new ArrayList<>();
-        for(AccountRole accRole:accountRoleList ){
+        for (AccountRole accRole : accountRoleList) {
             roleIds.add(accRole.getRoleId());
         }
         return roleIds;
@@ -109,11 +115,11 @@
     @Override
     public void allotRole(Integer accountId, Integer[] roleIds) {
         Example example = new Example(AccountRole.class);
-        example.or().andEqualTo("accountId",accountId);
+        example.or().andEqualTo("accountId", accountId);
         accountRoleMapper.deleteByExample(example);
-        if(roleIds!=null && roleIds.length >0){
+        if (roleIds != null && roleIds.length > 0) {
             List<AccountRole> accountRoleList = new ArrayList<>();
-            for(int roleId:roleIds){
+            for (int roleId : roleIds) {
                 AccountRole accountRole = new AccountRole();
                 accountRole.setAccountId(accountId);
                 accountRole.setRoleId(roleId);
@@ -124,8 +130,39 @@
     }
 
     @Override
-    public PageBean<Role> queryByPageBean(PageBean pageBean){
-        return MyBatisBaseMapUtil.queryPage(roleMapper,pageBean,ENTITY_CLASS);
+    public void allotMenu(Integer roleId, Integer[] menuOrders) {
+        Example example = new Example(RoleMenu.class);
+        example.or().andEqualTo("roleId", roleId);
+        roleMenuMapper.deleteByExample(example);
+        List<Menu> menuListInfo = menuMapper.getMenuListInfo();
+        Map<Integer, Integer> menuMap = new HashMap<>();
+        for (Menu m : menuListInfo) {
+            menuMap.put(m.getMenuOrder(), m.getId());
+        }
+        if (menuOrders != null && menuOrders.length > 0) {
+            List<RoleMenu> roleMenuList = new ArrayList<>();
+            for (Integer menuOrder : menuOrders) {
+                if (menuOrder > 10) {
+                    RoleMenu roleMenu = new RoleMenu();
+                    roleMenu.setRoleId(roleId);
+                    roleMenu.setChannelId(Integer.valueOf(menuOrder.toString().substring(0, 1)));
+                    roleMenu.setMenuId(menuMap.get(menuOrder));
+                    roleMenuList.add(roleMenu);
+                } else {
+                    RoleMenu roleMenu = new RoleMenu();
+                    roleMenu.setRoleId(roleId);
+                    roleMenu.setChannelId(menuOrder);
+                    roleMenu.setMenuId(0);
+                    roleMenuList.add(roleMenu);
+                }
+            }
+            roleMenuMapper.insertList(roleMenuList);
+        }
+    }
+
+    @Override
+    public PageBean<Role> queryByPageBean(PageBean pageBean) {
+        return MyBatisBaseMapUtil.queryPage(roleMapper, pageBean, ENTITY_CLASS);
     }
 
 }

--
Gitblit v1.8.0