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