From 36c80bd718937ef52daee697c19ab09144dafa6c Mon Sep 17 00:00:00 2001 From: gong <1157756119@qq.com> Date: Wed, 12 Nov 2025 09:42:28 +0800 Subject: [PATCH 01/13] =?UTF-8?q?TODO=20=E5=88=86=E9=94=80=20=E9=80=BB?= =?UTF-8?q?=E8=BE=91=E4=BF=AE=E6=94=B9=E6=8F=90=E7=A4=BA?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/czg/task/DistributionTask.java | 21 ++++++++----------- 1 file changed, 9 insertions(+), 12 deletions(-) diff --git a/cash-api/market-server/src/main/java/com/czg/task/DistributionTask.java b/cash-api/market-server/src/main/java/com/czg/task/DistributionTask.java index 3ed00743a..9cfe1e6a1 100644 --- a/cash-api/market-server/src/main/java/com/czg/task/DistributionTask.java +++ b/cash-api/market-server/src/main/java/com/czg/task/DistributionTask.java @@ -2,28 +2,21 @@ package com.czg.task; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.date.DateUtil; -import cn.hutool.core.util.ArrayUtil; -import com.czg.account.entity.ShopInfo; import com.czg.account.entity.ShopUser; import com.czg.account.service.ShopInfoService; import com.czg.account.service.ShopUserService; import com.czg.constant.TableValueConstant; -import com.czg.market.entity.MkDistributionDeliver; import com.czg.market.entity.MkDistributionFlow; -import com.czg.market.service.MkBirthdayGiftService; -import com.czg.market.service.MkDistributionDeliverService; import com.czg.market.service.MkDistributionFlowService; import com.czg.market.service.MkDistributionUserService; import com.czg.order.entity.OrderInfo; import com.czg.order.service.OrderInfoService; import com.czg.service.market.enums.OrderStatusEnums; import com.czg.utils.FunUtils; -import com.itextpdf.styledxmlparser.jsoup.helper.DataUtil; import com.mybatisflex.core.query.QueryWrapper; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; -import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Component; import java.math.BigDecimal; @@ -33,13 +26,10 @@ import java.time.LocalDateTime; * 分销定时任务 * * @author ww - * @description */ @Slf4j @Component public class DistributionTask { - @Resource - private MkDistributionDeliverService distributionDeliverService; @Resource private MkDistributionUserService distributionUserService; @Resource @@ -53,12 +43,19 @@ public class DistributionTask { private ShopUserService shopUserService; /** - * 生日有礼奖励发放 + * 分销流水入账 * AAMarketTasks 统一调用位置 */ // @Scheduled(cron = "0 0 0 * * ?") - @Scheduled(fixedRate = 30000) +// @Scheduled(fixedRate = 30000) public void deliver() { + // TODO 逻辑修改 + // 1. 订单完成支付时(判断是否分销)产生流水记录。 + // 2. 判断入账时间。 + // 3. 如果是 0 天,再去判断商户余额是否足够。够则入账,不足则不管。 + // 4. 流水增加应该入账的时间(订单产生时带入) + // 5. 定时任务 应该是一天执行一次。查询待入账状态和应入账时间小于当前时间的记录,循环处理:并且判断商户余额是否足够,余额不足忽略处理;余额足够变为已入账并扣除商户余额。 + // 6. 订单产生退款时,去流水表查询该订单的流水记录,如果未入账改为已入账,并插入一条退款扣钱的流水。 LocalDateTime localDateTime = DateUtil.date().toLocalDateTime(); distributionFlowService.list(new QueryWrapper() .eq(MkDistributionFlow::getStatus, TableValueConstant.DistributionFlow.Status.PENDING.getCode())).forEach(item -> { From 3bae9504a9da5baba8edc94036b7e5f00bb92274 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 10:23:18 +0800 Subject: [PATCH 02/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/exception/CzgControllerAdvice.java | 42 +++++++++---------- .../java/com/czg/exception/CzgException.java | 3 ++ .../czg/exception/OrderValidateException.java | 2 +- .../impl/MkDistributionUserServiceImpl.java | 3 +- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index 352c205a3..84cc4992c 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -30,25 +30,6 @@ import java.util.stream.Collectors; @RestControllerAdvice @Slf4j public class CzgControllerAdvice { - @ResponseBody - @ExceptionHandler(value = Exception.class) - @ResponseStatus(HttpStatus.OK) - public CzgResult errorHandler(Exception ex) { - Throwable rootCause = ex; - while (rootCause.getCause() != null) { - rootCause = rootCause.getCause(); - if (rootCause instanceof CzgException) { - break; - } - } - // 处理自定义异常 - if (rootCause instanceof CzgException czgException) { - return CzgResult.failure(czgException.getCode(), czgException.getMessage()); - } - setErrorLog(ex); - return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); - } - @ResponseBody @ExceptionHandler(value = NoResourceFoundException.class) @ResponseStatus(HttpStatus.OK) @@ -113,9 +94,9 @@ public class CzgControllerAdvice { return CzgResult.failure(ex.getCode(), ex.getMsg()); } - @ResponseBody +// @ResponseBody @ExceptionHandler(OrderValidateException.class) - @ResponseStatus(HttpStatus.OK) +// @ResponseStatus(HttpStatus.OK) public CzgResult handleOrderValidateException(OrderValidateException ex) { log.error("订单校验异常:{}", ex.getMessage()); return CzgResult.failure(ex.getCode(), ex.getMsg()); @@ -161,6 +142,25 @@ public class CzgControllerAdvice { return CzgResult.failure(CzgRespCode.RECORD_EXISTED); } + @ResponseBody + @ExceptionHandler(value = Exception.class) + @ResponseStatus(HttpStatus.OK) + public CzgResult errorHandler(Exception ex) { + Throwable rootCause = ex; + while (rootCause.getCause() != null) { + rootCause = rootCause.getCause(); + if (rootCause instanceof CzgException) { + break; + } + } + // 处理自定义异常 + if (rootCause instanceof CzgException czgException) { + return CzgResult.failure(czgException.getCode(), czgException.getMessage()); + } + setErrorLog(ex); + return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); + } + private void setErrorLog(Exception ex) { log.error(ex.getMessage()); log.error("错误", ex); diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/exception/CzgException.java b/cash-common/cash-common-tools/src/main/java/com/czg/exception/CzgException.java index 0afe45303..fc5efcbf2 100644 --- a/cash-common/cash-common-tools/src/main/java/com/czg/exception/CzgException.java +++ b/cash-common/cash-common-tools/src/main/java/com/czg/exception/CzgException.java @@ -2,6 +2,8 @@ package com.czg.exception; import com.czg.resp.CzgRespCode; +import java.io.Serial; + /** * 自定义异常 * @@ -9,6 +11,7 @@ import com.czg.resp.CzgRespCode; * @since 1.0.0 */ public class CzgException extends RuntimeException { + @Serial private static final long serialVersionUID = 1L; private int code; diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java b/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java index 269637f85..58a8a7e5b 100644 --- a/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java +++ b/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java @@ -16,7 +16,7 @@ public class OrderValidateException extends RuntimeException{ private String msg; public OrderValidateException(String msg) { - super(msg); +// super(msg); this.code = CzgRespCode.FAILURE.getCode(); this.msg = msg; } diff --git a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java index 32db55c17..aeb3cd4ce 100644 --- a/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java +++ b/cash-service/market-service/src/main/java/com/czg/service/market/service/impl/MkDistributionUserServiceImpl.java @@ -572,7 +572,8 @@ public class MkDistributionUserServiceImpl extends ServiceImpl 2) { return; } From 1dfc594a29de33d94b081be43f968905e50202ef Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:06:11 +0800 Subject: [PATCH 03/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B01?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/exception/CzgControllerAdvice.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index 84cc4992c..43fad96ed 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -162,7 +162,7 @@ public class CzgControllerAdvice { } private void setErrorLog(Exception ex) { - log.error(ex.getMessage()); +// log.error(ex.getMessage()); log.error("错误", ex); } } From 3cb39035edc0a24d6ec2790450aa7ce414b872cb Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:12:26 +0800 Subject: [PATCH 04/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B02?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/exception/CzgControllerAdvice.java | 38 +++++++++---------- 1 file changed, 18 insertions(+), 20 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index 43fad96ed..66ba56537 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -4,10 +4,8 @@ import cn.dev33.satoken.exception.NotLoginException; import cn.dev33.satoken.exception.NotPermissionException; import cn.dev33.satoken.exception.NotRoleException; import cn.hutool.core.exceptions.ValidateException; -import cn.hutool.core.io.resource.NoResourceException; import com.czg.resp.CzgRespCode; import com.czg.resp.CzgResult; -import com.fasterxml.jackson.databind.exc.InvalidFormatException; import lombok.extern.slf4j.Slf4j; import org.springframework.context.support.DefaultMessageSourceResolvable; import org.springframework.dao.DuplicateKeyException; @@ -142,24 +140,24 @@ public class CzgControllerAdvice { return CzgResult.failure(CzgRespCode.RECORD_EXISTED); } - @ResponseBody - @ExceptionHandler(value = Exception.class) - @ResponseStatus(HttpStatus.OK) - public CzgResult errorHandler(Exception ex) { - Throwable rootCause = ex; - while (rootCause.getCause() != null) { - rootCause = rootCause.getCause(); - if (rootCause instanceof CzgException) { - break; - } - } - // 处理自定义异常 - if (rootCause instanceof CzgException czgException) { - return CzgResult.failure(czgException.getCode(), czgException.getMessage()); - } - setErrorLog(ex); - return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); - } +// @ResponseBody +// @ExceptionHandler(value = Exception.class) +// @ResponseStatus(HttpStatus.OK) +// public CzgResult errorHandler(Exception ex) { +// Throwable rootCause = ex; +// while (rootCause.getCause() != null) { +// rootCause = rootCause.getCause(); +// if (rootCause instanceof CzgException) { +// break; +// } +// } +// // 处理自定义异常 +// if (rootCause instanceof CzgException czgException) { +// return CzgResult.failure(czgException.getCode(), czgException.getMessage()); +// } +// setErrorLog(ex); +// return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); +// } private void setErrorLog(Exception ex) { // log.error(ex.getMessage()); From f37744b2c6b6ca3bac9e68f452819498f614c07d Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:20:39 +0800 Subject: [PATCH 05/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B03?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/exception/CzgControllerAdvice.java | 58 +++++++++++++------ 1 file changed, 39 insertions(+), 19 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index 66ba56537..c4b9dafcb 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -140,27 +140,47 @@ public class CzgControllerAdvice { return CzgResult.failure(CzgRespCode.RECORD_EXISTED); } -// @ResponseBody -// @ExceptionHandler(value = Exception.class) -// @ResponseStatus(HttpStatus.OK) -// public CzgResult errorHandler(Exception ex) { -// Throwable rootCause = ex; -// while (rootCause.getCause() != null) { -// rootCause = rootCause.getCause(); -// if (rootCause instanceof CzgException) { -// break; -// } -// } -// // 处理自定义异常 -// if (rootCause instanceof CzgException czgException) { -// return CzgResult.failure(czgException.getCode(), czgException.getMessage()); -// } -// setErrorLog(ex); -// return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); -// } + @ResponseBody + @ExceptionHandler(Exception.class) + @ResponseStatus(HttpStatus.OK) + public CzgResult errorHandler(Exception ex) { + // 1. 提取根异常(简化循环逻辑,避免冗余判断) + Throwable rootCause = getRootCause(ex); + + // 2. 处理自定义异常(使用策略模式/条件分支优化,增加注释说明) + if (rootCause instanceof CzgException czgException) { + // 业务自定义异常:返回具体错误码和消息 + return CzgResult.failure(czgException.getCode(), czgException.getMessage()); + } else if (rootCause instanceof OrderValidateException validateException) { + // 订单验证异常:返回验证错误信息 + return CzgResult.failure(validateException.getCode(), validateException.getMessage()); + } else if (rootCause instanceof OrderCancelException) { + // 订单取消/过期异常:固定错误码和提示 + return CzgResult.failure(701, "订单已过期,请重新下单"); + } else if (rootCause instanceof PaySuccessException) { + // 支付成功异常(特殊场景:异常中包含成功状态) + return CzgResult.success("支付成功"); + } + + // 3. 处理未捕获的异常(系统异常,隐藏敏感信息) + log.error("系统未处理异常", ex); + return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), "系统繁忙,请稍后再试"); + } + + /** + * 提取异常链中的根异常(最底层的原始异常) + */ + private Throwable getRootCause(Throwable ex) { + Throwable rootCause = ex; + // 循环获取根异常,直到没有更深层的原因 + while (rootCause.getCause() != null) { + rootCause = rootCause.getCause(); + } + return rootCause; + } private void setErrorLog(Exception ex) { -// log.error(ex.getMessage()); + log.error(ex.getMessage()); log.error("错误", ex); } } From 0428a4a20286e778942d99bc19215332efa7485f Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:25:01 +0800 Subject: [PATCH 06/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/exception/CzgControllerAdvice.java | 58 +++++++++---------- 1 file changed, 28 insertions(+), 30 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index c4b9dafcb..8e7d0f64a 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -141,42 +141,40 @@ public class CzgControllerAdvice { } @ResponseBody - @ExceptionHandler(Exception.class) + @ExceptionHandler(value = Exception.class) @ResponseStatus(HttpStatus.OK) public CzgResult errorHandler(Exception ex) { - // 1. 提取根异常(简化循环逻辑,避免冗余判断) - Throwable rootCause = getRootCause(ex); - - // 2. 处理自定义异常(使用策略模式/条件分支优化,增加注释说明) - if (rootCause instanceof CzgException czgException) { - // 业务自定义异常:返回具体错误码和消息 - return CzgResult.failure(czgException.getCode(), czgException.getMessage()); - } else if (rootCause instanceof OrderValidateException validateException) { - // 订单验证异常:返回验证错误信息 - return CzgResult.failure(validateException.getCode(), validateException.getMessage()); - } else if (rootCause instanceof OrderCancelException) { - // 订单取消/过期异常:固定错误码和提示 - return CzgResult.failure(701, "订单已过期,请重新下单"); - } else if (rootCause instanceof PaySuccessException) { - // 支付成功异常(特殊场景:异常中包含成功状态) - return CzgResult.success("支付成功"); - } - - // 3. 处理未捕获的异常(系统异常,隐藏敏感信息) - log.error("系统未处理异常", ex); - return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), "系统繁忙,请稍后再试"); - } - - /** - * 提取异常链中的根异常(最底层的原始异常) - */ - private Throwable getRootCause(Throwable ex) { Throwable rootCause = ex; - // 循环获取根异常,直到没有更深层的原因 while (rootCause.getCause() != null) { rootCause = rootCause.getCause(); + if (rootCause instanceof CzgException czgException) { + return CzgResult.failure(czgException.getCode(), czgException.getMessage()); + } + if (rootCause instanceof OrderValidateException orderValidateException) { + return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); + } + if (rootCause instanceof PaySuccessException) { + return CzgResult.failure(701, "订单已过期,请重新下单"); + } + if (rootCause instanceof OrderCancelException) { + return CzgResult.success("支付成功"); + } } - return rootCause; + // 处理自定义异常 + if (rootCause instanceof CzgException czgException) { + return CzgResult.failure(czgException.getCode(), czgException.getMessage()); + } + if (rootCause instanceof OrderValidateException orderValidateException) { + return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); + } + if (rootCause instanceof OrderCancelException) { + return CzgResult.failure(701, "订单已过期,请重新下单"); + } + if (rootCause instanceof PaySuccessException) { + return CzgResult.success("支付成功"); + } + setErrorLog(ex); + return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); } private void setErrorLog(Exception ex) { From 5141c019cd163781b84d2b0c4bb03a0f0159e29b Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:28:13 +0800 Subject: [PATCH 07/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B04?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/exception/CzgControllerAdvice.java | 1 + 1 file changed, 1 insertion(+) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index 8e7d0f64a..09f097af6 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -146,6 +146,7 @@ public class CzgControllerAdvice { public CzgResult errorHandler(Exception ex) { Throwable rootCause = ex; while (rootCause.getCause() != null) { + log.info("rootCause:{}", rootCause.getClass()); rootCause = rootCause.getCause(); if (rootCause instanceof CzgException czgException) { return CzgResult.failure(czgException.getCode(), czgException.getMessage()); From 4e90ca436201cd495cdf471ddaa72cb797ca4ce0 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:34:23 +0800 Subject: [PATCH 08/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B05?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/exception/CzgControllerAdvice.java | 59 +++++++++---------- 1 file changed, 29 insertions(+), 30 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index 09f097af6..79c907bcc 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -144,36 +144,35 @@ public class CzgControllerAdvice { @ExceptionHandler(value = Exception.class) @ResponseStatus(HttpStatus.OK) public CzgResult errorHandler(Exception ex) { - Throwable rootCause = ex; - while (rootCause.getCause() != null) { - log.info("rootCause:{}", rootCause.getClass()); - rootCause = rootCause.getCause(); - if (rootCause instanceof CzgException czgException) { - return CzgResult.failure(czgException.getCode(), czgException.getMessage()); - } - if (rootCause instanceof OrderValidateException orderValidateException) { - return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); - } - if (rootCause instanceof PaySuccessException) { - return CzgResult.failure(701, "订单已过期,请重新下单"); - } - if (rootCause instanceof OrderCancelException) { - return CzgResult.success("支付成功"); - } - } - // 处理自定义异常 - if (rootCause instanceof CzgException czgException) { - return CzgResult.failure(czgException.getCode(), czgException.getMessage()); - } - if (rootCause instanceof OrderValidateException orderValidateException) { - return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); - } - if (rootCause instanceof OrderCancelException) { - return CzgResult.failure(701, "订单已过期,请重新下单"); - } - if (rootCause instanceof PaySuccessException) { - return CzgResult.success("支付成功"); - } +// Throwable rootCause = ex; +// while (rootCause.getCause() != null) { +// rootCause = rootCause.getCause(); +// if (rootCause instanceof CzgException czgException) { +// return CzgResult.failure(czgException.getCode(), czgException.getMessage()); +// } +// if (rootCause instanceof OrderValidateException orderValidateException) { +// return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); +// } +// if (rootCause instanceof PaySuccessException) { +// return CzgResult.failure(701, "订单已过期,请重新下单"); +// } +// if (rootCause instanceof OrderCancelException) { +// return CzgResult.success("支付成功"); +// } +// } +// // 处理自定义异常 +// if (rootCause instanceof CzgException czgException) { +// return CzgResult.failure(czgException.getCode(), czgException.getMessage()); +// } +// if (rootCause instanceof OrderValidateException orderValidateException) { +// return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); +// } +// if (rootCause instanceof OrderCancelException) { +// return CzgResult.failure(701, "订单已过期,请重新下单"); +// } +// if (rootCause instanceof PaySuccessException) { +// return CzgResult.success("支付成功"); +// } setErrorLog(ex); return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); } From 0298c53320ff7b8122e326fa7b600eb594b80f27 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:37:08 +0800 Subject: [PATCH 09/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B06?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/czg/exception/OrderValidateException.java | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java b/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java index 58a8a7e5b..086096b0b 100644 --- a/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java +++ b/cash-common/cash-common-tools/src/main/java/com/czg/exception/OrderValidateException.java @@ -16,7 +16,13 @@ public class OrderValidateException extends RuntimeException{ private String msg; public OrderValidateException(String msg) { -// super(msg); + super(msg); + this.code = CzgRespCode.FAILURE.getCode(); + this.msg = msg; + } + + public OrderValidateException(String msg, Throwable e) { + super(msg, e); this.code = CzgRespCode.FAILURE.getCode(); this.msg = msg; } From 351d54579e7dfd453f758a5ec7d38e3fd23ca93f Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:39:54 +0800 Subject: [PATCH 10/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B07?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/exception/CzgControllerAdvice.java | 60 ++++++++++--------- 1 file changed, 31 insertions(+), 29 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index 79c907bcc..af82fa639 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -144,35 +144,37 @@ public class CzgControllerAdvice { @ExceptionHandler(value = Exception.class) @ResponseStatus(HttpStatus.OK) public CzgResult errorHandler(Exception ex) { -// Throwable rootCause = ex; -// while (rootCause.getCause() != null) { -// rootCause = rootCause.getCause(); -// if (rootCause instanceof CzgException czgException) { -// return CzgResult.failure(czgException.getCode(), czgException.getMessage()); -// } -// if (rootCause instanceof OrderValidateException orderValidateException) { -// return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); -// } -// if (rootCause instanceof PaySuccessException) { -// return CzgResult.failure(701, "订单已过期,请重新下单"); -// } -// if (rootCause instanceof OrderCancelException) { -// return CzgResult.success("支付成功"); -// } -// } -// // 处理自定义异常 -// if (rootCause instanceof CzgException czgException) { -// return CzgResult.failure(czgException.getCode(), czgException.getMessage()); -// } -// if (rootCause instanceof OrderValidateException orderValidateException) { -// return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); -// } -// if (rootCause instanceof OrderCancelException) { -// return CzgResult.failure(701, "订单已过期,请重新下单"); -// } -// if (rootCause instanceof PaySuccessException) { -// return CzgResult.success("支付成功"); -// } + Throwable rootCause = ex; + log.info("rootCause2:{}", rootCause); + // 处理自定义异常 + if (rootCause instanceof CzgException czgException) { + return CzgResult.failure(czgException.getCode(), czgException.getMessage()); + } + if (rootCause instanceof OrderValidateException orderValidateException) { + return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); + } + if (rootCause instanceof OrderCancelException) { + return CzgResult.failure(701, "订单已过期,请重新下单"); + } + if (rootCause instanceof PaySuccessException) { + return CzgResult.success("支付成功"); + } + while (rootCause.getCause() != null) { + log.info("rootCause1:{}", rootCause); + rootCause = rootCause.getCause(); + if (rootCause instanceof CzgException czgException) { + return CzgResult.failure(czgException.getCode(), czgException.getMessage()); + } + if (rootCause instanceof OrderValidateException orderValidateException) { + return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); + } + if (rootCause instanceof PaySuccessException) { + return CzgResult.failure(701, "订单已过期,请重新下单"); + } + if (rootCause instanceof OrderCancelException) { + return CzgResult.success("支付成功"); + } + } setErrorLog(ex); return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); } From f45da91a6d601dd0c34c321485f25f033c9d0a2c Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:42:21 +0800 Subject: [PATCH 11/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B08?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/exception/CzgControllerAdvice.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index af82fa639..a7ff0264f 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -145,7 +145,7 @@ public class CzgControllerAdvice { @ResponseStatus(HttpStatus.OK) public CzgResult errorHandler(Exception ex) { Throwable rootCause = ex; - log.info("rootCause2:{}", rootCause); + log.info("rootCause2:{}", rootCause.getClass()); // 处理自定义异常 if (rootCause instanceof CzgException czgException) { return CzgResult.failure(czgException.getCode(), czgException.getMessage()); @@ -160,7 +160,7 @@ public class CzgControllerAdvice { return CzgResult.success("支付成功"); } while (rootCause.getCause() != null) { - log.info("rootCause1:{}", rootCause); + log.info("rootCause1:{}", rootCause.getClass()); rootCause = rootCause.getCause(); if (rootCause instanceof CzgException czgException) { return CzgResult.failure(czgException.getCode(), czgException.getMessage()); From 8634f1a5a606b1fbc2cd914fab4ce3c8fb362eb8 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 12 Nov 2025 11:49:20 +0800 Subject: [PATCH 12/13] =?UTF-8?q?=E5=BC=82=E5=B8=B8=E6=89=93=E5=8D=B09?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/java/com/czg/order/service/OrderInfoService.java | 4 +++- .../czg/service/order/service/impl/OrderInfoServiceImpl.java | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java index 4359f5f23..baffa81e1 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java @@ -1,6 +1,8 @@ package com.czg.order.service; import com.alibaba.fastjson2.JSONObject; +import com.czg.exception.OrderCancelException; +import com.czg.exception.OrderValidateException; import com.czg.order.dto.*; import com.czg.order.entity.OrderDetail; import com.czg.order.entity.OrderInfo; @@ -36,7 +38,7 @@ public interface OrderInfoService extends IService { OrderInfo createOrder(OrderInfoAddDTO param); - OrderInfo checkOrderPay(CheckOrderPay param); + OrderInfo checkOrderPay(CheckOrderPay param) throws OrderValidateException, OrderCancelException; CzgResult mergeOrder(MergeOrderDTO param); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index e37c3b2f6..b42cc4df9 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -317,7 +317,7 @@ public class OrderInfoServiceImpl extends ServiceImpl Date: Wed, 12 Nov 2025 13:30:57 +0800 Subject: [PATCH 13/13] =?UTF-8?q?=E9=A2=9D=E5=A4=96=E7=9A=84=E5=BC=82?= =?UTF-8?q?=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../czg/exception/CzgControllerAdvice.java | 37 ++----------------- .../czg/order/service/OrderInfoService.java | 2 +- .../service/impl/OrderInfoServiceImpl.java | 8 ++-- 3 files changed, 9 insertions(+), 38 deletions(-) diff --git a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java index a7ff0264f..6f5befdd9 100644 --- a/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java +++ b/cash-common/cash-common-api-config/src/main/java/com/czg/exception/CzgControllerAdvice.java @@ -144,39 +144,10 @@ public class CzgControllerAdvice { @ExceptionHandler(value = Exception.class) @ResponseStatus(HttpStatus.OK) public CzgResult errorHandler(Exception ex) { - Throwable rootCause = ex; - log.info("rootCause2:{}", rootCause.getClass()); - // 处理自定义异常 - if (rootCause instanceof CzgException czgException) { - return CzgResult.failure(czgException.getCode(), czgException.getMessage()); - } - if (rootCause instanceof OrderValidateException orderValidateException) { - return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); - } - if (rootCause instanceof OrderCancelException) { - return CzgResult.failure(701, "订单已过期,请重新下单"); - } - if (rootCause instanceof PaySuccessException) { - return CzgResult.success("支付成功"); - } - while (rootCause.getCause() != null) { - log.info("rootCause1:{}", rootCause.getClass()); - rootCause = rootCause.getCause(); - if (rootCause instanceof CzgException czgException) { - return CzgResult.failure(czgException.getCode(), czgException.getMessage()); - } - if (rootCause instanceof OrderValidateException orderValidateException) { - return CzgResult.failure(orderValidateException.getCode(), orderValidateException.getMessage()); - } - if (rootCause instanceof PaySuccessException) { - return CzgResult.failure(701, "订单已过期,请重新下单"); - } - if (rootCause instanceof OrderCancelException) { - return CzgResult.success("支付成功"); - } - } - setErrorLog(ex); - return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), ex.getMessage()); +// setErrorLog(ex); + // 3. 处理未捕获的异常(系统异常,隐藏敏感信息) + log.error("系统未处理异常", ex); // 替换原有 setErrorLog,使用日志框架 + return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), "系统繁忙,请稍后再试"); } private void setErrorLog(Exception ex) { diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java index baffa81e1..b95ce057f 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/service/OrderInfoService.java @@ -58,7 +58,7 @@ public interface OrderInfoService extends IService { Boolean removeOrderDetail(Long shopId, Long orderId, Long detailId); - Boolean cancelledOrder(Long shopId, Long orderId); + Boolean cancelledOrder(Long shopId, Long orderId) throws OrderCancelException ; Boolean cancelledPlaceOrder(Long shopId, Long orderId, Integer placeNum); diff --git a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java index b42cc4df9..7a039dbbf 100644 --- a/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java +++ b/cash-service/order-service/src/main/java/com/czg/service/order/service/impl/OrderInfoServiceImpl.java @@ -264,7 +264,7 @@ public class OrderInfoServiceImpl extends ServiceImpl