From f28149d8183a62f87fa9c8df9ae589070d83f612 Mon Sep 17 00:00:00 2001 From: 于紫祥_1901 <email@yuzixiang_1910> Date: Thu, 24 Dec 2020 13:47:50 +0800 Subject: [PATCH] 波动补偿 --- src/main/java/com/moral/service/impl/MenuServiceImpl.java | 80 ++++++++++++++++++++++++---------------- 1 files changed, 48 insertions(+), 32 deletions(-) diff --git a/src/main/java/com/moral/service/impl/MenuServiceImpl.java b/src/main/java/com/moral/service/impl/MenuServiceImpl.java index 507de82..ac8f2a4 100644 --- a/src/main/java/com/moral/service/impl/MenuServiceImpl.java +++ b/src/main/java/com/moral/service/impl/MenuServiceImpl.java @@ -1,23 +1,26 @@ package com.moral.service.impl; +import java.util.ArrayList; import java.util.Arrays; import java.util.Date; import java.util.Iterator; import java.util.List; -import javax.annotation.Resource; - +import org.apache.commons.collections.CollectionUtils; 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.entity.Menu; +import com.moral.entity.RoleMenu; import com.moral.mapper.MenuMapper; +import com.moral.mapper.RoleMenuMapper; import com.moral.service.MenuService; import com.moral.util.TkMybatisUtils; - +import javax.annotation.Resource; import tk.mybatis.mapper.entity.Example; @Service @@ -28,9 +31,16 @@ @Resource private MenuMapper menuMapper; + @Resource + private RoleMenuMapper roleMenuMapper; + @Override + @Transactional public void addOrModify(Menu menu) { try { + if (menu.getMenuParentId() == null) { + menu.setMenuParentId(0); + } menu.setUpdateTime(new Date()); menu.setUpdateUser(menu.getUpdateUser()); if (menu.getId() != null) { @@ -44,6 +54,7 @@ menu.setId(menuResult.getId()); menuMapper.updateByPrimaryKeySelective(menu); } else { + menu.setChannelId(menu.getChannelId()); menu.setIsDelete(Constants.IS_DELETE_FALSE); menu.setCreateTime(new Date()); menu.setCreateUser(menu.getCreateUser()); @@ -53,31 +64,6 @@ } catch (Exception ex) { throw ex; } - } - - @Override - public PageBean queryByPageBean(PageBean pageBean) { - Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean); - List<Example.Criteria> criteriaList = example.getOredCriteria(); - if (criteriaList != null && criteriaList.size() > 0) { - for (Example.Criteria cri : criteriaList) { - cri.andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE); - } - } else { - example.or().andNotEqualTo("isDelete", Constants.IS_DELETE_TRUE); - } - if (example.getOrderByClause() == null || example.getOrderByClause().isEmpty()) { - example.setOrderByClause("menu_name asc"); - } - List<Menu> menuList = menuMapper.selectWithMenuNameByExample(example); - Iterator<Menu> iterator = menuList.iterator(); - while (iterator.hasNext()) { - Menu menu = iterator.next(); - if (menu.getMenuParentId() == null) { - iterator.remove(); - } - } - return new PageBean(menuList); } @Override @@ -103,12 +89,13 @@ public int countByExample(PageBean pageBean) { Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean); TkMybatisUtils.addDeletesToExample(example); - return menuMapper.selectCountByExample(example); + return menuMapper.countByExample(example); } @Override public PageBean getMenuList(PageBean pageBean) { Example example = ExampleUtil.generateExample(ENTITY_CLASS, pageBean); + TkMybatisUtils.addDeletesToExample(example); if (pageBean.getPageSize() > 0) { PageHelper.startPage(pageBean.getPageIndex(), pageBean.getPageSize()); } @@ -123,17 +110,46 @@ } @Override + @Transactional public void deleteByIds(Integer[] ids) { Menu menu = new Menu(); menu.setIsDelete(Constants.IS_DELETE_TRUE); Example example = new Example(ENTITY_CLASS); example.or().andIn("id", Arrays.asList(ids)); menuMapper.updateByExampleSelective(menu, example); + Example roleMenuExample = new Example(RoleMenu.class); + roleMenuExample.or().andIn("menuId", Arrays.asList(ids)); + roleMenuMapper.deleteByExample(roleMenuExample); } @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().substring(0, 1).equals("1")) { + menu.setMenuParentId(Integer.valueOf(menu.getMenuOrder().toString().substring(0, 1))); + } else { + 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; } } -- Gitblit v1.8.0