ZhuDongming
2019-12-04 8a447052fc1408a321c4aa3cc2c4ee2a7c45941e
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,7 +8,9 @@
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;
@@ -15,6 +18,7 @@
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;
@@ -28,9 +32,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 +55,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 +65,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 +90,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,6 +111,7 @@
    }
    @Override
    @Transactional
    public void deleteByIds(Integer[] ids) {
        Menu menu = new Menu();
        menu.setIsDelete(Constants.IS_DELETE_TRUE);
@@ -132,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;
    }
}