Browse Source

feat: 处理异常机制信息

master
niushuai233 3 years ago
parent
commit
2cd42e80d1
  1. 35
      src/main/java/cc/niushuai/bastionserver/common/aspect/AutoLogAspect.java
  2. 2
      src/main/java/cc/niushuai/bastionserver/common/base/controller/BaseController.java
  3. 15
      src/main/java/cc/niushuai/bastionserver/common/exception/BusinessException.java
  4. 2
      src/main/java/cc/niushuai/bastionserver/common/exception/GlobalExceptionHandler.java

35
src/main/java/cc/niushuai/bastionserver/common/aspect/AutoLogAspect.java

@ -1,15 +1,12 @@ @@ -1,15 +1,12 @@
package cc.niushuai.bastionserver.common.aspect;
import cc.niushuai.bastionserver.common.api.dto.LogDTO;
import cc.niushuai.bastionserver.common.api.vo.Result;
import cc.niushuai.bastionserver.common.aspect.annotation.AutoLog;
import cc.niushuai.bastionserver.common.constant.CommonConstant;
import cc.niushuai.bastionserver.common.constant.enums.ModuleType;
import cc.niushuai.bastionserver.common.constant.enums.OperateTypeEnum;
import cc.niushuai.bastionserver.common.system.vo.LoginUser;
import cc.niushuai.bastionserver.common.util.IpUtils;
import cc.niushuai.bastionserver.common.util.SpringContextUtils;
import cc.niushuai.bastionserver.common.util.oConvertUtils;
import cc.niushuai.bastionserver.modules.base.service.BaseCommonService;
import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.serializer.PropertyFilter;
@ -73,14 +70,9 @@ public class AutoLogAspect { @@ -73,14 +70,9 @@ public class AutoLogAspect {
LogDTO dto = new LogDTO();
AutoLog syslog = method.getAnnotation(AutoLog.class);
if (syslog != null) {
//update-begin-author:taoyan date:
String content = syslog.value();
if (syslog.module() == ModuleType.ONLINE) {
content = getOnlineLogContent(obj, content);
}
//注解上的描述,操作日志内容
// 注解上的描述,操作日志内容
dto.setLogType(syslog.logType());
dto.setLogContent(content);
dto.setLogContent(syslog.value());
}
//请求的方法名
@ -181,29 +173,6 @@ public class AutoLogAspect { @@ -181,29 +173,6 @@ public class AutoLogAspect {
return params;
}
/**
* online日志内容拼接
*
* @param obj
* @param content
* @return
*/
private String getOnlineLogContent(Object obj, String content) {
if (Result.class.isInstance(obj)) {
Result res = (Result) obj;
String msg = res.getMessage();
String tableName = res.getOnlTable();
if (oConvertUtils.isNotEmpty(tableName)) {
content += ",表名:" + tableName;
}
if (res.isSuccess()) {
content += "," + (oConvertUtils.isEmpty(msg) ? "操作成功" : msg);
} else {
content += "," + (oConvertUtils.isEmpty(msg) ? "操作失败" : msg);
}
}
return content;
}
/* private void saveSysLog(ProceedingJoinPoint joinPoint, long time, Object obj) {

2
src/main/java/cc/niushuai/bastionserver/common/base/controller/BaseController.java

@ -251,7 +251,7 @@ public class BaseController<T, S extends IService<T>> { @@ -251,7 +251,7 @@ public class BaseController<T, S extends IService<T>> {
boolean exists = service.getBaseMapper().exists(wrapper);
if (exists) {
throw new BusinessException("数据已存在");
throw new BusinessException("数据库中已存在该记录");
}
}

15
src/main/java/cc/niushuai/bastionserver/common/exception/BusinessException.java

@ -16,16 +16,13 @@ public class BusinessException extends RuntimeException { @@ -16,16 +16,13 @@ public class BusinessException extends RuntimeException {
private static final long serialVersionUID = 1L;
private int code;
private Integer code;
private String message;
private Object[] params;
public BusinessException(String message) {
super(message);
}
public BusinessException(Throwable cause) {
super(cause);
this.code = CommonConstant.INTERNAL_SERVER_ERROR_500;
this.message = message;
}
public BusinessException(int code, String message) {
@ -34,17 +31,15 @@ public class BusinessException extends RuntimeException { @@ -34,17 +31,15 @@ public class BusinessException extends RuntimeException {
}
public BusinessException(String message, Object... params) {
super(message);
this.code = CommonConstant.INTERNAL_SERVER_ERROR_500;
this.params = params;
this.message = StrUtil.format(message, params);
this.params = params;
}
public BusinessException(int code, String message, Object... params) {
super(message);
this.code = code;
this.params = params;
this.message = StrUtil.format(message, params);
this.params = params;
}
public BusinessException(String message, Throwable cause) {

2
src/main/java/cc/niushuai/bastionserver/common/exception/GlobalExceptionHandler.java

@ -93,7 +93,7 @@ public class GlobalExceptionHandler { @@ -93,7 +93,7 @@ public class GlobalExceptionHandler {
public Result<?> handleDataIntegrityViolationException(DataIntegrityViolationException e) {
log.error(e.getMessage(), e);
//【issues/3624】数据库执行异常handleDataIntegrityViolationException提示有误 #3624
return Result.error("执行数据库异常,违反了完整性例如:违反一约束、违反非空限制、字段内容超出长度等");
return Result.error("执行数据库异常,违反了完整性例如:违反一约束、违反非空限制、字段内容超出长度等");
}
@ExceptionHandler(PoolException.class)

Loading…
Cancel
Save