MenuServiceImpl.java 2.52 KB
Newer Older
Fred's avatar
Fred committed
1 2 3 4
package com.govmade.modules.system.service.impl;

import java.util.List;
import java.util.Map;
刘弈臻's avatar
刘弈臻 committed
5
import java.util.Set;
Fred's avatar
Fred committed
6 7 8

import org.springframework.stereotype.Service;

Fred's avatar
Fred committed
9 10
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
刘弈臻's avatar
刘弈臻 committed
11 12
import com.google.common.collect.Lists;
import com.govmade.common.utils.PageTreeUtils;
Fred's avatar
Fred committed
13 14 15 16
import com.govmade.modules.system.dao.MenuDao;
import com.govmade.modules.system.entity.MenuEntity;
import com.govmade.modules.system.service.MenuService;

刘弈臻's avatar
刘弈臻 committed
17 18
import cn.hutool.core.util.StrUtil;

Fred's avatar
Fred committed
19 20 21 22 23 24 25 26 27 28 29 30
/**
 * 系统管理 - 菜单设置
 * 
 * @author Fred
 * @email fangtaosh@qq.com
 * @date 2018年8月7日
 */
@Service("MenuService")
public class MenuServiceImpl extends ServiceImpl<MenuDao, MenuEntity> implements MenuService {

	
	@Override
刘弈臻's avatar
刘弈臻 committed
31 32 33 34 35 36 37 38 39 40
	public PageTreeUtils queryPage(Map<String, Object> params) {
		String name = (String) params.get("name");
		int currPage = Integer.parseInt((String) params.get("currPage"));
		int pageSize = Integer.parseInt((String) params.get("pageSize"));
		int start = (currPage-1)*pageSize;
		params.put("name2", name);
		params.put("pageSize2", pageSize);
		params.put("start", start);
		List<MenuEntity> allList=this.baseMapper.listTree(params);
		List<MenuEntity> list=buildAreaTree(allList,0L);
Fred's avatar
Fred committed
41
		int totalCount = super.selectCount(new QueryWrapper<MenuEntity>().like(StrUtil.isNotBlank(name), "name", name)
刘弈臻's avatar
刘弈臻 committed
42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59
				.eq("pid", 0).eq("state", 1));
		return new PageTreeUtils(list,totalCount,pageSize,currPage);

    }
	
	/**
	 *递归方法
	 */
		 private List<MenuEntity> buildAreaTree(List<MenuEntity> menuList, Long id) {
		        List<MenuEntity> mList = Lists.newArrayList();

		        for (MenuEntity menu : menuList) {
		            if (id == menu.getPid()) {
		                menu.setChildren(buildAreaTree(menuList, menu.getId()));
		                mList.add(menu);
		            }
		        }
		        return mList;
刘弈臻's avatar
刘弈臻 committed
60 61
		    }		 
		 	
Fred's avatar
Fred committed
62
	/**
刘弈臻's avatar
刘弈臻 committed
63
	 * 获取侧边菜单列表
Fred's avatar
Fred committed
64
	 */
刘弈臻's avatar
刘弈臻 committed
65 66 67 68 69
	@Override
	public List<MenuEntity> queryMenuList(){		
		List<MenuEntity> menuList=this.baseMapper.menuList();
		List<MenuEntity> list=buildAreaTree(menuList,0L);
		return list;
Fred's avatar
Fred committed
70 71 72 73 74 75 76 77 78
	}
	
	@Override
	public void save(MenuEntity menu) {
		super.insertOrUpdate(menu);
	}

	@Override
	public Integer checkMenu(String name) {
Fred's avatar
Fred committed
79
		return super.selectCount(new QueryWrapper<MenuEntity>().eq("name", name));
Fred's avatar
Fred committed
80 81 82 83 84 85
	}

	@Override
	public MenuEntity queryById(Long id) {
		return super.selectById(id);
	}
刘弈臻's avatar
刘弈臻 committed
86 87 88 89 90
	
	@Override
	public void deleteBatch(Set<Long> ids) {
		this.baseMapper.deleteBatch(ids);
	}
Fred's avatar
Fred committed
91 92

}