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