From adde1ed1a99622c80a95dea83e294711d295c55c Mon Sep 17 00:00:00 2001 From: jinpengyong <jpy123456> Date: Tue, 08 Sep 2020 14:46:43 +0800 Subject: [PATCH] 微型站5分钟与半小时数据 --- 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