From 9880d87f87b074b45150a66867c0d1870e6cb3e2 Mon Sep 17 00:00:00 2001
From: jinpengyong <jpy123456>
Date: Thu, 06 Aug 2020 14:31:13 +0800
Subject: [PATCH] update
---
src/main/java/com/moral/service/impl/RoleServiceImpl.java | 124 ++++++++++++++++++++++++++++++++++-------
1 files changed, 103 insertions(+), 21 deletions(-)
diff --git a/src/main/java/com/moral/service/impl/RoleServiceImpl.java b/src/main/java/com/moral/service/impl/RoleServiceImpl.java
index e1879f3..9bba7f8 100644
--- a/src/main/java/com/moral/service/impl/RoleServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/RoleServiceImpl.java
@@ -1,19 +1,30 @@
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 org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
+import com.github.pagehelper.PageHelper;
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;
@@ -27,10 +38,14 @@
@Resource
RoleMapper roleMapper;
- @Override
- public PageBean<Role> queryByPageBean(PageBean pageBean) {
- return MyBatisBaseMapUtil.queryPage(roleMapper, pageBean, ENTITY_CLASS);
- }
+ @Resource
+ RoleMenuMapper roleMenuMapper;
+
+ @Resource
+ MenuMapper menuMapper;
+
+ @Resource
+ AccountRoleMapper accountRoleMapper;
@Override
@Transactional
@@ -45,10 +60,7 @@
roleQuery.setRoleCode(role.getRoleCode());
roleQuery.setIsDelete(Constants.IS_DELETE_FALSE);
Role roleResult = roleMapper.selectOne(roleQuery);
- if (roleResult != null) {
- role.setId(roleResult.getId());
- roleMapper.updateByPrimaryKeySelective(role);
- } else {
+ if (roleResult == null) {
role.setIsDelete(Constants.IS_DELETE_FALSE);
role.setCreateTime(new Date());
role.setCreateUser(role.getCreateUser());
@@ -61,16 +73,6 @@
}
@Override
- @Transactional
- public int deleteByIds(List<Integer> ids) {
- Role role = new Role();
- role.setIsDelete(Constants.IS_DELETE_TRUE);
- Example example = new Example(ENTITY_CLASS);
- example.or().andIn("id", ids);
- return roleMapper.updateByExampleSelective(role, example);
- }
-
- @Override
public int countByExample(PageBean pageBean) {
Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
TkMybatisUtils.addDeletesToExample(example);
@@ -78,9 +80,89 @@
}
@Override
- public List<Role> getRoleList(String roleName) {
- List<Role> roleList = roleMapper.getRoleList(roleName);
- return roleList;
+ public PageBean getRoleList(PageBean pageBean) {
+ Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
+ TkMybatisUtils.addDeletesToExample(example);
+ if (pageBean.getPageSize() > 0) {
+ PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
+ }
+ List<Role> roleList = roleMapper.getRoleList(example);
+ return new PageBean(roleList);
+ }
+
+ @Override
+ @Transactional
+ public void deleteByIds(Integer... ids) {
+ Role role = new Role();
+ role.setIsDelete(Constants.IS_DELETE_TRUE);
+ Example example = new Example(ENTITY_CLASS);
+ example.or().andIn("id", Arrays.asList(ids));
+ 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);
}
}
--
Gitblit v1.8.0