From 0549a077b294d71070f3fc79f73a85ba0b886ee9 Mon Sep 17 00:00:00 2001 From: wangw <1594593906@qq.com> Date: Wed, 21 Jan 2026 10:17:09 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=9A=E5=91=98=E5=85=85=E5=80=BC/=E9=9C=B8?= =?UTF-8?q?=E7=8E=8B=E9=A4=90=E6=94=AF=E4=BB=98=20=E5=85=B3=E8=81=94id?= =?UTF-8?q?=E9=97=AE=E9=A2=98=20=E7=BB=9F=E4=B8=80=E5=BC=82=E5=B8=B8?= =?UTF-8?q?=E6=8B=A6=E6=88=AA=20rootCause=20=E5=80=BC=20CLIENT=5FLOGIC=20?= =?UTF-8?q?=E4=B8=8E=20USER=5FLOGIC=20=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../user/UDistributionController.java | 4 +- .../czg/exception/CzgControllerAdvice.java | 26 ++++--- .../java/com/czg/config/SaTokenConfigure.java | 13 ++-- .../src/main/java/com/czg/sa/MyStpLogic.java | 4 +- .../service/MkDistributionUserService.java | 2 +- .../java/com/czg/order/dto/LtPayOtherDTO.java | 5 ++ .../src/main/java/com/czg/utils/FunUtils.java | 2 +- .../impl/MkDistributionUserServiceImpl.java | 4 +- .../impl/OrderInfoCustomServiceImpl.java | 73 +++++++++---------- .../order/service/impl/PayServiceImpl.java | 2 +- .../service/impl/ShopUserServiceImpl.java | 3 + 11 files changed, 73 insertions(+), 65 deletions(-) diff --git a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java index cdd774c78..3a79cc38c 100644 --- a/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java +++ b/cash-api/market-server/src/main/java/com/czg/controller/user/UDistributionController.java @@ -19,6 +19,7 @@ import com.czg.utils.FunUtils; import com.mybatisflex.core.paginate.Page; import jakarta.annotation.Resource; import lombok.extern.slf4j.Slf4j; +import org.springframework.core.NestedExceptionUtils; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.*; @@ -114,7 +115,8 @@ public class UDistributionController { try { return CzgResult.success(distributionUserService.getInviteCode(shopId, shopUserId)); } catch (Exception e) { - log.error("获取邀请码失败用户:{},:{}", shopUserId, e.getMessage()); + String rootMsg = NestedExceptionUtils.getMostSpecificCause(e).getMessage(); + log.error("获取邀请码失败用户:{},:{}", shopUserId, rootMsg); return CzgResult.success(""); } } 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 b4aeb5569..9c1a91b3e 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 @@ -8,6 +8,7 @@ import com.czg.resp.CzgRespCode; import com.czg.resp.CzgResult; import lombok.extern.slf4j.Slf4j; import org.springframework.context.support.DefaultMessageSourceResolvable; +import org.springframework.core.NestedExceptionUtils; import org.springframework.dao.DuplicateKeyException; import org.springframework.http.HttpStatus; import org.springframework.http.converter.HttpMessageNotReadableException; @@ -164,20 +165,23 @@ public class CzgControllerAdvice { @ResponseStatus(HttpStatus.OK) public CzgResult errorHandler(Exception ex) { log.error("系统未处理异常", ex); - Throwable rootCause = ex; - while (rootCause.getCause() != null && !(rootCause instanceof CzgException)) { - rootCause = rootCause.getCause(); - } + String rootMsg = NestedExceptionUtils.getMostSpecificCause(ex).getMessage(); + return CzgResult.failure(CzgRespCode.FAILURE.getCode(), rootMsg); - // 2. 如果根因是CzgException,直接抛出/返回该异常 - if (rootCause instanceof CzgException exception) { - return CzgResult.failure(exception.getCode(), exception.getMsg()); - }else if (rootCause instanceof ValidateException exception) { - return CzgResult.failure(exception.getStatus(), exception.getMessage()); - } +// Throwable rootCause = ex; +// while (rootCause.getCause() != null && !(rootCause instanceof CzgException)) { +// rootCause = rootCause.getCause(); +// } +// +// // 2. 如果根因是CzgException,直接抛出/返回该异常 +// if (rootCause instanceof CzgException exception) { +// return CzgResult.failure(exception.getCode(), exception.getMsg()); +// }else if (rootCause instanceof ValidateException exception) { +// return CzgResult.failure(exception.getStatus(), exception.getMessage()); +// } // 3. 非业务异常,按原有逻辑处理 - return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), "系统错误,请联系管理员"); +// return CzgResult.failure(CzgRespCode.SYSTEM_ERROR.getCode(), "系统错误,请联系管理员"); } private void setErrorLog(Exception ex) { diff --git a/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java b/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java index 0db1729e8..70acd5376 100644 --- a/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java +++ b/cash-common/cash-common-sa-token/src/main/java/com/czg/config/SaTokenConfigure.java @@ -43,7 +43,7 @@ public class SaTokenConfigure implements WebMvcConfigurer { userConfig.setIsShare(true); // config2.setTimeout(2000); userConfig.setTokenStyle("simple-uuid"); - MyStpLogic.CLIENT_LOGIC.setConfig(userConfig); + MyStpLogic.USER_LOGIC.setConfig(userConfig); } @PostConstruct @@ -62,18 +62,15 @@ public class SaTokenConfigure implements WebMvcConfigurer { // 重置根路径,防止satoken切割根路径导致匹配不到路径 ApplicationInfo.routePrefix = ""; - SaRouter.match("/user/**").notMatch("/user/login", "/user/test", "/user/geo/**", "/user/home/**", "/user/home/**", "/user/dict/**", "/user/openId") - .notMatch("/pay/**") - .notMatch("/notify/**") - .check(r -> MyStpLogic.CLIENT_LOGIC.checkLogin()) + SaRouter + .match("/user/**") + .notMatch("/user/login", "/user/geo/**", "/user/home/**", "/user/dict/**", "/user/openId") + .check(r -> MyStpLogic.USER_LOGIC.checkLogin()) .setHit(true) // .match("/**") - .notMatch("/user/**") - .notMatch("/pay/**") .notMatch("/notify/**") .notMatch("/admin/auth/**") .notMatch("/admin/shopMsgPush/subscribe/**") - .notMatch("/admin/coupon/grant") .check(r -> { ServletRequestAttributes attributes = (ServletRequestAttributes) RequestContextHolder.getRequestAttributes(); diff --git a/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java b/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java index cf76a8563..cb205f344 100644 --- a/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java +++ b/cash-common/cash-common-sa-token/src/main/java/com/czg/sa/MyStpLogic.java @@ -27,7 +27,7 @@ import java.util.function.Consumer; @Slf4j @Getter public class MyStpLogic { - public static final StpLogic CLIENT_LOGIC = new StpLogic("client"); + public static final StpLogic USER_LOGIC = new StpLogic("user"); public static final StpLogic ADMIN_LOGIC = new StpLogic("admin"); public Object isPC() { @@ -42,7 +42,7 @@ public class MyStpLogic { private StpLogic getLogic() { boolean hit = SaRouter.match("/user/**").isHit(); if (hit) { - return CLIENT_LOGIC; + return USER_LOGIC; } return ADMIN_LOGIC; } diff --git a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java index 56da8d67b..6afc074f5 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/market/service/MkDistributionUserService.java @@ -51,7 +51,7 @@ public interface MkDistributionUserService extends IService /** * 分销员中心-获取邀请码 */ - String getInviteCode(Long shopId, Long shopUserId) throws CzgException; + String getInviteCode(Long shopId, Long shopUserId) throws CzgException, ValidateException ; /** * 分销员中心-实名认证 diff --git a/cash-common/cash-common-service/src/main/java/com/czg/order/dto/LtPayOtherDTO.java b/cash-common/cash-common-service/src/main/java/com/czg/order/dto/LtPayOtherDTO.java index 587adb002..285160f06 100644 --- a/cash-common/cash-common-service/src/main/java/com/czg/order/dto/LtPayOtherDTO.java +++ b/cash-common/cash-common-service/src/main/java/com/czg/order/dto/LtPayOtherDTO.java @@ -58,8 +58,13 @@ public class LtPayOtherDTO { * 对应的记录Id 支付回调向该内容进行回填 * 积分商品为 mk_points_goods_record 主键id * 团购商品为 gb_order_detail 主键id + * */ private Long recordId; + /** + * 霸王餐充值为 订单id 会员充值为 活动id + */ + private Long relatedId; public void checkPayInfo(){ AssertUtil.isBlank(payType, "支付方式不能为空"); diff --git a/cash-common/cash-common-tools/src/main/java/com/czg/utils/FunUtils.java b/cash-common/cash-common-tools/src/main/java/com/czg/utils/FunUtils.java index 88f6035bf..5e41792d4 100644 --- a/cash-common/cash-common-tools/src/main/java/com/czg/utils/FunUtils.java +++ b/cash-common/cash-common-tools/src/main/java/com/czg/utils/FunUtils.java @@ -38,7 +38,7 @@ public class FunUtils { func.run(); } catch (Exception e) { String message = NestedExceptionUtils.getMostSpecificCause(e).getMessage(); - log.warn(msg.length > 0 ? msg[0] : "方法执行失败: {}", message); + log.warn((msg.length > 0 ? msg[0] : "方法执行失败") + ": " + message); } } 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 0b3e6a2a0..eee6c5fad 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 @@ -198,7 +198,7 @@ public class MkDistributionUserServiceImpl extends ServiceImpl