mirror of
https://github.com/dromara/RuoYi-Vue-Plus.git
synced 2025-09-18 01:06:40 +08:00
update 新增支持占位符格式的 ServiceException 构造方法
- 新增 ServiceException(String message, Object... args) 构造器,内部使用 Hutool StrFormatter.format 格式化消息 - 解决日志打印和异常抛出信息格式不统一的问题,统一使用 {} 占位符 - 优化异常消息书写,简化拼接,提升代码可读性和维护性
This commit is contained in:
parent
901992674e
commit
7357912681
@ -1,11 +1,15 @@
|
|||||||
package org.dromara.common.core.exception;
|
package org.dromara.common.core.exception;
|
||||||
|
|
||||||
import lombok.*;
|
import cn.hutool.core.text.StrFormatter;
|
||||||
|
import lombok.AllArgsConstructor;
|
||||||
|
import lombok.Data;
|
||||||
|
import lombok.EqualsAndHashCode;
|
||||||
|
import lombok.NoArgsConstructor;
|
||||||
|
|
||||||
import java.io.Serial;
|
import java.io.Serial;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 业务异常
|
* 业务异常(支持占位符 {} )
|
||||||
*
|
*
|
||||||
* @author ruoyi
|
* @author ruoyi
|
||||||
*/
|
*/
|
||||||
@ -42,6 +46,10 @@ public final class ServiceException extends RuntimeException {
|
|||||||
this.code = code;
|
this.code = code;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public ServiceException(String message, Object... args) {
|
||||||
|
this.message = StrFormatter.format(message, args);
|
||||||
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public String getMessage() {
|
public String getMessage() {
|
||||||
return message;
|
return message;
|
||||||
|
@ -293,7 +293,7 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
|
|||||||
|
|
||||||
// 校验时间跨度不超过最大限制
|
// 校验时间跨度不超过最大限制
|
||||||
if (diff > maxValue) {
|
if (diff > maxValue) {
|
||||||
throw new ServiceException("最大时间跨度为 " + maxValue + " " + unit.toString().toLowerCase());
|
throw new ServiceException("最大时间跨度为 {} {}", maxValue, unit.toString().toLowerCase());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -104,7 +104,7 @@ public class ExcelDownHandler implements SheetWriteHandler {
|
|||||||
if (StringUtils.isNotBlank(dictType)) {
|
if (StringUtils.isNotBlank(dictType)) {
|
||||||
// 如果传递了字典名,则依据字典建立下拉
|
// 如果传递了字典名,则依据字典建立下拉
|
||||||
Collection<String> values = Optional.ofNullable(dictService.getAllDictByDictType(dictType))
|
Collection<String> values = Optional.ofNullable(dictService.getAllDictByDictType(dictType))
|
||||||
.orElseThrow(() -> new ServiceException(String.format("字典 %s 不存在", dictType)))
|
.orElseThrow(() -> new ServiceException("字典 {} 不存在", dictType))
|
||||||
.values();
|
.values();
|
||||||
options = new ArrayList<>(values);
|
options = new ArrayList<>(values);
|
||||||
} else if (StringUtils.isNotBlank(converterExp)) {
|
} else if (StringUtils.isNotBlank(converterExp)) {
|
||||||
|
@ -172,7 +172,7 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
|
|||||||
List<SysConfig> list = baseMapper.selectByIds(configIds);
|
List<SysConfig> list = baseMapper.selectByIds(configIds);
|
||||||
list.forEach(config -> {
|
list.forEach(config -> {
|
||||||
if (StringUtils.equals(SystemConstants.YES, config.getConfigType())) {
|
if (StringUtils.equals(SystemConstants.YES, config.getConfigType())) {
|
||||||
throw new ServiceException(String.format("内置参数【%s】不能删除", config.getConfigKey()));
|
throw new ServiceException("内置参数【{}】不能删除", config.getConfigKey());
|
||||||
}
|
}
|
||||||
CacheUtils.evict(CacheNames.SYS_CONFIG, config.getConfigKey());
|
CacheUtils.evict(CacheNames.SYS_CONFIG, config.getConfigKey());
|
||||||
});
|
});
|
||||||
|
@ -143,7 +143,7 @@ public class SysDictTypeServiceImpl implements ISysDictTypeService, DictService
|
|||||||
boolean assigned = dictDataMapper.exists(new LambdaQueryWrapper<SysDictData>()
|
boolean assigned = dictDataMapper.exists(new LambdaQueryWrapper<SysDictData>()
|
||||||
.eq(SysDictData::getDictType, x.getDictType()));
|
.eq(SysDictData::getDictType, x.getDictType()));
|
||||||
if (assigned) {
|
if (assigned) {
|
||||||
throw new ServiceException(String.format("%1$s已分配,不能删除", x.getDictName()));
|
throw new ServiceException("{}已分配,不能删除", x.getDictName());
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
baseMapper.deleteByIds(dictIds);
|
baseMapper.deleteByIds(dictIds);
|
||||||
|
@ -120,7 +120,7 @@ public class SysOssConfigServiceImpl implements ISysOssConfigService {
|
|||||||
private void validEntityBeforeSave(SysOssConfig entity) {
|
private void validEntityBeforeSave(SysOssConfig entity) {
|
||||||
if (StringUtils.isNotEmpty(entity.getConfigKey())
|
if (StringUtils.isNotEmpty(entity.getConfigKey())
|
||||||
&& !checkConfigKeyUnique(entity)) {
|
&& !checkConfigKeyUnique(entity)) {
|
||||||
throw new ServiceException("操作配置'" + entity.getConfigKey() + "'失败, 配置key已存在!");
|
throw new ServiceException("操作配置'{}'失败, 配置key已存在!", entity.getConfigKey());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -225,7 +225,7 @@ public class SysPostServiceImpl implements ISysPostService, PostService {
|
|||||||
List<SysPost> list = baseMapper.selectByIds(postIds);
|
List<SysPost> list = baseMapper.selectByIds(postIds);
|
||||||
for (SysPost post : list) {
|
for (SysPost post : list) {
|
||||||
if (this.countUserPostById(post.getPostId()) > 0) {
|
if (this.countUserPostById(post.getPostId()) > 0) {
|
||||||
throw new ServiceException(String.format("%1$s已分配,不能删除!", post.getPostName()));
|
throw new ServiceException("{}已分配,不能删除!", post.getPostName());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return baseMapper.deleteByIds(postIds);
|
return baseMapper.deleteByIds(postIds);
|
||||||
|
@ -354,7 +354,7 @@ public class SysUserServiceImpl implements ISysUserService, UserService {
|
|||||||
// 防止错误更新后导致的数据误删除
|
// 防止错误更新后导致的数据误删除
|
||||||
int flag = baseMapper.updateById(sysUser);
|
int flag = baseMapper.updateById(sysUser);
|
||||||
if (flag < 1) {
|
if (flag < 1) {
|
||||||
throw new ServiceException("修改用户" + user.getUserName() + "信息失败");
|
throw new ServiceException("修改用户{}信息失败", user.getUserName());
|
||||||
}
|
}
|
||||||
return flag;
|
return flag;
|
||||||
}
|
}
|
||||||
|
@ -128,7 +128,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (CollUtil.isNotEmpty(errorMsg)) {
|
if (CollUtil.isNotEmpty(errorMsg)) {
|
||||||
throw new ServiceException("节点【" + StringUtils.join(errorMsg, ",") + "】未配置办理人!");
|
throw new ServiceException("节点【{}】未配置办理人!", String.join(",", errorMsg));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return defService.publish(id);
|
return defService.publish(id);
|
||||||
@ -188,7 +188,7 @@ public class FlwDefinitionServiceImpl implements IFlwDefinitionService {
|
|||||||
if (CollUtil.isNotEmpty(flowDefinitions)) {
|
if (CollUtil.isNotEmpty(flowDefinitions)) {
|
||||||
String join = StreamUtils.join(flowDefinitions, FlowDefinition::getFlowCode);
|
String join = StreamUtils.join(flowDefinitions, FlowDefinition::getFlowCode);
|
||||||
log.info("流程定义【{}】已被使用不可被删除!", join);
|
log.info("流程定义【{}】已被使用不可被删除!", join);
|
||||||
throw new ServiceException("流程定义【" + join + "】已被使用不可被删除!");
|
throw new ServiceException("流程定义【{}】已被使用不可被删除!", join);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
|
Loading…
Reference in New Issue
Block a user