| 
					
				 | 
			
			
				@ -1,8 +1,10 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				package com.yihu.jw.base.service.role; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.contant.MenuContant; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.base.dao.role.MenuDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.jw.entity.base.role.MenuDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import com.yihu.mysql.query.BaseJpaService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.apache.commons.lang3.StringUtils; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.beans.factory.annotation.Autowired; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -14,6 +16,8 @@ import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				public class MenuService extends BaseJpaService<MenuDO, MenuDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Autowired 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    private MenuDao menuDao; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@ -22,8 +26,65 @@ public class MenuService extends BaseJpaService<MenuDO, MenuDao> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param status 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void updateStatus(String id,Integer status){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuDao.updateStatus(id,status); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 新增菜单 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param menuDO 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public MenuDO addMenu(MenuDO menuDO){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(StringUtils.isBlank(menuDO.getParentId())){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDO.setParentId(MenuContant.DEFAULT_PARENTID); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int sort = menuDao.countMenuByParentId(menuDO.getParentId())+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuDO.setSort(sort); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        menuDao.save(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return menuDO; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 上移 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param menuId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void moveUp(String menuId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MenuDO menuDO = menuDao.findOne(menuId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int sort = menuDO.getSort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(sort > 1){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sort = sort-1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDao.addSort(menuDO.getParentId(),sort); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDO.setSort(sort); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDao.save(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 下移 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param menuId 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public void moveDown(String menuId){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        MenuDO menuDO = menuDao.findOne(menuId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int sort = menuDO.getSort(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        int count = menuDao.countMenuByParentId(menuDO.getParentId()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        if(sort < count){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            sort = sort+1; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDao.subSort(menuDO.getParentId(),sort); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDO.setSort(sort); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				            menuDao.save(menuDO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * 名称是否存在 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @param name 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     * @return 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    public int isExistName(String name){ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				        return menuDao.isExistName(name); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				} 
			 |