From 54c2581e088d12beed1085e0972df23c798d25f6 Mon Sep 17 00:00:00 2001
From: Bunny <1319900154@qq.com>
Date: Mon, 7 Jul 2025 14:16:52 +0800
Subject: [PATCH] =?UTF-8?q?:construction:=20=E8=AE=BE=E7=BD=AE=E5=88=86?=
=?UTF-8?q?=E7=BB=84=E6=A0=A1=E9=AA=8C?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
mall-common/pom.xml | 4 +
.../mall/common/domain/dto/package-info.java | 1 +
.../domain/dto/valid/ValidationGroups.java | 15 +++
.../exception/GlobalExceptionHandler.java | 95 +++++++++++++++++++
.../mall/common/exception/MallException.java | 40 ++++++++
.../product/controller/BrandController.java | 4 +-
.../com/mall/product/domain/dto/BrandDto.java | 7 ++
mall-services/mall-third-party/pom.xml | 20 ----
.../thirdParty/MallThirdPartyApplication.java | 3 +-
9 files changed, 167 insertions(+), 22 deletions(-)
create mode 100644 mall-common/src/main/java/com/mall/common/domain/dto/package-info.java
create mode 100644 mall-common/src/main/java/com/mall/common/domain/dto/valid/ValidationGroups.java
create mode 100644 mall-common/src/main/java/com/mall/common/exception/GlobalExceptionHandler.java
create mode 100644 mall-common/src/main/java/com/mall/common/exception/MallException.java
diff --git a/mall-common/pom.xml b/mall-common/pom.xml
index 90947f1..b767571 100644
--- a/mall-common/pom.xml
+++ b/mall-common/pom.xml
@@ -23,6 +23,10 @@
org.projectlombok
lombok
+
+ org.springframework.boot
+ spring-boot-starter-validation
+
diff --git a/mall-common/src/main/java/com/mall/common/domain/dto/package-info.java b/mall-common/src/main/java/com/mall/common/domain/dto/package-info.java
new file mode 100644
index 0000000..22b8a1d
--- /dev/null
+++ b/mall-common/src/main/java/com/mall/common/domain/dto/package-info.java
@@ -0,0 +1 @@
+package com.mall.common.domain.dto;
\ No newline at end of file
diff --git a/mall-common/src/main/java/com/mall/common/domain/dto/valid/ValidationGroups.java b/mall-common/src/main/java/com/mall/common/domain/dto/valid/ValidationGroups.java
new file mode 100644
index 0000000..bb05fc6
--- /dev/null
+++ b/mall-common/src/main/java/com/mall/common/domain/dto/valid/ValidationGroups.java
@@ -0,0 +1,15 @@
+package com.mall.common.domain.dto.valid;
+
+public interface ValidationGroups {
+ interface QUERY {
+ }
+
+ interface Add {
+ }
+
+ interface Update {
+ }
+
+ interface DELETE {
+ }
+}
\ No newline at end of file
diff --git a/mall-common/src/main/java/com/mall/common/exception/GlobalExceptionHandler.java b/mall-common/src/main/java/com/mall/common/exception/GlobalExceptionHandler.java
new file mode 100644
index 0000000..38088e6
--- /dev/null
+++ b/mall-common/src/main/java/com/mall/common/exception/GlobalExceptionHandler.java
@@ -0,0 +1,95 @@
+package com.mall.common.exception;
+
+import com.mall.common.domain.vo.result.Result;
+import com.mall.common.domain.vo.result.ResultCodeEnum;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.context.support.DefaultMessageSourceResolvable;
+import org.springframework.util.StringUtils;
+import org.springframework.web.bind.MethodArgumentNotValidException;
+import org.springframework.web.bind.annotation.ExceptionHandler;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.bind.annotation.RestControllerAdvice;
+
+import java.sql.SQLIntegrityConstraintViolationException;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+import java.util.stream.Collectors;
+
+@RestControllerAdvice
+@Slf4j
+public class GlobalExceptionHandler {
+
+ @ExceptionHandler(MallException.class)
+ @ResponseBody
+ public Result