mirror of https://github.com/jeecgboot/jeecg-boot
vue3版,配置聚合路由的地址时,报系统已存在该值的错误
parent
2a99fa2ecb
commit
12991c83cb
|
@ -1,18 +1,16 @@
|
|||
package org.jeecg.modules.system.controller;
|
||||
|
||||
import cn.hutool.core.util.ObjectUtil;
|
||||
import com.alibaba.fastjson.JSONArray;
|
||||
import com.alibaba.fastjson.JSONObject;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.lang3.StringUtils;
|
||||
import org.apache.shiro.SecurityUtils;
|
||||
import org.apache.shiro.authz.annotation.RequiresRoles;
|
||||
import org.jeecg.common.api.vo.Result;
|
||||
import org.jeecg.common.constant.CommonConstant;
|
||||
import org.jeecg.common.constant.SymbolConstant;
|
||||
import org.jeecg.common.constant.enums.RoleIndexConfigEnum;
|
||||
import org.jeecg.common.exception.JeecgBootException;
|
||||
import org.jeecg.common.system.vo.LoginUser;
|
||||
import org.jeecg.common.util.Md5Util;
|
||||
import org.jeecg.common.util.oConvertUtils;
|
||||
|
@ -393,6 +391,28 @@ public class SysPermissionController {
|
|||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 检测菜单路径是否存在
|
||||
* @param id
|
||||
* @param url
|
||||
* @return
|
||||
*/
|
||||
@RequestMapping(value = "/checkPermDuplication", method = RequestMethod.GET)
|
||||
public Result<String> checkPermDuplication(@RequestParam(name = "id", required = false) String id, @RequestParam(name = "url") String url, @RequestParam(name = "alwaysShow") Boolean alwaysShow) {
|
||||
Result<String> result = new Result<>();
|
||||
try {
|
||||
boolean check=sysPermissionService.checkPermDuplication(id,url,alwaysShow);
|
||||
if(check){
|
||||
return Result.ok("该值可用!");
|
||||
}
|
||||
return Result.error("该值不可用,系统中已存在!");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
result.error500("操作失败");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
/**
|
||||
* 删除菜单
|
||||
* @param id
|
||||
|
@ -425,13 +445,21 @@ public class SysPermissionController {
|
|||
String[] arr = ids.split(",");
|
||||
for (String id : arr) {
|
||||
if (oConvertUtils.isNotEmpty(id)) {
|
||||
sysPermissionService.deletePermission(id);
|
||||
try {
|
||||
sysPermissionService.deletePermission(id);
|
||||
} catch (JeecgBootException e) {
|
||||
if(e.getMessage()!=null && e.getMessage().contains("未找到菜单信息")){
|
||||
log.warn(e.getMessage());
|
||||
}else{
|
||||
throw e;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
result.success("删除成功!");
|
||||
} catch (Exception e) {
|
||||
log.error(e.getMessage(), e);
|
||||
result.error500("删除成功!");
|
||||
result.error500("删除失败!");
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
|
|
@ -1,13 +1,11 @@
|
|||
package org.jeecg.modules.system.service;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.apache.ibatis.annotations.Param;
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import org.jeecg.common.exception.JeecgBootException;
|
||||
import org.jeecg.modules.system.entity.SysPermission;
|
||||
import org.jeecg.modules.system.model.TreeModel;
|
||||
|
||||
import com.baomidou.mybatisplus.extension.service.IService;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -100,4 +98,13 @@ public interface ISysPermissionService extends IService<SysPermission> {
|
|||
* @return
|
||||
*/
|
||||
List<SysPermission> queryDepartPermissionList(String departId);
|
||||
|
||||
/**
|
||||
* 检测地址是否存在(聚合路由的情况下允许使用子菜单路径作为父菜单的路由地址)
|
||||
* @param id
|
||||
* @param url
|
||||
* @param alwaysShow 是否是聚合路由
|
||||
* @return
|
||||
*/
|
||||
boolean checkPermDuplication(String id, String url,Boolean alwaysShow);
|
||||
}
|
||||
|
|
|
@ -1,12 +1,8 @@
|
|||
package org.jeecg.modules.system.service.impl;
|
||||
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import org.jeecg.common.constant.CacheConstant;
|
||||
import org.jeecg.common.constant.CommonConstant;
|
||||
import org.jeecg.common.exception.JeecgBootException;
|
||||
|
@ -25,9 +21,11 @@ import org.springframework.cache.annotation.Cacheable;
|
|||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
||||
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
||||
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Date;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* <p>
|
||||
|
@ -277,4 +275,11 @@ public class SysPermissionServiceImpl extends ServiceImpl<SysPermissionMapper, S
|
|||
return sysPermissionMapper.queryDepartPermissionList(departId);
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkPermDuplication(String id, String url,Boolean alwaysShow) {
|
||||
QueryWrapper<SysPermission> qw=new QueryWrapper();
|
||||
qw.lambda().eq(true, SysPermission::getUrl,url).ne(oConvertUtils.isNotEmpty(id), SysPermission::getId,id).eq(true, SysPermission::isAlwaysShow,alwaysShow);
|
||||
return count(qw)==0;
|
||||
}
|
||||
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue