IntelligentRecognition/ah-jjsp-service/.svn/pristine/f0/f063e52aabe380b798c71348cd8...

253 lines
7.3 KiB
Plaintext
Raw Normal View History

2024-05-24 16:09:40 +08:00
package com.securityControl.system.service.impl;
import com.google.common.collect.Maps;
import com.securityControl.system.api.domain.SysUser;
import com.securityControl.system.api.domain.decision.SysMenu;
import com.securityControl.system.domain.vo.*;
import com.securityControl.system.mapper.SysMenuDao;
import com.securityControl.system.service.SysMenuService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
*
*/
@Slf4j
@Service
public class SysMenuServiceImpl implements SysMenuService {
@Autowired
private SysMenuDao dao;
@Override
public Map<String,Object> getMenuTree(String keyId) {
Map<String,Object> map= Maps.newHashMap();
List<DtreeEntity> allList=dao.getAllMenuList();//查询全部数据
List<String> checkList =dao.getCheckMenu(keyId);
List<DtreeEntity> list=new ArrayList<>();
treeMenuList(allList,"0",list);
map.put("tree",list);
map.put("check",checkList);
return map;
}
/**
* 查询全部菜单数据
* @param sysMenu
* @return
*/
@Override
public List<SysMenuEntity> getMenuList(SysMenuEntity sysMenu) {
try{
List<SysMenuEntity> list= dao.getMenuList(sysMenu);//查询全部数据;
return list;
}catch (Exception e){
}
return new ArrayList<SysMenuEntity>();
}
/**
* 新增菜单列表
* @param sysMenu
* @return
*/
@Override
public ReturnCodeEntity insertMenu(SysMenuEntity sysMenu) {
ReturnCodeEntity returnCodeEntity=new ReturnCodeEntity();
try{
if("1".equals(sysMenu.getTypes())){
int num=dao.getMenuNameNum(sysMenu);
if(num>0){
returnCodeEntity.setMsg("菜单名称已存在");
returnCodeEntity.setCode("201");
return returnCodeEntity;
}
}
int num2=dao.insertMenu(sysMenu);
if(num2<1){
returnCodeEntity.setMsg("新增失败,请联系管理员");
returnCodeEntity.setCode("202");
return returnCodeEntity;
}
returnCodeEntity.setMsg("添加成功");
returnCodeEntity.setCode("200");
return returnCodeEntity;
}catch (Exception e){
returnCodeEntity.setMsg("网络异常,请稍后重试");
returnCodeEntity.setCode("203");
}
return returnCodeEntity;
}
/**
* 删除菜单数据
* @param keyId
* @return
*/
@Override
public ReturnCodeEntity deleteMenu(String keyId) {
ReturnCodeEntity returnCodeEntity=new ReturnCodeEntity();
try{
int num=dao.getChilderNum(keyId);//查询是否有子节点
if(num>0){
returnCodeEntity.setMsg("该节点下存在子节点,无法删除");
returnCodeEntity.setCode("202");
return returnCodeEntity;
}
int num2=dao.deleteMenu(keyId);
if(num2<1){
returnCodeEntity.setMsg("删除失败,请联系管理员");
returnCodeEntity.setCode("200");
return returnCodeEntity;
}
returnCodeEntity.setMsg("删除成功");
returnCodeEntity.setCode("200");
return returnCodeEntity;
}catch (Exception e){
returnCodeEntity.setMsg("网络异常,请稍后重试");
returnCodeEntity.setCode("203");
}
return returnCodeEntity;
}
/**
* 查询菜单数据列表
* @param keyId
* @return
*/
@Override
public SysMenuEntity getMenuDetail(String keyId) {
return dao.getMenuDetail(keyId);
}
/**
* 更新菜单
* @param sysMenu
* @return
*/
@Override
public ReturnCodeEntity updateMenu(SysMenuEntity sysMenu) {
ReturnCodeEntity returnCodeEntity=new ReturnCodeEntity();
try{
if("1".equals(sysMenu.getTypes())){
int num=dao.getMenuNameNum(sysMenu);
if(num>0){
returnCodeEntity.setMsg("菜单名称已存在");
returnCodeEntity.setCode("201");
return returnCodeEntity;
}
}
int num2=dao.updateMenu(sysMenu);
if(num2<1){
returnCodeEntity.setMsg("修改失败,请联系管理员");
returnCodeEntity.setCode("202");
return returnCodeEntity;
}
returnCodeEntity.setMsg("修改成功");
returnCodeEntity.setCode("200");
return returnCodeEntity;
}catch (Exception e){
System.err.println(e.toString());
returnCodeEntity.setMsg("网络异常,请稍后重试");
returnCodeEntity.setCode("203");
}
return returnCodeEntity;
}
/**
* 子节点数据处理
* @param menuList
* @param pid
* @param childMenu
*/
private void treeMenuList(List<DtreeEntity> menuList, String pid,List<DtreeEntity> childMenu) {
for (DtreeEntity mu : menuList) {//遍历菜单
//遍历出父id等于参数的idadd进子节点集合
if (pid.equals(mu.getParentId())) {
List<DtreeEntity> childList = new ArrayList<DtreeEntity>();//创建数据
List<CheckArr> cl=new ArrayList<CheckArr>();
CheckArr checkArr=new CheckArr("0","0");
cl.add(checkArr);
mu.setCheckArr(cl);
//递归遍历下一级
treeMenuList(menuList, mu.getId(),childList);
if(childList.size()>0){
mu.setChildren(childList);
}else{
mu.setLast(true);
}
childMenu.add(mu);
}
}
}
/**
*
* @param sysUser
* @return
*/
@Override
public Set<String> getMenuPermission(SysUser sysUser) {
return dao.getMenuPermission(sysUser);
}
/**
* 系統菜單獲取
* @param userId
* @return
*/
@Override
public List<String> getMenuPer(String userId, String types) {
return dao.getMenuPer(userId,types);
}
/**
* 查询当前角色配置的菜单信息
* @param userId
* @return
*/
@Override
public List<SysMenu> getAllMenuList(String userId) {
List<SysMenu> menuList =new ArrayList<SysMenu>();
try{
menuList =dao.getMenu(userId,"0");
getChilder(menuList,userId);
}catch (Exception e){
}
return menuList;
}
/**
* 子菜单查询
* @param menuList
*/
private void getChilder(List<SysMenu> menuList, String userId) {
for (SysMenu menu : menuList) {
List<SysMenu> list=dao.getMenu(userId, menu.getMenuId());
if(list!=null &&list.size()>0){
menu.setChilder(list);
menu.setLast(false);
}else{
menu.setChilder(new ArrayList<SysMenu>());
menu.setLast(true);
}
}
}
}