Browse Source

修改日志

master
刘忱 1 year ago
parent
commit
1e2e641d3f
  1. 13
      src/main/java/com/win/mq/controller/ProduceController.java
  2. 61
      src/main/java/com/win/mq/handler/GlobalExceptionHandler.java
  3. 2
      src/main/resources/logback-spring.xml

13
src/main/java/com/win/mq/controller/ProduceController.java

@ -13,6 +13,7 @@ import org.springframework.util.DigestUtils;
import org.springframework.web.bind.annotation.*;
import javax.servlet.http.HttpServletRequest;
import java.lang.reflect.InvocationTargetException;
import java.lang.reflect.Method;
import java.util.ArrayList;
import java.util.List;
@ -38,7 +39,7 @@ public class ProduceController {
*/
@PostMapping("/api")
@SuppressWarnings("unchecked")
public CommonResult<String> api(HttpServletRequest request, @RequestBody String body) {
public CommonResult<String> api(HttpServletRequest request, @RequestBody String body) throws NoSuchMethodException, InvocationTargetException, IllegalAccessException {
String interfaceName = request.getHeader("interface");
String sign = request.getHeader("sign");
String timeStr = request.getHeader("timestamp");
@ -69,14 +70,8 @@ public class ProduceController {
if(!activeProfile.contains("dev") && !StringUtils.equals(sign, computeSign.toUpperCase())) {
return CommonResult.error(GlobalErrorCodeConstants.SIGN_ERROR);
}
try {
Method method = this.getClass().getMethod(interfaceName, String.class);
return (CommonResult<String>) method.invoke(this, body);
} catch (NoSuchMethodException e) {
return CommonResult.error(GlobalErrorCodeConstants.INTERFACE_ERROR);
} catch (Exception e) {
return CommonResult.error(GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR);
}
Method method = this.getClass().getMethod(interfaceName, String.class);
return (CommonResult<String>) method.invoke(this, body);
}
public CommonResult<Object[]> order(String message) {

61
src/main/java/com/win/mq/handler/GlobalExceptionHandler.java

@ -0,0 +1,61 @@
package com.win.mq.handler;
import com.win.mq.common.CommonResult;
import com.win.mq.exception.ServiceException;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;
import static com.win.mq.exception.GlobalErrorCodeConstants.INTERFACE_ERROR;
import static com.win.mq.exception.GlobalErrorCodeConstants.INTERNAL_SERVER_ERROR;
/**
* 全局异常处理器 Exception 翻译成 CommonResult + 对应的异常编号
*
* @author 闻荫源码
*/
@Slf4j
@RestControllerAdvice
public class GlobalExceptionHandler {
/**
* 接口未找到业务异常 NoSuchMethodException
*/
@ExceptionHandler(NoSuchMethodException.class)
public CommonResult<?> noSuchMethodExceptionHandler(NoSuchMethodException e) {
log.error("[serviceExceptionHandler]", e);
return CommonResult.error(INTERFACE_ERROR.getCode(), INTERFACE_ERROR.getMsg());
}
/**
* 处理业务异常 ServiceException
*
* 例如说商品库存不足用户手机号已存在
*/
@ExceptionHandler(ServiceException.class)
public CommonResult<?> serviceExceptionHandler(ServiceException e) {
log.error("[serviceExceptionHandler]", e);
return CommonResult.error(INTERNAL_SERVER_ERROR.getCode(), INTERNAL_SERVER_ERROR.getMsg());
}
/**
* 处理业务异常 ServiceException
*
* 例如说商品库存不足用户手机号已存在
*/
@ExceptionHandler(RuntimeException.class)
public CommonResult<?> runtimeExceptionHandler(ServiceException e) {
log.error("[runtimeExceptionHandler]", e);
return CommonResult.error(INTERNAL_SERVER_ERROR.getCode(), INTERNAL_SERVER_ERROR.getMsg());
}
/**
* 处理系统异常兜底处理所有的一切
*/
@ExceptionHandler(Exception.class)
public CommonResult<?> defaultExceptionHandler(Throwable e) {
log.error("[defaultExceptionHandler]", e);
return CommonResult.error(INTERNAL_SERVER_ERROR.getCode(), INTERNAL_SERVER_ERROR.getMsg());
}
}

2
src/main/resources/logback-spring.xml

@ -87,7 +87,7 @@
</appender>
<!-- 系统模块日志级别控制 -->
<logger name="com.hc" level="info" />
<logger name="com.win" level="info" />
<!-- Spring日志级别控制 -->
<logger name="org.springframework" level="warn" />

Loading…
Cancel
Save