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

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

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