优化异常信息
This commit is contained in:
		| @@ -1,43 +0,0 @@ | ||||
| package com.ruoyi.common.exception; | ||||
|  | ||||
| /** | ||||
|  * 自定义异常 | ||||
|  *  | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public class CustomException extends RuntimeException | ||||
| { | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     private Integer code; | ||||
|  | ||||
|     private String message; | ||||
|  | ||||
|     public CustomException(String message) | ||||
|     { | ||||
|         this.message = message; | ||||
|     } | ||||
|  | ||||
|     public CustomException(String message, Integer code) | ||||
|     { | ||||
|         this.message = message; | ||||
|         this.code = code; | ||||
|     } | ||||
|  | ||||
|     public CustomException(String message, Throwable e) | ||||
|     { | ||||
|         super(message, e); | ||||
|         this.message = message; | ||||
|     } | ||||
|  | ||||
|     @Override | ||||
|     public String getMessage() | ||||
|     { | ||||
|         return message; | ||||
|     } | ||||
|  | ||||
|     public Integer getCode() | ||||
|     { | ||||
|         return code; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,58 @@ | ||||
| package com.ruoyi.common.exception; | ||||
|  | ||||
| /** | ||||
|  * 全局异常 | ||||
|  *  | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public class GlobalException extends RuntimeException | ||||
| { | ||||
|  | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     /** | ||||
|      * 错误提示 | ||||
|      */ | ||||
|     private String message; | ||||
|  | ||||
|     /** | ||||
|      * 错误明细,内部调试错误 | ||||
|      * | ||||
|      * 和 {@link CommonResult#getDetailMessage()} 一致的设计 | ||||
|      */ | ||||
|     private String detailMessage; | ||||
|  | ||||
|     /** | ||||
|      * 空构造方法,避免反序列化问题 | ||||
|      */ | ||||
|     public GlobalException() | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     public GlobalException(String message) | ||||
|     { | ||||
|         this.message = message; | ||||
|     } | ||||
|  | ||||
|     public String getDetailMessage() | ||||
|     { | ||||
|         return detailMessage; | ||||
|     } | ||||
|  | ||||
|     public GlobalException setDetailMessage(String detailMessage) | ||||
|     { | ||||
|         this.detailMessage = detailMessage; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public String getMessage() | ||||
|     { | ||||
|         return message; | ||||
|     } | ||||
|  | ||||
|     public GlobalException setMessage(String message) | ||||
|     { | ||||
|         this.message = message; | ||||
|         return this; | ||||
|     } | ||||
| } | ||||
| @@ -0,0 +1,73 @@ | ||||
| package com.ruoyi.common.exception; | ||||
|  | ||||
| /** | ||||
|  * 业务异常 | ||||
|  *  | ||||
|  * @author ruoyi | ||||
|  */ | ||||
| public final class ServiceException extends RuntimeException | ||||
| { | ||||
|     private static final long serialVersionUID = 1L; | ||||
|  | ||||
|     /** | ||||
|      * 错误码 | ||||
|      */ | ||||
|     private Integer code; | ||||
|  | ||||
|     /** | ||||
|      * 错误提示 | ||||
|      */ | ||||
|     private String message; | ||||
|  | ||||
|     /** | ||||
|      * 错误明细,内部调试错误 | ||||
|      * | ||||
|      * 和 {@link CommonResult#getDetailMessage()} 一致的设计 | ||||
|      */ | ||||
|     private String detailMessage; | ||||
|  | ||||
|     /** | ||||
|      * 空构造方法,避免反序列化问题 | ||||
|      */ | ||||
|     public ServiceException() | ||||
|     { | ||||
|     } | ||||
|  | ||||
|     public ServiceException(String message) | ||||
|     { | ||||
|         this.message = message; | ||||
|     } | ||||
|  | ||||
|     public ServiceException(String message, Integer code) | ||||
|     { | ||||
|         this.message = message; | ||||
|         this.code = code; | ||||
|     } | ||||
|  | ||||
|     public String getDetailMessage() | ||||
|     { | ||||
|         return detailMessage; | ||||
|     } | ||||
|  | ||||
|     public String getMessage() | ||||
|     { | ||||
|         return message; | ||||
|     } | ||||
|  | ||||
|     public Integer getCode() | ||||
|     { | ||||
|         return code; | ||||
|     } | ||||
|  | ||||
|     public ServiceException setMessage(String message) | ||||
|     { | ||||
|         this.message = message; | ||||
|         return this; | ||||
|     } | ||||
|  | ||||
|     public ServiceException setDetailMessage(String detailMessage) | ||||
|     { | ||||
|         this.detailMessage = detailMessage; | ||||
|         return this; | ||||
|     } | ||||
| } | ||||
| @@ -1,4 +1,4 @@ | ||||
| package com.ruoyi.common.exception; | ||||
| package com.ruoyi.common.exception.base; | ||||
| 
 | ||||
| import com.ruoyi.common.utils.MessageUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| @@ -1,6 +1,6 @@ | ||||
| package com.ruoyi.common.exception.file; | ||||
|  | ||||
| import com.ruoyi.common.exception.BaseException; | ||||
| import com.ruoyi.common.exception.base.BaseException; | ||||
|  | ||||
| /** | ||||
|  * 文件信息异常类 | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| package com.ruoyi.common.exception.user; | ||||
|  | ||||
| import com.ruoyi.common.exception.BaseException; | ||||
| import com.ruoyi.common.exception.base.BaseException; | ||||
|  | ||||
| /** | ||||
|  * 用户信息异常类 | ||||
|   | ||||
| @@ -5,7 +5,7 @@ import org.springframework.security.core.context.SecurityContextHolder; | ||||
| import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; | ||||
| import com.ruoyi.common.constant.HttpStatus; | ||||
| import com.ruoyi.common.core.domain.model.LoginUser; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
|  | ||||
| /** | ||||
|  * 安全服务工具类 | ||||
| @@ -25,7 +25,7 @@ public class SecurityUtils | ||||
|         } | ||||
|         catch (Exception e) | ||||
|         { | ||||
|             throw new CustomException("获取用户ID异常", HttpStatus.UNAUTHORIZED); | ||||
|             throw new ServiceException("获取用户ID异常", HttpStatus.UNAUTHORIZED); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -40,7 +40,7 @@ public class SecurityUtils | ||||
|         } | ||||
|         catch (Exception e) | ||||
|         { | ||||
|             throw new CustomException("获取部门ID异常", HttpStatus.UNAUTHORIZED); | ||||
|             throw new ServiceException("获取部门ID异常", HttpStatus.UNAUTHORIZED); | ||||
|         } | ||||
|     } | ||||
|      | ||||
| @@ -55,7 +55,7 @@ public class SecurityUtils | ||||
|         } | ||||
|         catch (Exception e) | ||||
|         { | ||||
|             throw new CustomException("获取用户账户异常", HttpStatus.UNAUTHORIZED); | ||||
|             throw new ServiceException("获取用户账户异常", HttpStatus.UNAUTHORIZED); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -70,7 +70,7 @@ public class SecurityUtils | ||||
|         } | ||||
|         catch (Exception e) | ||||
|         { | ||||
|             throw new CustomException("获取用户信息异常", HttpStatus.UNAUTHORIZED); | ||||
|             throw new ServiceException("获取用户信息异常", HttpStatus.UNAUTHORIZED); | ||||
|         } | ||||
|     } | ||||
|  | ||||
|   | ||||
| @@ -66,7 +66,7 @@ import com.ruoyi.common.annotation.Excels; | ||||
| import com.ruoyi.common.config.RuoYiConfig; | ||||
| import com.ruoyi.common.core.domain.AjaxResult; | ||||
| import com.ruoyi.common.core.text.Convert; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.UtilException; | ||||
| import com.ruoyi.common.utils.DateUtils; | ||||
| import com.ruoyi.common.utils.DictUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| @@ -450,7 +450,7 @@ public class ExcelUtil<T> | ||||
|         catch (Exception e) | ||||
|         { | ||||
|             log.error("导出Excel异常{}", e.getMessage()); | ||||
|             throw new CustomException("导出Excel失败,请联系网站管理员!"); | ||||
|             throw new UtilException("导出Excel失败,请联系网站管理员!"); | ||||
|         } | ||||
|         finally | ||||
|         { | ||||
|   | ||||
| @@ -1,6 +1,6 @@ | ||||
| package com.ruoyi.common.utils.sql; | ||||
|  | ||||
| import com.ruoyi.common.exception.BaseException; | ||||
| import com.ruoyi.common.exception.UtilException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
|  | ||||
| /** | ||||
| @@ -22,7 +22,7 @@ public class SqlUtil | ||||
|     { | ||||
|         if (StringUtils.isNotEmpty(value) && !isValidOrderBySql(value)) | ||||
|         { | ||||
|             throw new BaseException("参数不符合规范,不能进行查询"); | ||||
|             throw new UtilException("参数不符合规范,不能进行查询"); | ||||
|         } | ||||
|         return value; | ||||
|     } | ||||
|   | ||||
| @@ -1,20 +1,18 @@ | ||||
| package com.ruoyi.framework.web.exception; | ||||
|  | ||||
| import javax.servlet.http.HttpServletRequest; | ||||
| import org.slf4j.Logger; | ||||
| import org.slf4j.LoggerFactory; | ||||
| import org.springframework.security.access.AccessDeniedException; | ||||
| import org.springframework.security.authentication.AccountExpiredException; | ||||
| import org.springframework.security.core.userdetails.UsernameNotFoundException; | ||||
| import org.springframework.validation.BindException; | ||||
| import org.springframework.web.HttpRequestMethodNotSupportedException; | ||||
| import org.springframework.web.bind.MethodArgumentNotValidException; | ||||
| import org.springframework.web.bind.annotation.ExceptionHandler; | ||||
| import org.springframework.web.bind.annotation.RestControllerAdvice; | ||||
| import org.springframework.web.servlet.NoHandlerFoundException; | ||||
| import com.ruoyi.common.constant.HttpStatus; | ||||
| import com.ruoyi.common.core.domain.AjaxResult; | ||||
| import com.ruoyi.common.exception.BaseException; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.DemoModeException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
|  | ||||
| /** | ||||
| @@ -28,59 +26,58 @@ public class GlobalExceptionHandler | ||||
|     private static final Logger log = LoggerFactory.getLogger(GlobalExceptionHandler.class); | ||||
|  | ||||
|     /** | ||||
|      * 基础异常 | ||||
|      * 权限校验异常 | ||||
|      */ | ||||
|     @ExceptionHandler(BaseException.class) | ||||
|     public AjaxResult baseException(BaseException e) | ||||
|     @ExceptionHandler(AccessDeniedException.class) | ||||
|     public AjaxResult handleAccessDeniedException(AccessDeniedException e, HttpServletRequest request) | ||||
|     { | ||||
|         String requestURI = request.getRequestURI(); | ||||
|         log.error("请求地址'{}',权限校验失败'{}'", requestURI, e.getMessage()); | ||||
|         return AjaxResult.error(HttpStatus.FORBIDDEN, "没有权限,请联系管理员授权"); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 请求方式不支持 | ||||
|      */ | ||||
|     @ExceptionHandler(HttpRequestMethodNotSupportedException.class) | ||||
|     public AjaxResult handleHttpRequestMethodNotSupported(HttpRequestMethodNotSupportedException e, | ||||
|             HttpServletRequest request) | ||||
|     { | ||||
|         String requestURI = request.getRequestURI(); | ||||
|         log.error("请求地址'{}',不支持'{}'请求", requestURI, e.getMethod()); | ||||
|         return AjaxResult.error(e.getMessage()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 业务异常 | ||||
|      */ | ||||
|     @ExceptionHandler(CustomException.class) | ||||
|     public AjaxResult businessException(CustomException e) | ||||
|     { | ||||
|         if (StringUtils.isNull(e.getCode())) | ||||
|         { | ||||
|             return AjaxResult.error(e.getMessage()); | ||||
|         } | ||||
|         return AjaxResult.error(e.getCode(), e.getMessage()); | ||||
|     } | ||||
|  | ||||
|     @ExceptionHandler(NoHandlerFoundException.class) | ||||
|     public AjaxResult handlerNoFoundException(Exception e) | ||||
|     @ExceptionHandler(ServiceException.class) | ||||
|     public AjaxResult handleServiceException(ServiceException e, HttpServletRequest request) | ||||
|     { | ||||
|         log.error(e.getMessage(), e); | ||||
|         return AjaxResult.error(HttpStatus.NOT_FOUND, "路径不存在,请检查路径是否正确"); | ||||
|         Integer code = e.getCode(); | ||||
|         return StringUtils.isNotNull(code) ? AjaxResult.error(code, e.getMessage()) : AjaxResult.error(e.getMessage()); | ||||
|     } | ||||
|  | ||||
|     @ExceptionHandler(AccessDeniedException.class) | ||||
|     public AjaxResult handleAuthorizationException(AccessDeniedException e) | ||||
|     /** | ||||
|      * 拦截未知的运行时异常 | ||||
|      */ | ||||
|     @ExceptionHandler(RuntimeException.class) | ||||
|     public AjaxResult handleRuntimeException(RuntimeException e, HttpServletRequest request) | ||||
|     { | ||||
|         log.error(e.getMessage()); | ||||
|         return AjaxResult.error(HttpStatus.FORBIDDEN, "没有权限,请联系管理员授权"); | ||||
|     } | ||||
|  | ||||
|     @ExceptionHandler(AccountExpiredException.class) | ||||
|     public AjaxResult handleAccountExpiredException(AccountExpiredException e) | ||||
|     { | ||||
|         log.error(e.getMessage(), e); | ||||
|         return AjaxResult.error(e.getMessage()); | ||||
|     } | ||||
|  | ||||
|     @ExceptionHandler(UsernameNotFoundException.class) | ||||
|     public AjaxResult handleUsernameNotFoundException(UsernameNotFoundException e) | ||||
|     { | ||||
|         log.error(e.getMessage(), e); | ||||
|         String requestURI = request.getRequestURI(); | ||||
|         log.error("请求地址'{}',发生未知异常.", requestURI, e); | ||||
|         return AjaxResult.error(e.getMessage()); | ||||
|     } | ||||
|  | ||||
|     /** | ||||
|      * 系统异常 | ||||
|      */ | ||||
|     @ExceptionHandler(Exception.class) | ||||
|     public AjaxResult handleException(Exception e) | ||||
|     public AjaxResult handleException(Exception e, HttpServletRequest request) | ||||
|     { | ||||
|         log.error(e.getMessage(), e); | ||||
|         String requestURI = request.getRequestURI(); | ||||
|         log.error("请求地址'{}',发生系统异常.", requestURI, e); | ||||
|         return AjaxResult.error(e.getMessage()); | ||||
|     } | ||||
|  | ||||
| @@ -88,7 +85,7 @@ public class GlobalExceptionHandler | ||||
|      * 自定义验证异常 | ||||
|      */ | ||||
|     @ExceptionHandler(BindException.class) | ||||
|     public AjaxResult validatedBindException(BindException e) | ||||
|     public AjaxResult handleBindException(BindException e) | ||||
|     { | ||||
|         log.error(e.getMessage(), e); | ||||
|         String message = e.getAllErrors().get(0).getDefaultMessage(); | ||||
| @@ -99,7 +96,7 @@ public class GlobalExceptionHandler | ||||
|      * 自定义验证异常 | ||||
|      */ | ||||
|     @ExceptionHandler(MethodArgumentNotValidException.class) | ||||
|     public Object validExceptionHandler(MethodArgumentNotValidException e) | ||||
|     public Object handleMethodArgumentNotValidException(MethodArgumentNotValidException e) | ||||
|     { | ||||
|         log.error(e.getMessage(), e); | ||||
|         String message = e.getBindingResult().getFieldError().getDefaultMessage(); | ||||
| @@ -110,7 +107,7 @@ public class GlobalExceptionHandler | ||||
|      * 演示模式异常 | ||||
|      */ | ||||
|     @ExceptionHandler(DemoModeException.class) | ||||
|     public AjaxResult demoModeException(DemoModeException e) | ||||
|     public AjaxResult handleDemoModeException(DemoModeException e) | ||||
|     { | ||||
|         return AjaxResult.error("演示模式,不允许操作"); | ||||
|     } | ||||
|   | ||||
| @@ -11,7 +11,7 @@ import com.ruoyi.common.constant.Constants; | ||||
| import com.ruoyi.common.core.domain.entity.SysUser; | ||||
| import com.ruoyi.common.core.domain.model.LoginUser; | ||||
| import com.ruoyi.common.core.redis.RedisCache; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.exception.user.CaptchaException; | ||||
| import com.ruoyi.common.exception.user.CaptchaExpireException; | ||||
| import com.ruoyi.common.exception.user.UserPasswordNotMatchException; | ||||
| @@ -82,7 +82,7 @@ public class SysLoginService | ||||
|             else | ||||
|             { | ||||
|                 AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage())); | ||||
|                 throw new CustomException(e.getMessage()); | ||||
|                 throw new ServiceException(e.getMessage()); | ||||
|             } | ||||
|         } | ||||
|         AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"))); | ||||
|   | ||||
| @@ -10,7 +10,7 @@ import org.springframework.stereotype.Service; | ||||
| import com.ruoyi.common.core.domain.entity.SysUser; | ||||
| import com.ruoyi.common.core.domain.model.LoginUser; | ||||
| import com.ruoyi.common.enums.UserStatus; | ||||
| import com.ruoyi.common.exception.BaseException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.service.ISysUserService; | ||||
|  | ||||
| @@ -37,17 +37,17 @@ public class UserDetailsServiceImpl implements UserDetailsService | ||||
|         if (StringUtils.isNull(user)) | ||||
|         { | ||||
|             log.info("登录用户:{} 不存在.", username); | ||||
|             throw new UsernameNotFoundException("登录用户:" + username + " 不存在"); | ||||
|             throw new ServiceException("登录用户:" + username + " 不存在"); | ||||
|         } | ||||
|         else if (UserStatus.DELETED.getCode().equals(user.getDelFlag())) | ||||
|         { | ||||
|             log.info("登录用户:{} 已被删除.", username); | ||||
|             throw new BaseException("对不起,您的账号:" + username + " 已被删除"); | ||||
|             throw new ServiceException("对不起,您的账号:" + username + " 已被删除"); | ||||
|         } | ||||
|         else if (UserStatus.DISABLE.getCode().equals(user.getStatus())) | ||||
|         { | ||||
|             log.info("登录用户:{} 已被停用.", username); | ||||
|             throw new BaseException("对不起,您的账号:" + username + " 已停用"); | ||||
|             throw new ServiceException("对不起,您的账号:" + username + " 已停用"); | ||||
|         } | ||||
|  | ||||
|         return createLoginUser(user); | ||||
|   | ||||
| @@ -25,7 +25,7 @@ import com.alibaba.fastjson.JSONObject; | ||||
| import com.ruoyi.common.constant.Constants; | ||||
| import com.ruoyi.common.constant.GenConstants; | ||||
| import com.ruoyi.common.core.text.CharsetKit; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.SecurityUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.generator.domain.GenTable; | ||||
| @@ -180,7 +180,7 @@ public class GenTableServiceImpl implements IGenTableService | ||||
|         } | ||||
|         catch (Exception e) | ||||
|         { | ||||
|             throw new CustomException("导入失败:" + e.getMessage()); | ||||
|             throw new ServiceException("导入失败:" + e.getMessage()); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -269,7 +269,7 @@ public class GenTableServiceImpl implements IGenTableService | ||||
|                 } | ||||
|                 catch (IOException e) | ||||
|                 { | ||||
|                     throw new CustomException("渲染模板失败,表名:" + table.getTableName()); | ||||
|                     throw new ServiceException("渲染模板失败,表名:" + table.getTableName()); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
| @@ -291,7 +291,7 @@ public class GenTableServiceImpl implements IGenTableService | ||||
|         List<GenTableColumn> dbTableColumns = genTableColumnMapper.selectDbTableColumnsByName(tableName); | ||||
|         if (StringUtils.isEmpty(dbTableColumns)) | ||||
|         { | ||||
|             throw new CustomException("同步数据失败,原表结构不存在"); | ||||
|             throw new ServiceException("同步数据失败,原表结构不存在"); | ||||
|         } | ||||
|         List<String> dbTableColumnNames = dbTableColumns.stream().map(GenTableColumn::getColumnName).collect(Collectors.toList()); | ||||
|  | ||||
| @@ -383,25 +383,25 @@ public class GenTableServiceImpl implements IGenTableService | ||||
|             JSONObject paramsObj = JSONObject.parseObject(options); | ||||
|             if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_CODE))) | ||||
|             { | ||||
|                 throw new CustomException("树编码字段不能为空"); | ||||
|                 throw new ServiceException("树编码字段不能为空"); | ||||
|             } | ||||
|             else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_PARENT_CODE))) | ||||
|             { | ||||
|                 throw new CustomException("树父编码字段不能为空"); | ||||
|                 throw new ServiceException("树父编码字段不能为空"); | ||||
|             } | ||||
|             else if (StringUtils.isEmpty(paramsObj.getString(GenConstants.TREE_NAME))) | ||||
|             { | ||||
|                 throw new CustomException("树名称字段不能为空"); | ||||
|                 throw new ServiceException("树名称字段不能为空"); | ||||
|             } | ||||
|             else if (GenConstants.TPL_SUB.equals(genTable.getTplCategory())) | ||||
|             { | ||||
|                 if (StringUtils.isEmpty(genTable.getSubTableName())) | ||||
|                 { | ||||
|                     throw new CustomException("关联子表的表名不能为空"); | ||||
|                     throw new ServiceException("关联子表的表名不能为空"); | ||||
|                 } | ||||
|                 else if (StringUtils.isEmpty(genTable.getSubTableFkName())) | ||||
|                 { | ||||
|                     throw new CustomException("子表关联的外键名不能为空"); | ||||
|                     throw new ServiceException("子表关联的外键名不能为空"); | ||||
|                 } | ||||
|             } | ||||
|         } | ||||
|   | ||||
| @@ -6,7 +6,7 @@ import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.redis.RedisCache; | ||||
| import com.ruoyi.common.core.text.Convert; | ||||
| import com.ruoyi.common.enums.DataSourceType; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.domain.SysConfig; | ||||
| import com.ruoyi.system.mapper.SysConfigMapper; | ||||
| @@ -156,7 +156,7 @@ public class SysConfigServiceImpl implements ISysConfigService | ||||
|             SysConfig config = selectConfigById(configId); | ||||
|             if (StringUtils.equals(UserConstants.YES, config.getConfigType())) | ||||
|             { | ||||
|                 throw new CustomException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); | ||||
|                 throw new ServiceException(String.format("内置参数【%1$s】不能删除 ", config.getConfigKey())); | ||||
|             } | ||||
|             configMapper.deleteConfigById(configId); | ||||
|             redisCache.deleteObject(getCacheKey(config.getConfigKey())); | ||||
|   | ||||
| @@ -12,7 +12,7 @@ import com.ruoyi.common.core.domain.TreeSelect; | ||||
| import com.ruoyi.common.core.domain.entity.SysDept; | ||||
| import com.ruoyi.common.core.domain.entity.SysRole; | ||||
| import com.ruoyi.common.core.text.Convert; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.mapper.SysDeptMapper; | ||||
| import com.ruoyi.system.mapper.SysRoleMapper; | ||||
| @@ -184,7 +184,7 @@ public class SysDeptServiceImpl implements ISysDeptService | ||||
|         // 如果父节点不为正常状态,则不允许新增子节点 | ||||
|         if (!UserConstants.DEPT_NORMAL.equals(info.getStatus())) | ||||
|         { | ||||
|             throw new CustomException("部门停用,不允许新增"); | ||||
|             throw new ServiceException("部门停用,不允许新增"); | ||||
|         } | ||||
|         dept.setAncestors(info.getAncestors() + "," + dept.getParentId()); | ||||
|         return deptMapper.insertDept(dept); | ||||
|   | ||||
| @@ -3,7 +3,7 @@ package com.ruoyi.system.service.impl; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.entity.SysDictData; | ||||
| import com.ruoyi.common.core.domain.entity.SysDictType; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.DictUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.mapper.SysDictDataMapper; | ||||
| @@ -122,7 +122,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService | ||||
|             SysDictType dictType = selectDictTypeById(dictId); | ||||
|             if (dictDataMapper.countDictDataByType(dictType.getDictType()) > 0) | ||||
|             { | ||||
|                 throw new CustomException(String.format("%1$s已分配,不能删除", dictType.getDictName())); | ||||
|                 throw new ServiceException(String.format("%1$s已分配,不能删除", dictType.getDictName())); | ||||
|             } | ||||
|             dictTypeMapper.deleteDictTypeById(dictId); | ||||
|             DictUtils.removeDictCache(dictType.getDictType()); | ||||
|   | ||||
| @@ -4,7 +4,7 @@ import java.util.List; | ||||
| import org.springframework.beans.factory.annotation.Autowired; | ||||
| import org.springframework.stereotype.Service; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.domain.SysPost; | ||||
| import com.ruoyi.system.mapper.SysPostMapper; | ||||
| @@ -147,7 +147,7 @@ public class SysPostServiceImpl implements ISysPostService | ||||
|             SysPost post = selectPostById(postId); | ||||
|             if (countUserPostById(postId) > 0) | ||||
|             { | ||||
|                 throw new CustomException(String.format("%1$s已分配,不能删除", post.getPostName())); | ||||
|                 throw new ServiceException(String.format("%1$s已分配,不能删除", post.getPostName())); | ||||
|             } | ||||
|         } | ||||
|         return postMapper.deletePostByIds(postIds); | ||||
|   | ||||
| @@ -11,7 +11,7 @@ import org.springframework.transaction.annotation.Transactional; | ||||
| import com.ruoyi.common.annotation.DataScope; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.entity.SysRole; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.common.utils.spring.SpringUtils; | ||||
| import com.ruoyi.system.domain.SysRoleDept; | ||||
| @@ -183,7 +183,7 @@ public class SysRoleServiceImpl implements ISysRoleService | ||||
|     { | ||||
|         if (StringUtils.isNotNull(role.getRoleId()) && role.isAdmin()) | ||||
|         { | ||||
|             throw new CustomException("不允许操作超级管理员角色"); | ||||
|             throw new ServiceException("不允许操作超级管理员角色"); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -342,7 +342,7 @@ public class SysRoleServiceImpl implements ISysRoleService | ||||
|             SysRole role = selectRoleById(roleId); | ||||
|             if (countUserRoleByRoleId(roleId) > 0) | ||||
|             { | ||||
|                 throw new CustomException(String.format("%1$s已分配,不能删除", role.getRoleName())); | ||||
|                 throw new ServiceException(String.format("%1$s已分配,不能删除", role.getRoleName())); | ||||
|             } | ||||
|         } | ||||
|         // 删除角色与菜单关联 | ||||
|   | ||||
| @@ -11,7 +11,7 @@ import com.ruoyi.common.annotation.DataScope; | ||||
| import com.ruoyi.common.constant.UserConstants; | ||||
| import com.ruoyi.common.core.domain.entity.SysRole; | ||||
| import com.ruoyi.common.core.domain.entity.SysUser; | ||||
| import com.ruoyi.common.exception.CustomException; | ||||
| import com.ruoyi.common.exception.ServiceException; | ||||
| import com.ruoyi.common.utils.SecurityUtils; | ||||
| import com.ruoyi.common.utils.StringUtils; | ||||
| import com.ruoyi.system.domain.SysPost; | ||||
| @@ -223,7 +223,7 @@ public class SysUserServiceImpl implements ISysUserService | ||||
|     { | ||||
|         if (StringUtils.isNotNull(user.getUserId()) && user.isAdmin()) | ||||
|         { | ||||
|             throw new CustomException("不允许操作超级管理员用户"); | ||||
|             throw new ServiceException("不允许操作超级管理员用户"); | ||||
|         } | ||||
|     } | ||||
|  | ||||
| @@ -485,7 +485,7 @@ public class SysUserServiceImpl implements ISysUserService | ||||
|     { | ||||
|         if (StringUtils.isNull(userList) || userList.size() == 0) | ||||
|         { | ||||
|             throw new CustomException("导入用户数据不能为空!"); | ||||
|             throw new ServiceException("导入用户数据不能为空!"); | ||||
|         } | ||||
|         int successNum = 0; | ||||
|         int failureNum = 0; | ||||
| @@ -530,7 +530,7 @@ public class SysUserServiceImpl implements ISysUserService | ||||
|         if (failureNum > 0) | ||||
|         { | ||||
|             failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); | ||||
|             throw new CustomException(failureMsg.toString()); | ||||
|             throw new ServiceException(failureMsg.toString()); | ||||
|         } | ||||
|         else | ||||
|         { | ||||
|   | ||||
		Reference in New Issue
	
	Block a user