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
2018-12-29 14:27:20 +08:00

116 lines
3.4 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.Constants;
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);
UserUtils.removeCache(UserUtils.CACHE_MENU_CFG_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);
UserUtils.removeCache(UserUtils.CACHE_MENU_CFG_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);
UserUtils.removeCache(UserUtils.CACHE_MENU_CFG_LIST);
// // 清除权限缓存
// systemRealm.clearAllCachedAuthorizationInfo();
// 清除日志相关缓存
CacheUtils.remove(LogUtils.CACHE_MENU_NAME_PATH_MAP);
}
// 根据functionId查找日志检索的URL
public String getLogUrl(Integer function) {
Integer logSearchId = Constants.LOGSEARCH_MENU_ID;
return menuDao.getLogUrl(function,logSearchId);
}
// 根据functionId,action查找日志检索条件ServiceId
public Integer getServiceId(Integer functionId, Integer action) {
return menuDao.getServiceId(functionId,action);
}
// 获取菜单code
public String getMenuCodeByFunctionId(Integer functionId) {
return menuDao.getMenuCodeByFunctionId(functionId,",86,");
}
}