This repository has been archived on 2025-09-14. You can view files and clone it, but cannot push or open issues or pull requests.
Files
k18-ntcs-web-ntc/src/main/java/com/nis/web/service/MenuService.java
2017-12-29 16:18:40 +08:00

98 lines
2.7 KiB
Java
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

package com.nis.web.service;
import java.util.Date;
import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.nis.domain.SysMenu;
import com.nis.domain.SysUser;
import com.nis.util.CacheUtils;
import com.nis.util.LogUtils;
import com.nis.util.StringUtil;
import com.nis.web.dao.SysMenuDao;
import com.nis.web.security.UserUtils;
@Service
public class MenuService extends BaseService {
@Autowired
private SysMenuDao menuDao;
public List<SysMenu> findAllMenu() {
return UserUtils.getMenuList();
}
public SysMenu getMenu(Long id) {
return menuDao.get(id);
}
public void saveOrUpdateMenu(SysMenu menu) {
// 获取父节点实体
menu.setParent(this.getMenu(menu.getParent().getId()));
// 获取修改前的parentIds用于更新子节点的parentIds
String oldParentIds = menu.getParentIds();
// 设置新的父节点串
menu.setParentIds(menu.getParent().getParentIds()+menu.getParent().getId()+",");
SysUser user = UserUtils.getUser();
// 保存或更新实体
if (StringUtil.isEmpty(menu.getId())){
menu.setUpdateBy(user);
menu.setCreateBy(user);
menu.setCreateDate(new Date());
menu.setUpdateDate(menu.getCreateDate());
menu.setDelFlag(1);
menuDao.insert(menu);
}else{
menu.setUpdateBy(user);
menu.setUpdateDate(new Date());
menuDao.update(menu);
}
// 更新子节点 parentIds
SysMenu m = new SysMenu();
m.setParentIds("%,"+menu.getId()+",%");
List<SysMenu> list = menuDao.findByParentIdsLike(m);
for (SysMenu e : list){
e.setParentIds(e.getParentIds().replace(oldParentIds, menu.getParentIds()));
menuDao.updateParentIds(e);
}
// 清除用户菜单缓存
UserUtils.removeCache(UserUtils.CACHE_MENU_LIST);
// // 清除权限缓存
// systemRealm.clearAllCachedAuthorizationInfo();
// 清除日志相关缓存
CacheUtils.remove(LogUtils.CACHE_MENU_NAME_PATH_MAP);
}
public void deleteMenu(SysMenu menu) {
menuDao.delete(menu);
// 清除用户菜单缓存
UserUtils.removeCache(UserUtils.CACHE_MENU_LIST);
// // 清除权限缓存
// systemRealm.clearAllCachedAuthorizationInfo();
// 清除日志相关缓存
CacheUtils.remove(LogUtils.CACHE_MENU_NAME_PATH_MAP);
}
public void updateMenuSort(SysMenu menu) {
menuDao.updateSort(menu);
// 清除用户菜单缓存
UserUtils.removeCache(UserUtils.CACHE_MENU_LIST);
// // 清除权限缓存
// systemRealm.clearAllCachedAuthorizationInfo();
// 清除日志相关缓存
CacheUtils.remove(LogUtils.CACHE_MENU_NAME_PATH_MAP);
}
}