From 70830c5b2e96cc1c76d4adb88ddced55e7476547 Mon Sep 17 00:00:00 2001
From: ZhuDongming <773644075@qq.com>
Date: Thu, 28 Nov 2019 15:33:05 +0800
Subject: [PATCH] 大屏后台管理代码update

---
 src/main/java/com/moral/controller/RoleController.java       |   14 
 src/main/java/com/moral/service/impl/AccountServiceImpl.java |  425 ++++++++++++++--------------
 src/main/java/com/moral/service/impl/RoleServiceImpl.java    |   55 ++
 src/main/resources/mapper/RoleMenuMapper.xml                 |   36 -
 src/main/java/com/moral/mapper/MenuMapper.java               |    6 
 src/main/resources/mapper/RoleMapper.xml                     |   44 --
 src/main/java/com/moral/service/MenuService.java             |    4 
 src/main/java/com/moral/mapper/RoleMenuMapper.java           |   10 
 src/main/java/com/moral/mapper/AccountMapper.java            |    6 
 src/main/java/com/moral/service/RoleService.java             |    4 
 /dev/null                                                    |   78 -----
 src/main/java/com/moral/mapper/AccountRoleMapper.java        |   10 
 src/main/java/com/moral/entity/RoleMenu.java                 |    2 
 src/main/resources/mapper/MenuMapper.xml                     |   21 +
 src/main/java/com/moral/service/impl/MenuServiceImpl.java    |   36 ++
 src/main/java/com/moral/mapper/RoleMapper.java               |    6 
 src/main/resources/mapper/AccountRoleMapper.xml              |   28 -
 src/main/java/com/moral/controller/MenuController.java       |   64 ++++
 src/main/java/com/moral/service/AccountService.java          |    2 
 19 files changed, 410 insertions(+), 441 deletions(-)

diff --git a/src/main/java/com/moral/controller/AccountRoleController.java b/src/main/java/com/moral/controller/AccountRoleController.java
deleted file mode 100644
index d2031d2..0000000
--- a/src/main/java/com/moral/controller/AccountRoleController.java
+++ /dev/null
@@ -1,69 +0,0 @@
-package com.moral.controller;
-
-import javax.annotation.Resource;
-
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.moral.common.bean.PageBean;
-import com.moral.common.bean.ResultBean;
-import com.moral.entity.AccountRole;
-import com.moral.service.AccountRoleService;
-import com.moral.service.AccountService;
-import com.moral.service.RoleService;
-
-@RestController
-@RequestMapping("account-role")
-@CrossOrigin(origins = "*", maxAge = 3600)
-public class AccountRoleController {
-    @Resource
-    AccountService accountService;
-
-    @Resource
-    RoleService roleService;
-
-    @Resource
-    AccountRoleService accountRoleService;
-
-    @GetMapping("account-list")
-    public ResultBean getAccountList(String accountName) {
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        resultBean.setData(accountService.getAccountList(accountName));
-        return resultBean;
-    }
-
-    @GetMapping("role-list")
-    public ResultBean getRoleList(String roleName) {
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        resultBean.setData(roleService.getRoleListByName(roleName));
-        return resultBean;
-    }
-
-    @PostMapping("add-or-modify")
-    public ResultBean saveOrUpdate(@RequestBody AccountRole accountRole) {
-        accountRoleService.addOrModify(accountRole);
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        return resultBean;
-    }
-
-    @GetMapping("count-by-example")
-    public ResultBean<Integer> countByExample(PageBean pageBean) {
-        return new ResultBean<Integer>(accountRoleService.countByExample(pageBean));
-    }
-
-    @GetMapping("accountRole-list")
-    public PageBean getAccountRoleList(PageBean pageBean) {
-        return accountRoleService.getAccountRoleList(pageBean);
-    }
-
-    @PostMapping("delete-by-ids")
-    public ResultBean deleteByIds(@RequestBody Integer [] ids){
-        accountRoleService.deleteByIds(ids);
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        return resultBean;
-    }
-}
diff --git a/src/main/java/com/moral/controller/MenuController.java b/src/main/java/com/moral/controller/MenuController.java
index b15b7fa..0b9a945 100644
--- a/src/main/java/com/moral/controller/MenuController.java
+++ b/src/main/java/com/moral/controller/MenuController.java
@@ -1,6 +1,10 @@
 package com.moral.controller;
 
+import java.util.ArrayList;
+import java.util.LinkedHashMap;
+import java.util.List;
 import java.util.Map;
+import java.util.Objects;
 
 import javax.annotation.Resource;
 
@@ -14,6 +18,8 @@
 import com.moral.common.bean.PageBean;
 import com.moral.common.bean.ResultBean;
 import com.moral.entity.Menu;
+import com.moral.mapper.MenuMapper;
+import com.moral.mapper.RoleMenuMapper;
 import com.moral.service.AccountService;
 import com.moral.service.ChannelService;
 import com.moral.service.MenuService;
@@ -24,6 +30,12 @@
 public class MenuController {
     @Resource
     MenuService menuService;
+
+    @Resource
+    MenuMapper menuMapper;
+
+    @Resource
+    RoleMenuMapper roleMenuMapper;
 
     @Resource
     ChannelService channelService;
@@ -79,4 +91,56 @@
         Map<String,Object> mapResult = accountService.getMenuListsByAccountName(accountName);
         return mapResult;
     }
+
+    @GetMapping("getZNodes")
+    public List<Map<String,Object>> getZNodes(Integer roleId) {
+        List<Map<String,Object>> zNodes= new ArrayList<>();
+        List<Integer> channelIds = menuMapper.getChannelId();
+        List<Integer> channels= roleMenuMapper.getChannels(roleId);
+        List<Integer> menus=roleMenuMapper.getMenus(roleId);
+        List<Menu> menuList=menuService.getZNodes();
+        for(Integer channelId:channelIds){
+            Map<String,Object> channelNodeMap=new LinkedHashMap<>();
+            channelNodeMap.put("id",channelId);
+            channelNodeMap.put("pId",0);
+            if (Objects.equals(channelId, 1)) {
+                channelNodeMap.put("name", "������");
+            } else if (Objects.equals(channelId, 2)) {
+                channelNodeMap.put("name", "web������");
+            }else if (Objects.equals(channelId, 3)) {
+                channelNodeMap.put("name", "������APP");
+            }else if(Objects.equals(channelId, 4)){
+                channelNodeMap.put("name", "���������������APP");
+            }
+            channelNodeMap.put("open",true);
+            for(Integer roleHasChannelId:channels){
+                if(roleHasChannelId.equals(channelId)){
+                    channelNodeMap.put("checked",true);
+                }
+            }
+            zNodes.add(channelNodeMap);
+        }
+        for(Menu menu:menuList){
+            Map<String,Object> childNodeMap=new LinkedHashMap<>();
+            childNodeMap.put("id",menu.getMenuOrder());
+            childNodeMap.put("pId",menu.getMenuParentId());
+            childNodeMap.put("name", menu.getMenuName());
+            if(menu.getMenuOrder().toString().length()==2){
+                childNodeMap.put("open",true);
+            }
+            for(Integer roleHasMenuId:menus){
+                if(roleHasMenuId.equals(menu.getId())){
+                    childNodeMap.put("checked", true);
+                }
+            }
+            zNodes.add(childNodeMap);
+        }
+        return zNodes;
+    }
+
+    @GetMapping("menuOrders")
+    public List<Integer> getMenuOrders(Integer roleId) {
+        List<Integer> menuOrders=menuService.getMenuOrders(roleId);
+        return menuOrders;
+    }
 }
diff --git a/src/main/java/com/moral/controller/RoleController.java b/src/main/java/com/moral/controller/RoleController.java
index a69b41b..ab29c8c 100644
--- a/src/main/java/com/moral/controller/RoleController.java
+++ b/src/main/java/com/moral/controller/RoleController.java
@@ -72,4 +72,18 @@
         return resultBean;
     }
 
+    @PostMapping("allot-menu/{id}")
+    public ResultBean allotMenu(@PathVariable("id") Integer roleId, @RequestBody Integer [] menuOrders){
+        ResultBean resultBean = new ResultBean();
+        if(roleId==null){
+            resultBean.setCode(ResultBean.NO_PERMISSION);
+            resultBean.setMessage("������ID���������null");
+            return resultBean;
+        }else{
+            roleService.allotMenu(roleId,menuOrders);
+            resultBean.setCode(ResultBean.SUCCESS);
+        }
+        return resultBean;
+    }
+
 }
diff --git a/src/main/java/com/moral/controller/RoleMenuController.java b/src/main/java/com/moral/controller/RoleMenuController.java
deleted file mode 100644
index a922d93..0000000
--- a/src/main/java/com/moral/controller/RoleMenuController.java
+++ /dev/null
@@ -1,70 +0,0 @@
-package com.moral.controller;
-
-import javax.annotation.Resource;
-
-import org.springframework.web.bind.annotation.CrossOrigin;
-import org.springframework.web.bind.annotation.GetMapping;
-import org.springframework.web.bind.annotation.PostMapping;
-import org.springframework.web.bind.annotation.RequestBody;
-import org.springframework.web.bind.annotation.RequestMapping;
-import org.springframework.web.bind.annotation.RestController;
-
-import com.moral.common.bean.PageBean;
-import com.moral.common.bean.ResultBean;
-import com.moral.entity.RoleMenu;
-import com.moral.service.MenuService;
-import com.moral.service.RoleMenuService;
-import com.moral.service.RoleService;
-
-@RestController
-@RequestMapping("role-menu")
-@CrossOrigin(origins = "*", maxAge = 3600)
-public class RoleMenuController {
-
-    @Resource
-    RoleService roleService;
-
-    @Resource
-    MenuService menuService;
-
-    @Resource
-    RoleMenuService roleMenuService;
-
-    @GetMapping("role-list")
-    public ResultBean getRoleList(String roleName) {
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        resultBean.setData(roleService.getRoleListByName(roleName));
-        return resultBean;
-    }
-
-    @GetMapping("menu-list")
-    public ResultBean getMenuList(String menuName) {
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        resultBean.setData(menuService.getMenuListByName(menuName));
-        return resultBean;
-    }
-
-    @PostMapping("add-or-modify")
-    public ResultBean saveOrUpdate(@RequestBody RoleMenu roleMenu) {
-        roleMenuService.addOrModify(roleMenu);
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        return resultBean;
-    }
-
-    @GetMapping("count-by-example")
-    public ResultBean<Integer> countByExample(PageBean pageBean) {
-        return new ResultBean<Integer>(roleMenuService.countByExample(pageBean));
-    }
-
-    @GetMapping("roleMenu-list")
-    public PageBean getRoleMenuList(PageBean pageBean) {
-        return roleMenuService.getRoleMenuList(pageBean);
-    }
-
-    @PostMapping("delete-by-ids")
-    public ResultBean deleteByIds(@RequestBody Integer [] ids){
-        roleMenuService.deleteByIds(ids);
-        ResultBean resultBean = new ResultBean(ResultBean.SUCCESS);
-        return resultBean;
-    }
-}
diff --git a/src/main/java/com/moral/entity/RoleMenu.java b/src/main/java/com/moral/entity/RoleMenu.java
index c489608..8c0327a 100644
--- a/src/main/java/com/moral/entity/RoleMenu.java
+++ b/src/main/java/com/moral/entity/RoleMenu.java
@@ -13,6 +13,8 @@
 
     private Integer menuId;
 
+    private Integer channelId;
+
     @Transient
     private Role role;
 
diff --git a/src/main/java/com/moral/mapper/AccountMapper.java b/src/main/java/com/moral/mapper/AccountMapper.java
index bdd0b89..6fc6fc0 100644
--- a/src/main/java/com/moral/mapper/AccountMapper.java
+++ b/src/main/java/com/moral/mapper/AccountMapper.java
@@ -12,11 +12,11 @@
 
 public interface AccountMapper extends BaseMapper<Account> {
 
-	List<Map<String, Object>> getRoleNameByAccountId(Integer accountId);
+    List<Map<String, Object>> getRoleNameByAccountId(Integer accountId);
 
-	Account getByAccountName(String name);
+    Account getByAccountName(String name);
 
-	Map<String, Object> getOrganizationIdByAccountId(Integer accountId);
+    Map<String, Object> getOrganizationIdByAccountId(Integer accountId);
 
     List<Account> getAccountList(@Param("accountName") String accountName);
 
diff --git a/src/main/java/com/moral/mapper/AccountRoleMapper.java b/src/main/java/com/moral/mapper/AccountRoleMapper.java
index 550945b..8e089be 100644
--- a/src/main/java/com/moral/mapper/AccountRoleMapper.java
+++ b/src/main/java/com/moral/mapper/AccountRoleMapper.java
@@ -1,18 +1,8 @@
 package com.moral.mapper;
 
-import java.util.List;
-
 import com.moral.common.mapper.BaseMapper;
 import com.moral.entity.AccountRole;
 
-import tk.mybatis.mapper.entity.Example;
-
-
 public interface AccountRoleMapper extends BaseMapper<AccountRole> {
 
-    List<AccountRole> getAccountRoleList(Example example);
-
-    int updateByPrimaryKey(AccountRole accountRole);
-
-    int deleteByPrimaryKeyOwn(Integer id);
 }
diff --git a/src/main/java/com/moral/mapper/MenuMapper.java b/src/main/java/com/moral/mapper/MenuMapper.java
index 3f288d5..ba01f2a 100644
--- a/src/main/java/com/moral/mapper/MenuMapper.java
+++ b/src/main/java/com/moral/mapper/MenuMapper.java
@@ -20,6 +20,10 @@
 
     List<Menu> getParentMenuList(@Param("menuName") String menuName);
 
-    List<Menu> getMenuListByName(@Param("menuName") String menuName);
+    List<Integer> getChannelId();
+
+    List<Menu> getMenuListInfo();
+
+    List<Integer> getMenuOrdersByRoleId(@Param("roleId") Integer roleId);
 
 }
diff --git a/src/main/java/com/moral/mapper/RoleMapper.java b/src/main/java/com/moral/mapper/RoleMapper.java
index 44339f6..e99b725 100644
--- a/src/main/java/com/moral/mapper/RoleMapper.java
+++ b/src/main/java/com/moral/mapper/RoleMapper.java
@@ -2,18 +2,12 @@
 
 import java.util.List;
 
-import org.apache.ibatis.annotations.Param;
-
 import com.moral.common.mapper.BaseMapper;
 import com.moral.entity.Role;
 
 import tk.mybatis.mapper.entity.Example;
 
 public interface RoleMapper extends BaseMapper<Role> {
-
-    int updateByPrimaryKey(Role role);
-
-    List<Role> getRoleListByName(@Param("roleName") String roleName);
 
     List<Role> getRoleList(Example example);
 
diff --git a/src/main/java/com/moral/mapper/RoleMenuMapper.java b/src/main/java/com/moral/mapper/RoleMenuMapper.java
index 1d6834f..5cca504 100644
--- a/src/main/java/com/moral/mapper/RoleMenuMapper.java
+++ b/src/main/java/com/moral/mapper/RoleMenuMapper.java
@@ -2,17 +2,15 @@
 
 import java.util.List;
 
+import org.apache.ibatis.annotations.Param;
+
 import com.moral.common.mapper.BaseMapper;
 import com.moral.entity.RoleMenu;
 
-import tk.mybatis.mapper.entity.Example;
-
 public interface RoleMenuMapper extends BaseMapper<RoleMenu> {
 
-    List<RoleMenu> getRoleMenuList(Example example);
+    List<Integer> getChannels(@Param("roleId") Integer roleId);
 
-    int deleteByPrimaryKeyOwn(Integer id);
-
-    int updateByPrimaryKey(RoleMenu roleMenu);
+    List<Integer> getMenus(@Param("roleId") Integer roleId);
 
 }
diff --git a/src/main/java/com/moral/service/AccountRoleService.java b/src/main/java/com/moral/service/AccountRoleService.java
deleted file mode 100644
index 9fd8272..0000000
--- a/src/main/java/com/moral/service/AccountRoleService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.moral.service;
-
-import com.moral.common.bean.PageBean;
-import com.moral.entity.AccountRole;
-
-public interface AccountRoleService {
-
-    void addOrModify(AccountRole accountRole);
-
-    int countByExample(PageBean pageBean);
-
-    PageBean getAccountRoleList(PageBean pageBean);
-
-    void deleteByIds(Integer... ids);
-}
diff --git a/src/main/java/com/moral/service/AccountService.java b/src/main/java/com/moral/service/AccountService.java
index 7c94cc8..b3cd3a5 100644
--- a/src/main/java/com/moral/service/AccountService.java
+++ b/src/main/java/com/moral/service/AccountService.java
@@ -32,8 +32,6 @@
 	
 	Map<String, Object> getOrganizationIdByAccountId(String id);
 
-    List<Account> getAccountList(String accountName);
-
     List<Role> getRolesByAccountName(String accountName);
 
     Map<String, Object> getMenuListsByAccountName(String accountName);
diff --git a/src/main/java/com/moral/service/MenuService.java b/src/main/java/com/moral/service/MenuService.java
index df205df..59fa77e 100644
--- a/src/main/java/com/moral/service/MenuService.java
+++ b/src/main/java/com/moral/service/MenuService.java
@@ -18,5 +18,7 @@
 
     void deleteByIds(Integer[] ids);
 
-    List<Menu> getMenuListByName(String menuName);
+    List<Menu> getZNodes();
+
+    List<Integer> getMenuOrders(Integer roleId);
 }
diff --git a/src/main/java/com/moral/service/RoleMenuService.java b/src/main/java/com/moral/service/RoleMenuService.java
deleted file mode 100644
index 8bde76a..0000000
--- a/src/main/java/com/moral/service/RoleMenuService.java
+++ /dev/null
@@ -1,15 +0,0 @@
-package com.moral.service;
-
-import com.moral.common.bean.PageBean;
-import com.moral.entity.RoleMenu;
-
-public interface RoleMenuService {
-
-    void addOrModify(RoleMenu roleMenu);
-
-    int countByExample(PageBean pageBean);
-
-    PageBean getRoleMenuList(PageBean pageBean);
-
-    void deleteByIds(Integer... ids);
-}
diff --git a/src/main/java/com/moral/service/RoleService.java b/src/main/java/com/moral/service/RoleService.java
index 04c3180..da108e9 100644
--- a/src/main/java/com/moral/service/RoleService.java
+++ b/src/main/java/com/moral/service/RoleService.java
@@ -11,8 +11,6 @@
 
     int countByExample(PageBean pageBean);
 
-    List<Role> getRoleListByName(String roleName);
-
     PageBean getRoleList(PageBean pageBean);
 
     PageBean queryByPageBean(PageBean pageBean);
@@ -22,4 +20,6 @@
     List<Integer> getRoleIds(int accountId);
 
     void allotRole(Integer accountId, Integer[] roleIds);
+
+    void allotMenu(Integer roleId, Integer[] menuOrders);
 }
diff --git a/src/main/java/com/moral/service/impl/AccountRoleServiceImpl.java b/src/main/java/com/moral/service/impl/AccountRoleServiceImpl.java
deleted file mode 100644
index 92b207c..0000000
--- a/src/main/java/com/moral/service/impl/AccountRoleServiceImpl.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.moral.service.impl;
-
-import java.util.Arrays;
-import java.util.List;
-
-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.PageBean;
-import com.moral.common.util.ExampleUtil;
-import com.moral.entity.AccountRole;
-import com.moral.mapper.AccountRoleMapper;
-import com.moral.service.AccountRoleService;
-
-import tk.mybatis.mapper.entity.Example;
-
-@Service
-public class AccountRoleServiceImpl implements AccountRoleService {
-
-    private static Class ENTITY_CLASS = AccountRole.class;
-
-    @Resource
-    private AccountRoleMapper accountRoleMapper;
-
-    @Override
-    @Transactional
-    public void addOrModify(AccountRole accountRole) {
-        try {
-            if (accountRole.getId() != null) {
-                accountRoleMapper.updateByPrimaryKey(accountRole);
-            } else {
-                AccountRole accountRoleQuery = new AccountRole();
-                accountRoleQuery.setAccountId(accountRole.getAccountId());
-                accountRoleQuery.setRoleId(accountRole.getRoleId());
-                AccountRole accountRoleResult = accountRoleMapper.selectOne(accountRoleQuery);
-                if (accountRoleResult == null) {
-                    accountRoleMapper.insertSelective(accountRole);
-                }
-            }
-        } catch (Exception ex) {
-            throw ex;
-        }
-    }
-
-    @Override
-    public int countByExample(PageBean pageBean) {
-        Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
-        return accountRoleMapper.selectCountByExample(example);
-    }
-
-    @Override
-    public PageBean getAccountRoleList(PageBean pageBean) {
-        Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
-        if (pageBean.getPageSize() > 0) {
-            PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
-        }
-        List<AccountRole> accountRoleList = accountRoleMapper.getAccountRoleList(example);
-        return new PageBean(accountRoleList);
-    }
-
-    @Override
-    @Transactional
-    public void deleteByIds(Integer... ids) {
-        if (ids != null && ids.length > 0) {
-            if (ids.length == 1) {
-                accountRoleMapper.deleteByPrimaryKeyOwn(ids[0]);
-            } else {
-                Example example = new Example(ENTITY_CLASS);
-                example.or().andIn("id", Arrays.asList(ids));
-                accountRoleMapper.deleteByExample(example);
-            }
-        }
-    }
-
-}
diff --git a/src/main/java/com/moral/service/impl/AccountServiceImpl.java b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
index 8a842b9..7d4b446 100644
--- a/src/main/java/com/moral/service/impl/AccountServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/AccountServiceImpl.java
@@ -36,7 +36,6 @@
 import com.moral.entity.Organization;
 import com.moral.entity.Role;
 import com.moral.mapper.AccountMapper;
-import com.moral.mapper.MenuMapper;
 import com.moral.mapper.OrganizationMapper;
 import com.moral.service.AccountService;
 import com.moral.service.OrganizationService;
@@ -47,244 +46,240 @@
 @Service
 public class AccountServiceImpl implements AccountService {
     @Resource
-	private  BCryptPasswordEncoder encoder;
+    private BCryptPasswordEncoder encoder;
 
-	@Resource
-	private AccountMapper accountMapper;
+    @Resource
+    private AccountMapper accountMapper;
 
-	@Resource
-	private OrganizationService organizationService;
+    @Resource
+    private OrganizationService organizationService;
 
-	@Resource
-	private OrganizationMapper organizationMapper;
-
-	@Override
-	public Map<String, Object> screenLogin(Map<String, Object> parameters) {
-		Map<String, Object> result = new HashMap<String, Object>();
-		Account account = new Account();
-		account.setAccountName((String) parameters.get("account"));
-		String rawPassword = (String) parameters.get("password");
-//		account.setPassword(encoder.encode((String) parameters.get("password")));
-		account = accountMapper.selectOne(account);
-		boolean isValid = account == null ? false:encoder.matches(rawPassword,account.getPassword());
-		if (!isValid) {
-			result.put("msg", "���������������������������������");
-		} else {
-			if (IS_DELETE_FALSE.equals(account.getIsDelete())) {
-				result.put("msg", "���������������");
-				result.put("accountId", account.getId());
-				result.put("orgId", account.getOrganizationId());
-				setOrgIdsByAccount(result);
-			} else {
-				result.put("msg","���������������������������������������������");
-			}
-		}
-		return result;
-	}
-
-	@Override
-	public Account getAccountByAccountName(String accountName) {
-		Account account = new Account();
-		account.setAccountName(accountName);
-		return accountMapper.selectOne(account);
-	}
-	@Override
-	public Account getAccountById(Integer id){
-		return accountMapper.selectByPrimaryKey(id);
-	}
-	@Override
-	public void setOrgIdsByAccount(Map<String, Object> parameters) {
-		String accountId = parameters.get("accountId").toString();
-		accountId = accountId.replaceFirst("-", "");
-		if (!isNumeric(accountId)) {
-			throw new BusinessException("accountId ������������������");
-		}
-
-		Account account = accountMapper.selectByPrimaryKey((Integer.valueOf(accountId)));
-		if (isEmpty(account) || IS_DELETE_TRUE.equals(account.getIsDelete())) {
-			throw new BusinessException(accountId + ":���������������������");
-		}
-		Integer orgId = account.getOrganizationId();
-		// ���������������������������������������������������������������
-		
-		if (!(-1 == orgId  || getValue("orgId").equals(orgId+""))) {
-			Set<Integer> orgIds = organizationService.getChildOrganizationIds(orgId);
-			parameters.put("orgIds", orgIds);
-		}
-	}
-
-	@Override
-	public PageBean<Account> getAccountListByPage(Map<String, Object> parameters) {
-		Example example = new Example(Account.class);
-		Criteria criteria = example.createCriteria();
-		if (parameters.containsKey("accountName")) {
-			criteria.andLike("accountName", "%" + (String) parameters.get("accountName") + "%");
-		}
-		if (parameters.containsKey("mobile")) {
-			criteria.andLike("mobile", "%" + (String) parameters.get("mobile") + "%");
-		}
-		if (parameters.containsKey("isDelete")) {
-			criteria.andEqualTo("isDelete", parameters.get("isDelete"));
-		}
-		if (parameters.containsKey("sorter")) {
-			example.setOrderByClause((String) parameters.get("sorter"));
-		}
-		PageHelper.startPage(Integer.valueOf((String) parameters.get("pageIndex")), Integer.valueOf((String) parameters.get("pageSize")));
-		List<Account> accounts = accountMapper.selectByExample(example);
-		Set<Integer> organizationIds = new HashSet<Integer>();
-		for (Account account : accounts) {
-			if (!ObjectUtils.isEmpty(account.getOrganizationId())) {
-				organizationIds.add(account.getOrganizationId());
-			}
-		}
-		if(!ObjectUtils.isEmpty(organizationIds)){
-			example = new Example(Organization.class);
-			example.or().andIn("id", organizationIds);
-			List<Organization> organizations = organizationMapper.selectByExample(example);
-			for (Account account : accounts) {
-				for (Organization organization : organizations) {
-					if (account.getOrganizationId() == organization.getId()) {
-						account.setOrganization(organization);
-						break;
-					}
-				}
-			}
-		}
-
-		return new PageBean<Account>(accounts);
-	}
-
-	@Override
-	@Transactional
-	public Integer saveOrUpdateAccount(Account account) {
-		// ������������
-		if(!StringUtils.isBlank(account.getPassword())){
-			account.setPassword(encoder.encode(account.getPassword()));
-		}
-		if (ObjectUtils.isEmpty(account.getId())) {
-			account.setIsDelete(Constants.IS_DELETE_FALSE);
-			account.setCreateTime(new Date());
-			account.setPassword(encoder.encode(ResourceUtil.getValue("password")));
-			return accountMapper.insertSelective(account);
-		} else {
-			return accountMapper.updateByPrimaryKeySelective(account);
-		}
-	}
-
-	@Override
-	@Transactional
-	public Integer deleteAccountsByLogic(List<Integer> ids) {
-		Account account = new Account();
-		account.setIsDelete(Constants.IS_DELETE_TRUE);
-		Example example = new Example(Account.class);
-		example.or().andIn("id", ids);
-		return accountMapper.updateByExampleSelective(account, example);
-	}
-
-	@Override
-	public Integer getAccountCountByAccountName(String accountName) {
-		Account account = new Account();
-		account.setAccountName(accountName);
-		return accountMapper.selectCount(account);
-	}
-
-	@Override
-	public Optional<Account> queryAccountByName(String accountName) {
-		Account account = accountMapper.getByAccountName(accountName);
-		return Optional.ofNullable(account);
-	}
-
-	@Override
-	public Account companyLogin(Map<String, Object> parameters) {
-		ValidateUtil.notNull(parameters.get("account"), "param.is.null");
-		ValidateUtil.notNull(parameters.get("password"), "param.is.null");
-		Account account = new Account();
-		account.setIsDelete(Constants.IS_DELETE_FALSE);
-		account.setAccountName(parameters.get("account").toString());
-		account = accountMapper.selectOne(account);
-		if (ObjectUtils.isEmpty(account)) {
-			throw new BusinessException("���������������������������������������");
-		}
-		if (!encoder.matches(parameters.get("password").toString(), account.getPassword())) {
-			throw new BusinessException("���������������������������������");
-		}
-		account.setPassword(parameters.get("password").toString());
-		return account;
-	}
-
-	@Override
-	public Map<String, Object> getOrganizationIdByAccountId(String id) {
-		Integer accountId = Integer.parseInt(id);
-		Map<String, Object> map = accountMapper.getOrganizationIdByAccountId(accountId);
-		return map;
-	}
+    @Resource
+    private OrganizationMapper organizationMapper;
 
     @Override
-    public List<Account> getAccountList(String accountName) {
-        List<Account> accountList = accountMapper.getAccountList(accountName);
-        return accountList;
+    public Map<String, Object> screenLogin(Map<String, Object> parameters) {
+        Map<String, Object> result = new HashMap<String, Object>();
+        Account account = new Account();
+        account.setAccountName((String) parameters.get("account"));
+        String rawPassword = (String) parameters.get("password");
+//		account.setPassword(encoder.encode((String) parameters.get("password")));
+        account = accountMapper.selectOne(account);
+        boolean isValid = account == null ? false : encoder.matches(rawPassword, account.getPassword());
+        if (!isValid) {
+            result.put("msg", "���������������������������������");
+        } else {
+            if (IS_DELETE_FALSE.equals(account.getIsDelete())) {
+                result.put("msg", "���������������");
+                result.put("accountId", account.getId());
+                result.put("orgId", account.getOrganizationId());
+                setOrgIdsByAccount(result);
+            } else {
+                result.put("msg", "���������������������������������������������");
+            }
+        }
+        return result;
+    }
+
+    @Override
+    public Account getAccountByAccountName(String accountName) {
+        Account account = new Account();
+        account.setAccountName(accountName);
+        return accountMapper.selectOne(account);
+    }
+
+    @Override
+    public Account getAccountById(Integer id) {
+        return accountMapper.selectByPrimaryKey(id);
+    }
+
+    @Override
+    public void setOrgIdsByAccount(Map<String, Object> parameters) {
+        String accountId = parameters.get("accountId").toString();
+        accountId = accountId.replaceFirst("-", "");
+        if (!isNumeric(accountId)) {
+            throw new BusinessException("accountId ������������������");
+        }
+
+        Account account = accountMapper.selectByPrimaryKey((Integer.valueOf(accountId)));
+        if (isEmpty(account) || IS_DELETE_TRUE.equals(account.getIsDelete())) {
+            throw new BusinessException(accountId + ":���������������������");
+        }
+        Integer orgId = account.getOrganizationId();
+        // ���������������������������������������������������������������
+
+        if (!(-1 == orgId || getValue("orgId").equals(orgId + ""))) {
+            Set<Integer> orgIds = organizationService.getChildOrganizationIds(orgId);
+            parameters.put("orgIds", orgIds);
+        }
+    }
+
+    @Override
+    public PageBean<Account> getAccountListByPage(Map<String, Object> parameters) {
+        Example example = new Example(Account.class);
+        Criteria criteria = example.createCriteria();
+        if (parameters.containsKey("accountName")) {
+            criteria.andLike("accountName", "%" + (String) parameters.get("accountName") + "%");
+        }
+        if (parameters.containsKey("mobile")) {
+            criteria.andLike("mobile", "%" + (String) parameters.get("mobile") + "%");
+        }
+        if (parameters.containsKey("isDelete")) {
+            criteria.andEqualTo("isDelete", parameters.get("isDelete"));
+        }
+        if (parameters.containsKey("sorter")) {
+            example.setOrderByClause((String) parameters.get("sorter"));
+        }
+        PageHelper.startPage(Integer.valueOf((String) parameters.get("pageIndex")), Integer.valueOf((String) parameters.get("pageSize")));
+        List<Account> accounts = accountMapper.selectByExample(example);
+        Set<Integer> organizationIds = new HashSet<Integer>();
+        for (Account account : accounts) {
+            if (!ObjectUtils.isEmpty(account.getOrganizationId())) {
+                organizationIds.add(account.getOrganizationId());
+            }
+        }
+        if (!ObjectUtils.isEmpty(organizationIds)) {
+            example = new Example(Organization.class);
+            example.or().andIn("id", organizationIds);
+            List<Organization> organizations = organizationMapper.selectByExample(example);
+            for (Account account : accounts) {
+                for (Organization organization : organizations) {
+                    if (account.getOrganizationId() == organization.getId()) {
+                        account.setOrganization(organization);
+                        break;
+                    }
+                }
+            }
+        }
+
+        return new PageBean<Account>(accounts);
+    }
+
+    @Override
+    @Transactional
+    public Integer saveOrUpdateAccount(Account account) {
+        // ������������
+        if (!StringUtils.isBlank(account.getPassword())) {
+            account.setPassword(encoder.encode(account.getPassword()));
+        }
+        if (ObjectUtils.isEmpty(account.getId())) {
+            account.setIsDelete(Constants.IS_DELETE_FALSE);
+            account.setCreateTime(new Date());
+            account.setPassword(encoder.encode(ResourceUtil.getValue("password")));
+            return accountMapper.insertSelective(account);
+        } else {
+            return accountMapper.updateByPrimaryKeySelective(account);
+        }
+    }
+
+    @Override
+    @Transactional
+    public Integer deleteAccountsByLogic(List<Integer> ids) {
+        Account account = new Account();
+        account.setIsDelete(Constants.IS_DELETE_TRUE);
+        Example example = new Example(Account.class);
+        example.or().andIn("id", ids);
+        return accountMapper.updateByExampleSelective(account, example);
+    }
+
+    @Override
+    public Integer getAccountCountByAccountName(String accountName) {
+        Account account = new Account();
+        account.setAccountName(accountName);
+        return accountMapper.selectCount(account);
+    }
+
+    @Override
+    public Optional<Account> queryAccountByName(String accountName) {
+        Account account = accountMapper.getByAccountName(accountName);
+        return Optional.ofNullable(account);
+    }
+
+    @Override
+    public Account companyLogin(Map<String, Object> parameters) {
+        ValidateUtil.notNull(parameters.get("account"), "param.is.null");
+        ValidateUtil.notNull(parameters.get("password"), "param.is.null");
+        Account account = new Account();
+        account.setIsDelete(Constants.IS_DELETE_FALSE);
+        account.setAccountName(parameters.get("account").toString());
+        account = accountMapper.selectOne(account);
+        if (ObjectUtils.isEmpty(account)) {
+            throw new BusinessException("���������������������������������������");
+        }
+        if (!encoder.matches(parameters.get("password").toString(), account.getPassword())) {
+            throw new BusinessException("���������������������������������");
+        }
+        account.setPassword(parameters.get("password").toString());
+        return account;
+    }
+
+    @Override
+    public Map<String, Object> getOrganizationIdByAccountId(String id) {
+        Integer accountId = Integer.parseInt(id);
+        Map<String, Object> map = accountMapper.getOrganizationIdByAccountId(accountId);
+        return map;
     }
 
     @Override
     public List<Role> getRolesByAccountName(String accountName) {
-	    List<Role> roleList = accountMapper.getRolesByAccountName(accountName);
+        List<Role> roleList = accountMapper.getRolesByAccountName(accountName);
         return roleList;
     }
 
     @Override
     public Map<String, Object> getMenuListsByAccountName(String accountName) {
-	    List<Menu> menuList=accountMapper.getParentMenuListsByAccountName(accountName);
-	    String email=accountMapper.getEmailByAccountName(accountName);
-	    Map<String,Object> mapList=new LinkedHashMap<>();
-        Map<String,Object> appMap=new LinkedHashMap<>();
-        appMap.put("name","������������������������");
-        appMap.put("description","������������������������������������������");
-        mapList.put("app",appMap);
-        Map<String,Object> userMap=new LinkedHashMap<>();
-        userMap.put("name",accountName);
-        userMap.put("avatar","./assets/img/zorro.svg");
-        userMap.put("email",email);
-        mapList.put("user",userMap);
-        Map<String,Object> navigationMap=new LinkedHashMap<>();
-        Map<String,Object> navigationChildMap=new LinkedHashMap<>();
-        navigationChildMap.put("text","���������");
+        List<Menu> menuList = accountMapper.getParentMenuListsByAccountName(accountName);
+        String email = accountMapper.getEmailByAccountName(accountName);
+        Map<String, Object> mapList = new LinkedHashMap<>();
+        Map<String, Object> appMap = new LinkedHashMap<>();
+        appMap.put("name", "������������������������");
+        appMap.put("description", "������������������������������������������");
+        mapList.put("app", appMap);
+        Map<String, Object> userMap = new LinkedHashMap<>();
+        userMap.put("name", accountName);
+        userMap.put("avatar", "./assets/img/zorro.svg");
+        userMap.put("email", email);
+        mapList.put("user", userMap);
+        Map<String, Object> navigationMap = new LinkedHashMap<>();
+        Map<String, Object> navigationChildMap = new LinkedHashMap<>();
+        navigationChildMap.put("text", "���������");
         navigationChildMap.put("link", "/dashboard/workplace");
-        navigationChildMap.put("icon","icon-speedometer");
-        navigationChildMap.put("translate","dashboard_workplace");
-        List<Map> navigationChildList=new ArrayList<>();
+        navigationChildMap.put("icon", "icon-speedometer");
+        navigationChildMap.put("translate", "dashboard_workplace");
+        List<Map> navigationChildList = new ArrayList<>();
         navigationChildList.add(navigationChildMap);
-        navigationMap.put("text","���������");
-        navigationMap.put("translate","main_navigation");
-        navigationMap.put("group",true);
-        navigationMap.put("children",navigationChildList);
-        Map<String,Object> systemMap=new LinkedHashMap<>();
-        systemMap.put("text","������������");
-        systemMap.put("group",true);
-        List<Map> systemList=new ArrayList<>();
-        if(!CollectionUtils.isEmpty(menuList)){
-            for(Menu m:menuList){
-                Map<String,Object> systemChildMap=new LinkedHashMap<>();
-                systemChildMap.put("text",m.getMenuName());
-                systemChildMap.put("icon",m.getMenuIcon());
-                List<Menu> childMenuLists=accountMapper.getChildMenuIdsByAccountName(accountName,m.getId());
-                List<Map> systemSonList=new ArrayList<>();
-                if(!CollectionUtils.isEmpty(childMenuLists)){
-                    for(Menu childMenu:childMenuLists){
-                        Map<String,Object> systemSonMap=new LinkedHashMap<>();
-                        systemSonMap.put("text",childMenu.getMenuName());
-                        systemSonMap.put("link",childMenu.getMenuUrl());
+        navigationMap.put("text", "���������");
+        navigationMap.put("translate", "main_navigation");
+        navigationMap.put("group", true);
+        navigationMap.put("children", navigationChildList);
+        Map<String, Object> systemMap = new LinkedHashMap<>();
+        systemMap.put("text", "������������");
+        systemMap.put("group", true);
+        List<Map> systemList = new ArrayList<>();
+        if (!CollectionUtils.isEmpty(menuList)) {
+            for (Menu m : menuList) {
+                Map<String, Object> systemChildMap = new LinkedHashMap<>();
+                systemChildMap.put("text", m.getMenuName());
+                systemChildMap.put("icon", m.getMenuIcon());
+                List<Menu> childMenuLists = accountMapper.getChildMenuIdsByAccountName(accountName, m.getId());
+                List<Map> systemSonList = new ArrayList<>();
+                if (!CollectionUtils.isEmpty(childMenuLists)) {
+                    for (Menu childMenu : childMenuLists) {
+                        Map<String, Object> systemSonMap = new LinkedHashMap<>();
+                        systemSonMap.put("text", childMenu.getMenuName());
+                        systemSonMap.put("link", childMenu.getMenuUrl());
                         systemSonList.add(systemSonMap);
                     }
                 }
-                systemChildMap.put("children",systemSonList);
+                systemChildMap.put("children", systemSonList);
                 systemList.add(systemChildMap);
             }
         }
-        systemMap.put("children",systemList);
-        List<Map> list=new ArrayList<>();
+        systemMap.put("children", systemList);
+        List<Map> list = new ArrayList<>();
         list.add(navigationMap);
         list.add(systemMap);
-        mapList.put("menu",list);
+        mapList.put("menu", list);
         return mapList;
     }
 
diff --git a/src/main/java/com/moral/service/impl/MenuServiceImpl.java b/src/main/java/com/moral/service/impl/MenuServiceImpl.java
index 0c5da0c..07655dc 100644
--- a/src/main/java/com/moral/service/impl/MenuServiceImpl.java
+++ b/src/main/java/com/moral/service/impl/MenuServiceImpl.java
@@ -1,5 +1,6 @@
 package com.moral.service.impl;
 
+import java.util.ArrayList;
 import java.util.Arrays;
 import java.util.Date;
 import java.util.Iterator;
@@ -7,6 +8,7 @@
 
 import javax.annotation.Resource;
 
+import org.apache.commons.collections.CollectionUtils;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
@@ -16,9 +18,9 @@
 import com.moral.common.util.ExampleUtil;
 import com.moral.entity.Menu;
 import com.moral.mapper.MenuMapper;
+import com.moral.mapper.RoleMenuMapper;
 import com.moral.service.MenuService;
 import com.moral.util.TkMybatisUtils;
-import com.sun.scenario.effect.impl.sw.sse.SSEBlend_SRC_OUTPeer;
 
 import tk.mybatis.mapper.entity.Example;
 
@@ -30,11 +32,14 @@
     @Resource
     private MenuMapper menuMapper;
 
+    @Resource
+    private RoleMenuMapper roleMenuMapper;
+
     @Override
     @Transactional
     public void addOrModify(Menu menu) {
         try {
-            if(menu.getMenuParentId()==null){
+            if (menu.getMenuParentId() == null) {
                 menu.setMenuParentId(0);
             }
             menu.setUpdateTime(new Date());
@@ -116,8 +121,29 @@
     }
 
     @Override
-    public List<Menu> getMenuListByName(String menuName) {
-        List<Menu> menuList = menuMapper.getMenuListByName(menuName);
-        return menuList;
+    public List<Menu> getZNodes() {
+        List<Menu> menuList = menuMapper.getMenuListInfo();
+        List<Menu> zNodes = new ArrayList<>();
+        for (Menu menu : menuList) {
+            if (menu.getMenuOrder().toString().length() == 2) {
+                menu.setMenuParentId(Integer.valueOf(menu.getMenuOrder().toString().substring(0, 1)));
+            } else if (menu.getMenuOrder().toString().length() == 3) {
+                menu.setMenuParentId(Integer.valueOf(menu.getMenuOrder().toString().substring(0, 2)));
+            }
+            zNodes.add(menu);
+        }
+        return zNodes;
+    }
+
+    @Override
+    public List<Integer> getMenuOrders(Integer roleId) {
+        List<Integer> menuOrders = menuMapper.getMenuOrdersByRoleId(roleId);
+        List<Integer> channels = roleMenuMapper.getChannels(roleId);
+        if (CollectionUtils.isNotEmpty(channels)) {
+            for (Integer channel : channels) {
+                menuOrders.add(channel);
+            }
+        }
+        return menuOrders;
     }
 }
diff --git a/src/main/java/com/moral/service/impl/RoleMenuServiceImpl.java b/src/main/java/com/moral/service/impl/RoleMenuServiceImpl.java
deleted file mode 100644
index ba069e9..0000000
--- a/src/main/java/com/moral/service/impl/RoleMenuServiceImpl.java
+++ /dev/null
@@ -1,78 +0,0 @@
-package com.moral.service.impl;
-
-import java.util.Arrays;
-import java.util.List;
-
-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.PageBean;
-import com.moral.common.util.ExampleUtil;
-import com.moral.entity.RoleMenu;
-import com.moral.mapper.RoleMenuMapper;
-import com.moral.service.RoleMenuService;
-
-import tk.mybatis.mapper.entity.Example;
-
-@Service
-public class RoleMenuServiceImpl implements RoleMenuService {
-
-    private static Class ENTITY_CLASS = RoleMenu.class;
-
-    @Resource
-    private RoleMenuMapper roleMenuMapper;
-
-    @Override
-    @Transactional
-    public void addOrModify(RoleMenu roleMenu) {
-        try {
-            if (roleMenu.getId() != null) {
-                roleMenuMapper.updateByPrimaryKey(roleMenu);
-            } else {
-                RoleMenu roleMenuQuery = new RoleMenu();
-                roleMenuQuery.setRoleId(roleMenu.getRoleId());
-                roleMenuQuery.setMenuId(roleMenu.getMenuId());
-                RoleMenu roleMenuResult = roleMenuMapper.selectOne(roleMenuQuery);
-                if (roleMenuResult == null) {
-                    roleMenuMapper.insertSelective(roleMenu);
-                }
-            }
-        } catch (Exception ex) {
-            throw ex;
-        }
-    }
-
-    @Override
-    public int countByExample(PageBean pageBean) {
-        Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
-        return roleMenuMapper.selectCountByExample(example);
-    }
-
-    @Override
-    public PageBean getRoleMenuList(PageBean pageBean) {
-        Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean);
-        if (pageBean.getPageSize() > 0) {
-            PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize());
-        }
-        List<RoleMenu> roleMenuList = roleMenuMapper.getRoleMenuList(example);
-        return new PageBean(roleMenuList);
-    }
-
-    @Override
-    @Transactional
-    public void deleteByIds(Integer... ids) {
-        if (ids != null && ids.length > 0) {
-            if (ids.length == 1) {
-                roleMenuMapper.deleteByPrimaryKeyOwn(ids[0]);
-            } else {
-                Example example = new Example(ENTITY_CLASS);
-                example.or().andIn("id", Arrays.asList(ids));
-                roleMenuMapper.deleteByExample(example);
-            }
-        }
-    }
-
-}
diff --git a/src/main/java/com/moral/service/impl/RoleServiceImpl.java b/src/main/java/com/moral/service/impl/RoleServiceImpl.java
index 11f35e8..5126466 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,33 @@
     }
 
     @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);
+                }
+            }
+            roleMenuMapper.insertList(roleMenuList);
+        }
+    }
+
+    @Override
+    public PageBean<Role> queryByPageBean(PageBean pageBean) {
+        return MyBatisBaseMapUtil.queryPage(roleMapper, pageBean, ENTITY_CLASS);
     }
 
 }
diff --git a/src/main/resources/mapper/AccountRoleMapper.xml b/src/main/resources/mapper/AccountRoleMapper.xml
index d7a7c32..5f537d3 100644
--- a/src/main/resources/mapper/AccountRoleMapper.xml
+++ b/src/main/resources/mapper/AccountRoleMapper.xml
@@ -49,32 +49,4 @@
         </where>
     </sql>
 
-    <select id="getAccountRoleList" resultMap="BaseResultMap">
-        select
-        ar.*,
-        a.account_name,
-        r.role_name
-        from account_role ar
-        left join account a on ar.account_id = a.id
-        left join role r on ar.role_id = r.id
-        <if test="_parameter != null">
-            <include refid="Example_Where_Clause"/>
-        </if>
-        <if test="orderByClause != null">
-            order by ${orderByClause}
-        </if>
-    </select>
-
-    <update id="updateByPrimaryKey" parameterType="com.moral.entity.AccountRole" >
-        update account_role
-        set account_id = #{accountId,jdbcType=INTEGER},
-        role_id = #{roleId,jdbcType=INTEGER}
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-
-    <delete id="deleteByPrimaryKeyOwn" parameterType="java.lang.Integer" >
-        delete from account_role
-        where id = #{id,jdbcType=INTEGER}
-    </delete>
-
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/MenuMapper.xml b/src/main/resources/mapper/MenuMapper.xml
index d9e91d8..d77d0c5 100644
--- a/src/main/resources/mapper/MenuMapper.xml
+++ b/src/main/resources/mapper/MenuMapper.xml
@@ -110,14 +110,27 @@
         </if>
     </select>
 
-    <select id="getMenuListByName" resultMap="ResultMap">
+    <select id="getChannelId" resultType="java.lang.Integer">
+        select
+        distinct
+        channel_id
+        from menu
+        where is_delete=0
+    </select>
+
+    <select id="getMenuListInfo" resultMap="ResultMap">
         select
         <include refid="Base_Column_List"/>
         from menu
         where is_delete=0
-        <if test="menuName != 'null'">
-            and menu_name like concat('%',#{menuName},'%')
-        </if>
+    </select>
+
+    <select id="getMenuOrdersByRoleId" resultType="java.lang.Integer">
+        select
+        m.menu_order
+        from menu m
+        left join role_menu rm on m.id=rm.menu_id and m.channel_id= rm.channel_id
+        where rm.role_id = #{roleId}
     </select>
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/RoleMapper.xml b/src/main/resources/mapper/RoleMapper.xml
index 965ff3e..041054a 100644
--- a/src/main/resources/mapper/RoleMapper.xml
+++ b/src/main/resources/mapper/RoleMapper.xml
@@ -49,16 +49,6 @@
         </where>
     </sql>
 
-    <select id="getRoleListByName" resultMap="BaseResultMap">
-        select
-        <include refid="Base_Column_List"/>
-        from role
-        where is_delete=0
-        <if test="roleName != 'null'">
-            and role_name like concat('%',#{roleName},'%')
-        </if>
-    </select>
-
     <select id="getRoleList" resultMap="BaseResultMap">
         select
         <include refid="Base_Column_List"/>
@@ -70,39 +60,5 @@
             order by ${orderByClause}
         </if>
     </select>
-
-    <update id="updateByPrimaryKey" parameterType="com.moral.entity.Role" >
-        update role
-        <set >
-            <if test="roleCode != null" >
-                role_code = #{roleCode,jdbcType=VARCHAR},
-            </if>
-            <if test="roleName != null" >
-                role_name = #{roleName,jdbcType=VARCHAR},
-            </if>
-            <if test="channelId != null" >
-                channel_id = #{channelId,jdbcType=INTEGER},
-            </if>
-            <if test="isDelete != null" >
-                is_delete = #{isDelete,jdbcType=CHAR},
-            </if>
-            <if test="roleRemark != null" >
-                role_remark = #{roleRemark,jdbcType=VARCHAR},
-            </if>
-            <if test="createTime != null" >
-                create_time = #{createTime,jdbcType=TIMESTAMP},
-            </if>
-            <if test="createUser != null" >
-                create_user = #{createUser,jdbcType=VARCHAR},
-            </if>
-            <if test="updateTime != null" >
-                update_time = #{updateTime,jdbcType=TIMESTAMP},
-            </if>
-            <if test="updateUser != null" >
-                update_user = #{updateUser,jdbcType=VARCHAR},
-            </if>
-        </set>
-        where id = #{id,jdbcType=INTEGER}
-    </update>
 
 </mapper>
\ No newline at end of file
diff --git a/src/main/resources/mapper/RoleMenuMapper.xml b/src/main/resources/mapper/RoleMenuMapper.xml
index e75534b..f1db579 100644
--- a/src/main/resources/mapper/RoleMenuMapper.xml
+++ b/src/main/resources/mapper/RoleMenuMapper.xml
@@ -49,32 +49,20 @@
         </where>
     </sql>
 
-    <select id="getRoleMenuList" resultMap="BaseResultMap">
+
+    <select id="getChannels" resultType="java.lang.Integer">
         select
-        rm.*,
-        r.role_name,
-        m.menu_name
-        from role_menu rm
-        left join role r on rm.role_id = r.id
-        left join menu m on rm.menu_id = m.id
-        <if test="_parameter != null">
-            <include refid="Example_Where_Clause"/>
-        </if>
-        <if test="orderByClause != null">
-            order by ${orderByClause}
-        </if>
+        distinct
+        channel_id
+        from role_menu
+        where role_id = #{roleId}
     </select>
 
-    <update id="updateByPrimaryKey" parameterType="com.moral.entity.RoleMenu" >
-        update role_menu
-        set role_id = #{roleId,jdbcType=INTEGER},
-        menu_id = #{menuId,jdbcType=INTEGER}
-        where id = #{id,jdbcType=INTEGER}
-    </update>
-
-    <delete id="deleteByPrimaryKeyOwn" parameterType="java.lang.Integer" >
-        delete from role_menu
-        where id = #{id,jdbcType=INTEGER}
-    </delete>
+    <select id="getMenus" resultType="java.lang.Integer">
+        select
+        menu_id
+        from role_menu
+        where role_id = #{roleId}
+    </select>
 
 </mapper>
\ No newline at end of file

--
Gitblit v1.8.0