提交 6cf6b4a9 authored 作者: 吕本才's avatar 吕本才

feat(common): 添加常量类和优化异常处理,将gateway不再引用common包

- 新增 Constants 类定义 UTF-8 字符集常量-为 ControllerExceptionAdvice 添加日志记录功能 - 引入 StringUtils 工具类到 JwtTokenUtils - 调整 RedisKeys 中枚举的访问权限为 public - 新增 WechatConstants 类定义微信相关常量 - 移除多余的 pom.xml 依赖配置和注释
上级 8acb7e63
......@@ -17,11 +17,6 @@
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
<version>${spring-boot-starter.version}</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
......@@ -29,13 +24,17 @@
<version>${lombok.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<!-- <dependency>-->
<!-- <groupId>org.springframework.boot</groupId>-->
<!-- <artifactId>spring-boot-starter</artifactId>-->
<!-- <version>${spring-boot-starter.version}</version>-->
<!-- </dependency>-->
<!--<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<version>${spring-boot-starter.version}</version>
<scope>test</scope>
</dependency>
</dependency>-->
<dependency>
<groupId>junit</groupId>
......@@ -44,13 +43,12 @@
<scope>test</scope>
</dependency>
<!-- Web 场景启动器) 来为 Web 开发予以支持。spring-boot-starter-web 为我们提供了嵌入的 Servlet 容器以及 SpringMVC 的依赖,并为 Spring MVC 提供了大量自动配置,可以适用于大多数 Web 开发场景。-->
<!-- Web 场景启动器) 来为 Web 开发予以支持。spring-boot-starter-web 为我们提供了嵌入的 Servlet 容器以及 SpringMVC 的依赖,并为 Spring MVC 提供了大量自动配置,可以适用于大多数 Web 开发场景。-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<version>${spring-boot-starter.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-aop -->
<dependency>
<groupId>org.springframework.boot</groupId>
......@@ -131,7 +129,6 @@
<artifactId>jjwt</artifactId>
<version>${jjwt.version}</version>
</dependency>
</dependencies>
<build>
......
package com.wangxiaolu.promotion.common.constant;
public class Constants {
/**
* UTF-8 字符集
*/
public static final String UTF8 = "UTF-8";
}
package com.wangxiaolu.promotion.common.constant;
public class WechatConstants {
/**
* 订阅消息模板ID
*/
public static final String SUBSCRIBE_MESSAGE_TEMPLATE_ID = "模板ID";
}
......@@ -7,7 +7,7 @@ public interface RedisKeys {
@AllArgsConstructor
@Getter
enum UserKeys {
public enum UserKeys {
/**
* 用户接收手机验证码
*/
......@@ -25,8 +25,6 @@ public interface RedisKeys {
String key;
}
@AllArgsConstructor
@Getter
enum TemporaryKeys {
......
package com.wangxiaolu.promotion.common.util;
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
import com.wangxiaolu.promotion.common.constant.TokenConstants;
import io.jsonwebtoken.Claims;
import io.jsonwebtoken.Jwts;
......@@ -79,4 +80,8 @@ public class JwtTokenUtils {
}
return value.toString();
}
}
......@@ -6,6 +6,7 @@ import com.wangxiaolu.promotion.exception.FlowException;
import com.wangxiaolu.promotion.exception.ParamException;
import com.wangxiaolu.promotion.result.basedata.R;
import com.wangxiaolu.promotion.result.basedata.RCode;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.exceptions.TooManyResultsException;
import org.springframework.dao.DataIntegrityViolationException;
import org.springframework.web.bind.MethodArgumentNotValidException;
......@@ -19,41 +20,49 @@ import org.springframework.web.bind.annotation.RestControllerAdvice;
*/
@RestControllerAdvice
@Slf4j
public class ControllerExceptionAdvice {
@ExceptionHandler({ParamException.class})
public R paramExceptionHandler(ParamException e) {
log.error("参数异常: {}", e);
return new R(e.getCode(), e.getMsg());
}
@ExceptionHandler({FlowException.class})
public R flowExceptionHandler(FlowException e) {
log.error("流量异常: {}", e);
return new R(e.getCode(), e.getMsg());
}
@ExceptionHandler({APIException.class})
public R apiExceptionHandler(APIException e) {
log.error("API异常: {}", e);
return new R(e.getCode(), e.getMsg());
}
@ExceptionHandler({DataException.class})
public R dataExceptionHandler(DataException e) {
log.error("数据异常: {}", e);
return new R(e.getCode(), e.getMsg());
}
@ExceptionHandler({MethodArgumentNotValidException.class})
public R methodArgumentNotValidExceptionHandler(MethodArgumentNotValidException e) {
log.error("参数校验异常: {}", e);
String msg = e.getBindingResult().getFieldError().getDefaultMessage();
return new R(RCode.PARAM_ERROR.getCode(), msg);
}
@ExceptionHandler({DataIntegrityViolationException.class})
public R dataIntegrityViolationExceptionHandler(DataIntegrityViolationException e) {
log.error("数据库数据异常: {}", e);
return new R(RCode.API_DATA_ERROR.getCode(), RCode.API_DATA_ERROR.getMsg());
}
@ExceptionHandler({TooManyResultsException.class})
public R tooManyResultsExceptionHandler(TooManyResultsException e) {
log.error("查询结果异常: {}", e);
String msg = e.getMessage();
return new R(RCode.DATA_TOO_MANY_ERROR.getCode(), msg);
}
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论