| | |
| | | package com.moral.service.impl; |
| | | |
| | | 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; |
| | | |
| | |
| | | import com.moral.common.bean.Constants; |
| | | import com.moral.common.bean.PageBean; |
| | | 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; |
| | | |
| | |
| | | @Resource |
| | | RoleMapper roleMapper; |
| | | |
| | | @Resource |
| | | RoleMenuMapper roleMenuMapper; |
| | | |
| | | @Resource |
| | | MenuMapper menuMapper; |
| | | |
| | | @Resource |
| | | AccountRoleMapper accountRoleMapper; |
| | | |
| | | @Override |
| | | @Transactional |
| | | public void addOrModify(Role role) { |
| | |
| | | role.setUpdateTime(new Date()); |
| | | role.setUpdateUser(role.getUpdateUser()); |
| | | if (role.getId() != null) { |
| | | roleMapper.updateByPrimaryKey(role); |
| | | roleMapper.updateByPrimaryKeySelective(role); |
| | | } else { |
| | | Role roleQuery = new Role(); |
| | | roleQuery.setRoleCode(role.getRoleCode()); |
| | |
| | | } |
| | | |
| | | @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); |
| | |
| | | roleMapper.updateByExampleSelective(role, example); |
| | | } |
| | | |
| | | @Override |
| | | public List<Integer> getRoleIds(int accountId) { |
| | | AccountRole accountRole = new AccountRole(); |
| | | accountRole.setAccountId(accountId); |
| | | List<AccountRole> accountRoleList = accountRoleMapper.select(accountRole); |
| | | List<Integer> roleIds = new ArrayList<>(); |
| | | for (AccountRole accRole : accountRoleList) { |
| | | roleIds.add(accRole.getRoleId()); |
| | | } |
| | | return roleIds; |
| | | } |
| | | |
| | | @Override |
| | | public void allotRole(Integer accountId, Integer[] roleIds) { |
| | | Example example = new Example(AccountRole.class); |
| | | example.or().andEqualTo("accountId", accountId); |
| | | accountRoleMapper.deleteByExample(example); |
| | | if (roleIds != null && roleIds.length > 0) { |
| | | List<AccountRole> accountRoleList = new ArrayList<>(); |
| | | for (int roleId : roleIds) { |
| | | AccountRole accountRole = new AccountRole(); |
| | | accountRole.setAccountId(accountId); |
| | | accountRole.setRoleId(roleId); |
| | | accountRoleList.add(accountRole); |
| | | } |
| | | accountRoleMapper.insertList(accountRoleList); |
| | | } |
| | | } |
| | | |
| | | @Override |
| | | 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); |
| | | } |
| | | |
| | | } |