Merge remote-tracking branch 'origin/master'
This commit is contained in:
@@ -1,255 +1,255 @@
|
|||||||
//package com.njcn.gather.event.transientes.handler;
|
package com.njcn.gather.event.transientes.handler;
|
||||||
//
|
|
||||||
//import cn.hutool.core.text.StrFormatter;
|
import cn.hutool.core.text.StrFormatter;
|
||||||
//import cn.hutool.core.util.StrUtil;
|
import cn.hutool.core.util.StrUtil;
|
||||||
//import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
import com.njcn.common.pojo.enums.response.CommonResponseEnum;
|
||||||
//import com.njcn.common.pojo.exception.BusinessException;
|
import com.njcn.common.pojo.exception.BusinessException;
|
||||||
//import com.njcn.common.pojo.response.HttpResult;
|
import com.njcn.common.pojo.response.HttpResult;
|
||||||
//import com.njcn.common.utils.LogUtil;
|
import com.njcn.common.utils.LogUtil;
|
||||||
//import com.njcn.web.utils.HttpResultUtil;
|
import com.njcn.web.utils.HttpResultUtil;
|
||||||
//import com.njcn.web.utils.HttpServletUtil;
|
import com.njcn.web.utils.HttpServletUtil;
|
||||||
//import com.njcn.web.utils.ReflectCommonUtil;
|
import com.njcn.web.utils.ReflectCommonUtil;
|
||||||
//import lombok.AllArgsConstructor;
|
import lombok.AllArgsConstructor;
|
||||||
//import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
//import org.json.JSONException;
|
import org.json.JSONException;
|
||||||
//import org.springframework.validation.ObjectError;
|
import org.springframework.validation.ObjectError;
|
||||||
//import org.springframework.web.HttpMediaTypeNotSupportedException;
|
import org.springframework.web.HttpMediaTypeNotSupportedException;
|
||||||
//import org.springframework.web.bind.MethodArgumentNotValidException;
|
import org.springframework.web.bind.MethodArgumentNotValidException;
|
||||||
//import org.springframework.web.bind.annotation.ExceptionHandler;
|
import org.springframework.web.bind.annotation.ExceptionHandler;
|
||||||
//import org.springframework.web.bind.annotation.RestControllerAdvice;
|
import org.springframework.web.bind.annotation.RestControllerAdvice;
|
||||||
//import org.springframework.web.util.NestedServletException;
|
import org.springframework.web.util.NestedServletException;
|
||||||
//
|
|
||||||
//import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
//import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletRequest;
|
||||||
//import javax.validation.ConstraintViolation;
|
import javax.validation.ConstraintViolation;
|
||||||
//import javax.validation.ConstraintViolationException;
|
import javax.validation.ConstraintViolationException;
|
||||||
//import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
//import java.util.List;
|
import java.util.List;
|
||||||
//import java.util.concurrent.*;
|
import java.util.concurrent.*;
|
||||||
//import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
//import java.util.stream.Stream;
|
import java.util.stream.Stream;
|
||||||
//
|
|
||||||
///**
|
/**
|
||||||
// * 全局通用业务异常处理器
|
* 全局通用业务异常处理器
|
||||||
// *
|
*
|
||||||
// * @author hongawen
|
* @author hongawen
|
||||||
// * @version 1.0.0
|
* @version 1.0.0
|
||||||
// * @date 2021年04月20日 18:04
|
* @date 2021年04月20日 18:04
|
||||||
// */
|
*/
|
||||||
//@Slf4j
|
@Slf4j
|
||||||
//@AllArgsConstructor
|
@AllArgsConstructor
|
||||||
//@RestControllerAdvice
|
@RestControllerAdvice
|
||||||
//public class GlobalBusinessExceptionHandler {
|
public class GlobalBusinessExceptionHandler {
|
||||||
//
|
|
||||||
//
|
|
||||||
//
|
|
||||||
// private final ThreadPoolExecutor executor = new ThreadPoolExecutor(
|
private final ThreadPoolExecutor executor = new ThreadPoolExecutor(
|
||||||
// 4, 8, 30, TimeUnit.SECONDS,
|
4, 8, 30, TimeUnit.SECONDS,
|
||||||
// new LinkedBlockingQueue<>(100),
|
new LinkedBlockingQueue<>(100),
|
||||||
// // 队列满时由主线程执行
|
// 队列满时由主线程执行
|
||||||
// new ThreadPoolExecutor.CallerRunsPolicy()
|
new ThreadPoolExecutor.CallerRunsPolicy()
|
||||||
// );
|
);
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 捕获业务功能异常,通常为业务数据抛出的异常
|
* 捕获业务功能异常,通常为业务数据抛出的异常
|
||||||
// *
|
*
|
||||||
// * @param businessException 业务异常
|
* @param businessException 业务异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(BusinessException.class)
|
@ExceptionHandler(BusinessException.class)
|
||||||
// public HttpResult<String> handleBusinessException(BusinessException businessException) {
|
public HttpResult<String> handleBusinessException(BusinessException businessException) {
|
||||||
// String operate = ReflectCommonUtil.getMethodDescribeByException(businessException);
|
String operate = ReflectCommonUtil.getMethodDescribeByException(businessException);
|
||||||
// // recodeBusinessExceptionLog(businessException, businessException.getMessage());
|
// recodeBusinessExceptionLog(businessException, businessException.getMessage());
|
||||||
// return HttpResultUtil.assembleBusinessExceptionResult(businessException, null, operate);
|
return HttpResultUtil.assembleBusinessExceptionResult(businessException, null, operate);
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 空指针异常捕捉
|
* 空指针异常捕捉
|
||||||
// *
|
*
|
||||||
// * @param nullPointerException 空指针异常
|
* @param nullPointerException 空指针异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(NullPointerException.class)
|
@ExceptionHandler(NullPointerException.class)
|
||||||
// public HttpResult<String> handleNullPointerException(NullPointerException nullPointerException) {
|
public HttpResult<String> handleNullPointerException(NullPointerException nullPointerException) {
|
||||||
// LogUtil.logExceptionStackInfo(CommonResponseEnum.NULL_POINTER_EXCEPTION.getMessage(), nullPointerException);
|
LogUtil.logExceptionStackInfo(CommonResponseEnum.NULL_POINTER_EXCEPTION.getMessage(), nullPointerException);
|
||||||
// //recodeBusinessExceptionLog(nullPointerException, CommonResponseEnum.NULL_POINTER_EXCEPTION.getMessage());
|
//recodeBusinessExceptionLog(nullPointerException, CommonResponseEnum.NULL_POINTER_EXCEPTION.getMessage());
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NULL_POINTER_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(nullPointerException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.NULL_POINTER_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(nullPointerException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 算数运算异常
|
* 算数运算异常
|
||||||
// *
|
*
|
||||||
// * @param arithmeticException 算数运算异常,由于除数为0引起的异常
|
* @param arithmeticException 算数运算异常,由于除数为0引起的异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(ArithmeticException.class)
|
@ExceptionHandler(ArithmeticException.class)
|
||||||
// public HttpResult<String> handleArithmeticException(ArithmeticException arithmeticException) {
|
public HttpResult<String> handleArithmeticException(ArithmeticException arithmeticException) {
|
||||||
// LogUtil.logExceptionStackInfo(CommonResponseEnum.ARITHMETIC_EXCEPTION.getMessage(), arithmeticException);
|
LogUtil.logExceptionStackInfo(CommonResponseEnum.ARITHMETIC_EXCEPTION.getMessage(), arithmeticException);
|
||||||
// // recodeBusinessExceptionLog(arithmeticException, CommonResponseEnum.ARITHMETIC_EXCEPTION.getMessage());
|
// recodeBusinessExceptionLog(arithmeticException, CommonResponseEnum.ARITHMETIC_EXCEPTION.getMessage());
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.ARITHMETIC_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(arithmeticException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.ARITHMETIC_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(arithmeticException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 类型转换异常捕捉
|
* 类型转换异常捕捉
|
||||||
// *
|
*
|
||||||
// * @param classCastException 类型转换异常
|
* @param classCastException 类型转换异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(ClassCastException.class)
|
@ExceptionHandler(ClassCastException.class)
|
||||||
// public HttpResult<String> handleClassCastException(ClassCastException classCastException) {
|
public HttpResult<String> handleClassCastException(ClassCastException classCastException) {
|
||||||
// LogUtil.logExceptionStackInfo(CommonResponseEnum.CLASS_CAST_EXCEPTION.getMessage(), classCastException);
|
LogUtil.logExceptionStackInfo(CommonResponseEnum.CLASS_CAST_EXCEPTION.getMessage(), classCastException);
|
||||||
// // recodeBusinessExceptionLog(classCastException, CommonResponseEnum.CLASS_CAST_EXCEPTION.getMessage());
|
// recodeBusinessExceptionLog(classCastException, CommonResponseEnum.CLASS_CAST_EXCEPTION.getMessage());
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.CLASS_CAST_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(classCastException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.CLASS_CAST_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(classCastException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 索引下标越界异常捕捉
|
* 索引下标越界异常捕捉
|
||||||
// *
|
*
|
||||||
// * @param indexOutOfBoundsException 索引下标越界异常
|
* @param indexOutOfBoundsException 索引下标越界异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(IndexOutOfBoundsException.class)
|
@ExceptionHandler(IndexOutOfBoundsException.class)
|
||||||
// public HttpResult<String> handleIndexOutOfBoundsException(IndexOutOfBoundsException indexOutOfBoundsException) {
|
public HttpResult<String> handleIndexOutOfBoundsException(IndexOutOfBoundsException indexOutOfBoundsException) {
|
||||||
// LogUtil.logExceptionStackInfo(CommonResponseEnum.INDEX_OUT_OF_BOUNDS_EXCEPTION.getMessage(), indexOutOfBoundsException);
|
LogUtil.logExceptionStackInfo(CommonResponseEnum.INDEX_OUT_OF_BOUNDS_EXCEPTION.getMessage(), indexOutOfBoundsException);
|
||||||
// // recodeBusinessExceptionLog(indexOutOfBoundsException, CommonResponseEnum.INDEX_OUT_OF_BOUNDS_EXCEPTION.getMessage());
|
// recodeBusinessExceptionLog(indexOutOfBoundsException, CommonResponseEnum.INDEX_OUT_OF_BOUNDS_EXCEPTION.getMessage());
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.INDEX_OUT_OF_BOUNDS_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(indexOutOfBoundsException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.INDEX_OUT_OF_BOUNDS_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(indexOutOfBoundsException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 前端请求后端,请求中参数的媒体方式不支持异常
|
* 前端请求后端,请求中参数的媒体方式不支持异常
|
||||||
// *
|
*
|
||||||
// * @param httpMediaTypeNotSupportedException 请求中参数的媒体方式不支持异常
|
* @param httpMediaTypeNotSupportedException 请求中参数的媒体方式不支持异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(HttpMediaTypeNotSupportedException.class)
|
@ExceptionHandler(HttpMediaTypeNotSupportedException.class)
|
||||||
// public HttpResult<String> httpMediaTypeNotSupportedExceptionHandler(HttpMediaTypeNotSupportedException httpMediaTypeNotSupportedException) {
|
public HttpResult<String> httpMediaTypeNotSupportedExceptionHandler(HttpMediaTypeNotSupportedException httpMediaTypeNotSupportedException) {
|
||||||
// LogUtil.logExceptionStackInfo(CommonResponseEnum.HTTP_MEDIA_TYPE_NOT_SUPPORTED_EXCEPTION.getMessage(), httpMediaTypeNotSupportedException);
|
LogUtil.logExceptionStackInfo(CommonResponseEnum.HTTP_MEDIA_TYPE_NOT_SUPPORTED_EXCEPTION.getMessage(), httpMediaTypeNotSupportedException);
|
||||||
// // 然后提取错误提示信息进行返回
|
// 然后提取错误提示信息进行返回
|
||||||
// // recodeBusinessExceptionLog(httpMediaTypeNotSupportedException, CommonResponseEnum.HTTP_MEDIA_TYPE_NOT_SUPPORTED_EXCEPTION.getMessage());
|
// recodeBusinessExceptionLog(httpMediaTypeNotSupportedException, CommonResponseEnum.HTTP_MEDIA_TYPE_NOT_SUPPORTED_EXCEPTION.getMessage());
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.HTTP_MEDIA_TYPE_NOT_SUPPORTED_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(httpMediaTypeNotSupportedException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.HTTP_MEDIA_TYPE_NOT_SUPPORTED_EXCEPTION, null, ReflectCommonUtil.getMethodDescribeByException(httpMediaTypeNotSupportedException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 前端请求后端,参数校验异常捕捉
|
* 前端请求后端,参数校验异常捕捉
|
||||||
// * RequestBody注解参数异常
|
* RequestBody注解参数异常
|
||||||
// *
|
*
|
||||||
// * @param methodArgumentNotValidException 参数校验异常
|
* @param methodArgumentNotValidException 参数校验异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(MethodArgumentNotValidException.class)
|
@ExceptionHandler(MethodArgumentNotValidException.class)
|
||||||
// public HttpResult<String> methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException methodArgumentNotValidException) {
|
public HttpResult<String> methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException methodArgumentNotValidException) {
|
||||||
// // 从异常对象中拿到allErrors数据
|
// 从异常对象中拿到allErrors数据
|
||||||
// String messages = methodArgumentNotValidException.getBindingResult().getAllErrors()
|
String messages = methodArgumentNotValidException.getBindingResult().getAllErrors()
|
||||||
// .stream().map(ObjectError::getDefaultMessage).collect(Collectors.joining(";"));
|
.stream().map(ObjectError::getDefaultMessage).collect(Collectors.joining(";"));
|
||||||
// // 然后提取错误提示信息进行返回
|
// 然后提取错误提示信息进行返回
|
||||||
// LogUtil.njcnDebug(log, "参数校验异常,异常为:{}", messages);
|
LogUtil.njcnDebug(log, "参数校验异常,异常为:{}", messages);
|
||||||
// // recodeBusinessExceptionLog(methodArgumentNotValidException, CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION.getMessage());
|
// recodeBusinessExceptionLog(methodArgumentNotValidException, CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION.getMessage());
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION, messages, ControllerUtil.getMethodArgumentNotValidException(methodArgumentNotValidException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION, messages, ControllerUtil.getMethodArgumentNotValidException(methodArgumentNotValidException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 前端请求后端,参数校验异常捕捉
|
* 前端请求后端,参数校验异常捕捉
|
||||||
// * PathVariable注解、RequestParam注解参数异常
|
* PathVariable注解、RequestParam注解参数异常
|
||||||
// *
|
*
|
||||||
// * @param constraintViolationException 参数校验异常
|
* @param constraintViolationException 参数校验异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(ConstraintViolationException.class)
|
@ExceptionHandler(ConstraintViolationException.class)
|
||||||
// public HttpResult<String> constraintViolationExceptionExceptionHandler(ConstraintViolationException constraintViolationException) {
|
public HttpResult<String> constraintViolationExceptionExceptionHandler(ConstraintViolationException constraintViolationException) {
|
||||||
// String exceptionMessage = constraintViolationException.getMessage();
|
String exceptionMessage = constraintViolationException.getMessage();
|
||||||
// StringBuilder messages = new StringBuilder();
|
StringBuilder messages = new StringBuilder();
|
||||||
// if (exceptionMessage.indexOf(StrUtil.COMMA) > 0) {
|
if (exceptionMessage.indexOf(StrUtil.COMMA) > 0) {
|
||||||
// String[] tempMessage = exceptionMessage.split(StrUtil.COMMA);
|
String[] tempMessage = exceptionMessage.split(StrUtil.COMMA);
|
||||||
// Stream.of(tempMessage).forEach(message -> {
|
Stream.of(tempMessage).forEach(message -> {
|
||||||
// messages.append(message.substring(message.indexOf(StrUtil.COLON) + 2)).append(';');
|
messages.append(message.substring(message.indexOf(StrUtil.COLON) + 2)).append(';');
|
||||||
// });
|
});
|
||||||
// } else {
|
} else {
|
||||||
// messages.append(exceptionMessage.substring(exceptionMessage.indexOf(StrUtil.COLON) + 2));
|
messages.append(exceptionMessage.substring(exceptionMessage.indexOf(StrUtil.COLON) + 2));
|
||||||
// }
|
}
|
||||||
// // 然后提取错误提示信息进行返回
|
// 然后提取错误提示信息进行返回
|
||||||
// LogUtil.njcnDebug(log, "参数校验异常,异常为:{}", messages);
|
LogUtil.njcnDebug(log, "参数校验异常,异常为:{}", messages);
|
||||||
// // recodeBusinessExceptionLog(constraintViolationException, CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION.getMessage());
|
// recodeBusinessExceptionLog(constraintViolationException, CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION.getMessage());
|
||||||
// List<ConstraintViolation<?>> constraintViolationList = new ArrayList<>(constraintViolationException.getConstraintViolations());
|
List<ConstraintViolation<?>> constraintViolationList = new ArrayList<>(constraintViolationException.getConstraintViolations());
|
||||||
// ConstraintViolation<?> constraintViolation = constraintViolationList.get(0);
|
ConstraintViolation<?> constraintViolation = constraintViolationList.get(0);
|
||||||
// Class<?> rootBeanClass = constraintViolation.getRootBeanClass();
|
Class<?> rootBeanClass = constraintViolation.getRootBeanClass();
|
||||||
// //判断校验参数异常捕获的根源是controller还是service处
|
//判断校验参数异常捕获的根源是controller还是service处
|
||||||
// if (rootBeanClass.getName().endsWith("Controller")) {
|
if (rootBeanClass.getName().endsWith("Controller")) {
|
||||||
// String methodName = constraintViolation.getPropertyPath().toString().substring(0, constraintViolation.getPropertyPath().toString().indexOf(StrUtil.DOT));
|
String methodName = constraintViolation.getPropertyPath().toString().substring(0, constraintViolation.getPropertyPath().toString().indexOf(StrUtil.DOT));
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION, messages.toString(), ReflectCommonUtil.getMethodDescribeByClassAndMethodName(rootBeanClass, methodName));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION, messages.toString(), ReflectCommonUtil.getMethodDescribeByClassAndMethodName(rootBeanClass, methodName));
|
||||||
// } else {
|
} else {
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION, messages.toString(), ReflectCommonUtil.getMethodDescribeByException(constraintViolationException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.METHOD_ARGUMENT_NOT_VALID_EXCEPTION, messages.toString(), ReflectCommonUtil.getMethodDescribeByException(constraintViolationException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 索引下标越界异常捕捉
|
* 索引下标越界异常捕捉
|
||||||
// *
|
*
|
||||||
// * @param illegalArgumentException 参数校验异常
|
* @param illegalArgumentException 参数校验异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(IllegalArgumentException.class)
|
@ExceptionHandler(IllegalArgumentException.class)
|
||||||
// public HttpResult<String> handleIndexOutOfBoundsException(IllegalArgumentException illegalArgumentException) {
|
public HttpResult<String> handleIndexOutOfBoundsException(IllegalArgumentException illegalArgumentException) {
|
||||||
// LogUtil.logExceptionStackInfo(CommonResponseEnum.ILLEGAL_ARGUMENT_EXCEPTION.getMessage(), illegalArgumentException);
|
LogUtil.logExceptionStackInfo(CommonResponseEnum.ILLEGAL_ARGUMENT_EXCEPTION.getMessage(), illegalArgumentException);
|
||||||
// // recodeBusinessExceptionLog(illegalArgumentException, CommonResponseEnum.ILLEGAL_ARGUMENT_EXCEPTION.getMessage());
|
// recodeBusinessExceptionLog(illegalArgumentException, CommonResponseEnum.ILLEGAL_ARGUMENT_EXCEPTION.getMessage());
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.ILLEGAL_ARGUMENT_EXCEPTION, illegalArgumentException.getMessage(), ReflectCommonUtil.getMethodDescribeByException(illegalArgumentException));
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.ILLEGAL_ARGUMENT_EXCEPTION, illegalArgumentException.getMessage(), ReflectCommonUtil.getMethodDescribeByException(illegalArgumentException));
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
//
|
|
||||||
// /**
|
/**
|
||||||
// * 未声明异常捕捉
|
* 未声明异常捕捉
|
||||||
// *
|
*
|
||||||
// * @param exception 未声明异常
|
* @param exception 未声明异常
|
||||||
// */
|
*/
|
||||||
// @ExceptionHandler(Exception.class)
|
@ExceptionHandler(Exception.class)
|
||||||
// public HttpResult<String> handleException(Exception exception) {
|
public HttpResult<String> handleException(Exception exception) {
|
||||||
// //针对fallbackFactory降级异常特殊处理
|
//针对fallbackFactory降级异常特殊处理
|
||||||
// Exception tempException = exception;
|
Exception tempException = exception;
|
||||||
// String exceptionCause = CommonResponseEnum.UN_DECLARE.getMessage();
|
String exceptionCause = CommonResponseEnum.UN_DECLARE.getMessage();
|
||||||
// String code = CommonResponseEnum.UN_DECLARE.getCode();
|
String code = CommonResponseEnum.UN_DECLARE.getCode();
|
||||||
// if (exception instanceof NestedServletException) {
|
if (exception instanceof NestedServletException) {
|
||||||
// Throwable cause = exception.getCause();
|
Throwable cause = exception.getCause();
|
||||||
// if (cause instanceof AssertionError) {
|
if (cause instanceof AssertionError) {
|
||||||
// if (cause.getCause() instanceof BusinessException) {
|
if (cause.getCause() instanceof BusinessException) {
|
||||||
// tempException = (BusinessException) cause.getCause();
|
tempException = (BusinessException) cause.getCause();
|
||||||
// BusinessException tempBusinessException = (BusinessException) cause.getCause();
|
BusinessException tempBusinessException = (BusinessException) cause.getCause();
|
||||||
// exceptionCause = tempBusinessException.getMessage();
|
exceptionCause = tempBusinessException.getMessage();
|
||||||
// code = tempBusinessException.getCode();
|
code = tempBusinessException.getCode();
|
||||||
// }
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
LogUtil.logExceptionStackInfo(exceptionCause, tempException);
|
||||||
|
// recodeBusinessExceptionLog(exception, exceptionCause);
|
||||||
|
//判断方法上是否有自定义注解,做特殊处理
|
||||||
|
// Method method = ReflectCommonUtil.getMethod(exception);
|
||||||
|
// if (!Objects.isNull(method)){
|
||||||
|
// if(method.isAnnotationPresent(ReturnMsg.class)){
|
||||||
|
// return HttpResultUtil.assembleResult(code, null, StrFormatter.format("{}",exceptionCause));
|
||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
// LogUtil.logExceptionStackInfo(exceptionCause, tempException);
|
return HttpResultUtil.assembleResult(code, null, StrFormatter.format("{}{}{}", ReflectCommonUtil.getMethodDescribeByException(tempException), StrUtil.C_COMMA, exceptionCause));
|
||||||
// // recodeBusinessExceptionLog(exception, exceptionCause);
|
}
|
||||||
// //判断方法上是否有自定义注解,做特殊处理
|
|
||||||
//// Method method = ReflectCommonUtil.getMethod(exception);
|
|
||||||
//// if (!Objects.isNull(method)){
|
/**
|
||||||
//// if(method.isAnnotationPresent(ReturnMsg.class)){
|
* json解析异常
|
||||||
//// return HttpResultUtil.assembleResult(code, null, StrFormatter.format("{}",exceptionCause));
|
*
|
||||||
//// }
|
* @param jsonException json参数
|
||||||
//// }
|
*/
|
||||||
// return HttpResultUtil.assembleResult(code, null, StrFormatter.format("{}{}{}", ReflectCommonUtil.getMethodDescribeByException(tempException), StrUtil.C_COMMA, exceptionCause));
|
@ExceptionHandler(JSONException.class)
|
||||||
// }
|
public HttpResult<String> handleIndexOutOfBoundsException(JSONException jsonException) {
|
||||||
//
|
LogUtil.logExceptionStackInfo(CommonResponseEnum.JSON_CONVERT_EXCEPTION.getMessage(), jsonException);
|
||||||
//
|
// recodeBusinessExceptionLog(jsonException, CommonResponseEnum.JSON_CONVERT_EXCEPTION.getMessage());
|
||||||
// /**
|
return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.JSON_CONVERT_EXCEPTION, jsonException.getMessage(), ReflectCommonUtil.getMethodDescribeByException(jsonException));
|
||||||
// * json解析异常
|
}
|
||||||
// *
|
/*
|
||||||
// * @param jsonException json参数
|
private void recodeBusinessExceptionLog(Exception businessException, String methodDescribe) {
|
||||||
// */
|
HttpServletRequest httpServletRequest = HttpServletUtil.getRequest();
|
||||||
// @ExceptionHandler(JSONException.class)
|
Future<?> future = executor.submit(() -> {
|
||||||
// public HttpResult<String> handleIndexOutOfBoundsException(JSONException jsonException) {
|
HttpServletUtil.setRequest(httpServletRequest);
|
||||||
// LogUtil.logExceptionStackInfo(CommonResponseEnum.JSON_CONVERT_EXCEPTION.getMessage(), jsonException);
|
sysLogAuditService.recodeBusinessExceptionLog(businessException, methodDescribe);
|
||||||
// // recodeBusinessExceptionLog(jsonException, CommonResponseEnum.JSON_CONVERT_EXCEPTION.getMessage());
|
});
|
||||||
// return HttpResultUtil.assembleCommonResponseResult(CommonResponseEnum.JSON_CONVERT_EXCEPTION, jsonException.getMessage(), ReflectCommonUtil.getMethodDescribeByException(jsonException));
|
try {
|
||||||
// }
|
// 抛出 ExecutionException
|
||||||
///*
|
future.get();
|
||||||
// private void recodeBusinessExceptionLog(Exception businessException, String methodDescribe) {
|
} catch (ExecutionException | InterruptedException e) {
|
||||||
// HttpServletRequest httpServletRequest = HttpServletUtil.getRequest();
|
log.error("保存审计日志异常,异常为:" + e.getMessage());
|
||||||
// Future<?> future = executor.submit(() -> {
|
}
|
||||||
// HttpServletUtil.setRequest(httpServletRequest);
|
}*/
|
||||||
// sysLogAuditService.recodeBusinessExceptionLog(businessException, methodDescribe);
|
|
||||||
// });
|
}
|
||||||
// try {
|
|
||||||
// // 抛出 ExecutionException
|
|
||||||
// future.get();
|
|
||||||
// } catch (ExecutionException | InterruptedException e) {
|
|
||||||
// log.error("保存审计日志异常,异常为:" + e.getMessage());
|
|
||||||
// }
|
|
||||||
// }*/
|
|
||||||
//
|
|
||||||
//}
|
|
||||||
|
|||||||
@@ -53,6 +53,7 @@ import java.time.LocalDateTime;
|
|||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.function.Function;
|
import java.util.function.Function;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
import java.util.stream.Stream;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Description:
|
* Description:
|
||||||
@@ -81,6 +82,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|||||||
private final PqsUsersetService pqsUsersetService;
|
private final PqsUsersetService pqsUsersetService;
|
||||||
private final PqsUserService pqsUserService;
|
private final PqsUserService pqsUserService;
|
||||||
private final PqLinedetailMapper pqLinedetailMapper;
|
private final PqLinedetailMapper pqLinedetailMapper;
|
||||||
|
private final List<Integer> WAVETYPE_LIST= Stream.of(1,3).collect(Collectors.toList());
|
||||||
@Value("${SYS_TYPE_ZT}")
|
@Value("${SYS_TYPE_ZT}")
|
||||||
private String sysTypeZt;
|
private String sysTypeZt;
|
||||||
|
|
||||||
@@ -183,12 +185,14 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|||||||
for(List<Integer> itemIds : listIds){
|
for(List<Integer> itemIds : listIds){
|
||||||
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
||||||
.between(PqsEventdetail::getTimeid,startTime, endTime)
|
.between(PqsEventdetail::getTimeid,startTime, endTime)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.in(PqsEventdetail::getLineid,listIds).list();
|
.in(PqsEventdetail::getLineid,listIds).list();
|
||||||
eventdetails.addAll(temp);
|
eventdetails.addAll(temp);
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
||||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.in(PqsEventdetail::getLineid,deptslineIds).list();
|
.in(PqsEventdetail::getLineid,deptslineIds).list();
|
||||||
eventdetails.addAll(temp);
|
eventdetails.addAll(temp);
|
||||||
}
|
}
|
||||||
@@ -286,12 +290,14 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|||||||
for(List<Integer> itemIds : listIds){
|
for(List<Integer> itemIds : listIds){
|
||||||
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
||||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.in(PqsEventdetail::getLineid,listIds).list();
|
.in(PqsEventdetail::getLineid,listIds).list();
|
||||||
eventdetails.addAll(temp);
|
eventdetails.addAll(temp);
|
||||||
}
|
}
|
||||||
}else {
|
}else {
|
||||||
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
List<PqsEventdetail> temp = pqsEventdetailService.lambdaQuery()
|
||||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.in(PqsEventdetail::getLineid,deptslineIds).list();
|
.in(PqsEventdetail::getLineid,deptslineIds).list();
|
||||||
eventdetails.addAll(temp);
|
eventdetails.addAll(temp);
|
||||||
}
|
}
|
||||||
@@ -382,6 +388,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|||||||
|
|
||||||
queryWrapper.lambda()
|
queryWrapper.lambda()
|
||||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.and(ew->{
|
.and(ew->{
|
||||||
for(List<Integer> pList: idPartitions){
|
for(List<Integer> pList: idPartitions){
|
||||||
ew.or(w->w.in(PqsEventdetail::getLineid, pList));
|
ew.or(w->w.in(PqsEventdetail::getLineid, pList));
|
||||||
@@ -393,6 +400,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|||||||
queryWrapper.lambda()
|
queryWrapper.lambda()
|
||||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||||
.in(PqsEventdetail::getLineid, deptslineIds)
|
.in(PqsEventdetail::getLineid, deptslineIds)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.orderByDesc(PqsEventdetail::getTimeid);
|
.orderByDesc(PqsEventdetail::getTimeid);
|
||||||
}
|
}
|
||||||
//查询需要发送短息处理的部门反推监测点
|
//查询需要发送短息处理的部门反推监测点
|
||||||
@@ -473,6 +481,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|||||||
LambdaQueryWrapper<PqsEventdetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
LambdaQueryWrapper<PqsEventdetail> lambdaQueryWrapper = new LambdaQueryWrapper<>();
|
||||||
lambdaQueryWrapper.between(PqsEventdetail::getTimeid, startTime, endTime)
|
lambdaQueryWrapper.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||||
.in(PqsEventdetail::getLineid, deptslineIds)
|
.in(PqsEventdetail::getLineid, deptslineIds)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag));
|
.and(wrapper -> wrapper.eq(PqsEventdetail::getLookFlag, 0).or().isNull(PqsEventdetail::getLookFlag));
|
||||||
if (Objects.nonNull(largeScreenCountParam.getEventDeep())) {
|
if (Objects.nonNull(largeScreenCountParam.getEventDeep())) {
|
||||||
if (largeScreenCountParam.getEventDeep() == 0) {
|
if (largeScreenCountParam.getEventDeep() == 0) {
|
||||||
@@ -556,6 +565,7 @@ public class LargeScreenCountServiceImpl implements LargeScreenCountService {
|
|||||||
List<Integer> deptslineIds = v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList());
|
List<Integer> deptslineIds = v.stream().map(PqsDeptsline::getLineIndex).collect(Collectors.toList());
|
||||||
List<PqsEventdetail> eventdetails = pqsEventdetailService.lambdaQuery()
|
List<PqsEventdetail> eventdetails = pqsEventdetailService.lambdaQuery()
|
||||||
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
.between(PqsEventdetail::getTimeid, startTime, endTime)
|
||||||
|
.in(PqsEventdetail::getWavetype,WAVETYPE_LIST)
|
||||||
.in(PqsEventdetail::getLineid, deptslineIds).list();
|
.in(PqsEventdetail::getLineid, deptslineIds).list();
|
||||||
mapCountVO.setEventCount(eventdetails.size());
|
mapCountVO.setEventCount(eventdetails.size());
|
||||||
List<EventDetailVO> change = change(eventdetails);
|
List<EventDetailVO> change = change(eventdetails);
|
||||||
|
|||||||
Reference in New Issue
Block a user