From 92dbc613d286e051ea23aa0c687a41b3250ada5f Mon Sep 17 00:00:00 2001 From: ZhouXY108 Date: Sat, 18 Feb 2023 11:00:40 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E7=BB=9F=E4=B8=80=E7=A9=BA=E6=A0=BC?= =?UTF-8?q?=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .editorconfig | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.editorconfig b/.editorconfig index d37d8e9..3a36289 100644 --- a/.editorconfig +++ b/.editorconfig @@ -33,4 +33,4 @@ indent_size=4 indent_size=2 [*.java] -indent_size = 4 +indent_size=4 From 9293ba6817265d81a2ed1b31c639314b0e8ed12b Mon Sep 17 00:00:00 2001 From: ZhouXY108 Date: Sun, 19 Feb 2023 04:21:39 +0800 Subject: [PATCH 2/3] 20230219 --- .../handler/SysExceptionHandler.java | 28 ++++++++++++++ plusone-basic/plusone-basic-common/pom.xml | 4 +- .../plusone/exception/BizException.java | 37 +++++++++++++++++++ .../exception/DataNotExistException.java | 2 +- .../DataOperationResultException.java | 3 +- .../plusone/exception/SysException.java | 32 ++++++++++++++++ .../exception/UserOperationException.java | 2 +- .../zhouxy/plusone/constant/EntityStatus.java | 4 +- .../plusone/sms/TencentSmsServiceImpl.java | 4 +- .../java/xyz/zhouxy/plusone/SerialTests.java | 4 +- .../exception/AccountLoginException.java | 4 +- .../exception/AccountRegisterException.java | 4 +- .../plusone/system/util/PasswordUtil.java | 4 +- .../domain/model/account/AccountStatus.java | 4 +- .../system/domain/model/account/Password.java | 4 +- .../system/domain/model/account/Sex.java | 10 ++--- 16 files changed, 122 insertions(+), 28 deletions(-) create mode 100644 plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java create mode 100644 plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java create mode 100644 plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java diff --git a/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java b/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java new file mode 100644 index 0000000..197d3bd --- /dev/null +++ b/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java @@ -0,0 +1,28 @@ +package xyz.zhouxy.plusone.exception.handler; + +import javax.annotation.Nonnull; + +import org.springframework.http.HttpStatus; +import org.springframework.http.ResponseEntity; +import org.springframework.web.bind.annotation.ExceptionHandler; +import org.springframework.web.bind.annotation.RestControllerAdvice; + +import lombok.extern.slf4j.Slf4j; +import xyz.zhouxy.plusone.exception.SysException; +import xyz.zhouxy.plusone.util.RestfulResult; + +@RestControllerAdvice +@Slf4j +public class SysExceptionHandler extends BaseExceptionHandler { + + public SysExceptionHandler(ExceptionInfoHolder exceptionInfoHolder) { + super(exceptionInfoHolder); + } + + @ExceptionHandler({ SysException.class }) + public ResponseEntity handleException(@Nonnull Exception e) { + log.error(e.getMessage(), e); + HttpStatus httpStatus = getHttpStatus(e); + return new ResponseEntity<>(RestfulResult.error(getErrorCode(e), "系统错误"), httpStatus); + } +} diff --git a/plusone-basic/plusone-basic-common/pom.xml b/plusone-basic/plusone-basic-common/pom.xml index edb8cff..b476f10 100644 --- a/plusone-basic/plusone-basic-common/pom.xml +++ b/plusone-basic/plusone-basic-common/pom.xml @@ -39,12 +39,12 @@ xyz.zhouxy.plusone plusone-commons - 0.0.1-SNAPSHOT + 0.1.0-SNAPSHOT xyz.zhouxy.plusone plusone-validator - 0.1.0-SNAPSHOT + 0.1.2-SNAPSHOT xyz.zhouxy.plusone diff --git a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java new file mode 100644 index 0000000..7db0765 --- /dev/null +++ b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java @@ -0,0 +1,37 @@ +package xyz.zhouxy.plusone.exception; + +/** + * 业务异常 + * + * @author ZhouXY + */ +public class BizException extends BaseException { + @java.io.Serial + private static final long serialVersionUID = -5524759033245815405L; + + public static final int DEFAULT_ERROR_CODE = 4000000; + + public BizException(int code, String msg) { + super(code, msg); + } + + public BizException(int code, Throwable cause) { + super(code, cause); + } + + public BizException(int code, String msg, Throwable cause) { + super(code, msg, cause); + } + + public BizException(String msg) { + super(DEFAULT_ERROR_CODE, msg); + } + + public BizException(Throwable cause) { + super(DEFAULT_ERROR_CODE, cause); + } + + public BizException(String msg, Throwable cause) { + super(DEFAULT_ERROR_CODE, msg, cause); + } +} diff --git a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataNotExistException.java b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataNotExistException.java index 11a386d..d7fd7d7 100644 --- a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataNotExistException.java +++ b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataNotExistException.java @@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.ResponseStatus; * @author ZhouXY */ @ResponseStatus(HttpStatus.NOT_FOUND) -public class DataNotExistException extends PlusoneException { +public class DataNotExistException extends BizException { @java.io.Serial private static final long serialVersionUID = 6536955800679703111L; diff --git a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataOperationResultException.java b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataOperationResultException.java index 79dc910..2e50080 100644 --- a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataOperationResultException.java +++ b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/DataOperationResultException.java @@ -8,13 +8,12 @@ import org.springframework.web.bind.annotation.ResponseStatus; * *

* 暂时先这样,后续完善异常体系时可能会更改。 - *

* * @author ZhouXY * @see xyz.zhouxy.plusone.util.AssertResult */ @ResponseStatus(HttpStatus.INTERNAL_SERVER_ERROR) -public class DataOperationResultException extends PlusoneException { +public class DataOperationResultException extends SysException { @java.io.Serial private static final long serialVersionUID = -9220765735990318186L; diff --git a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java new file mode 100644 index 0000000..500fa16 --- /dev/null +++ b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java @@ -0,0 +1,32 @@ +package xyz.zhouxy.plusone.exception; + +public class SysException extends BaseException { + @java.io.Serial + private static final long serialVersionUID = 8821240827443168118L; + + public static final int DEFAULT_ERROR_CODE = 5000000; + + public SysException(int code, String msg) { + super(code, msg); + } + + public SysException(int code, Throwable cause) { + super(code, cause); + } + + public SysException(int code, String msg, Throwable cause) { + super(code, msg, cause); + } + + public SysException(String msg) { + super(DEFAULT_ERROR_CODE, msg); + } + + public SysException(Throwable cause) { + super(DEFAULT_ERROR_CODE, cause); + } + + public SysException(String msg, Throwable cause) { + super(DEFAULT_ERROR_CODE, msg, cause); + } +} diff --git a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/UserOperationException.java b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/UserOperationException.java index 77474b8..812136b 100644 --- a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/UserOperationException.java +++ b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/UserOperationException.java @@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.ResponseStatus; * @author ZhouXY */ @ResponseStatus(HttpStatus.BAD_REQUEST) -public class UserOperationException extends PlusoneException { +public class UserOperationException extends BizException { @java.io.Serial private static final long serialVersionUID = 4371055414421991940L; diff --git a/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java b/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java index cc0f7c7..cc5623c 100644 --- a/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java +++ b/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java @@ -1,7 +1,6 @@ package xyz.zhouxy.plusone.constant; import xyz.zhouxy.plusone.util.Enumeration; -import xyz.zhouxy.plusone.util.EnumerationValuesHolder; /** * 实体状态 @@ -19,7 +18,8 @@ public class EntityStatus extends Enumeration { public static final EntityStatus DISABLED = new EntityStatus(1, "禁用"); private static final EnumerationValuesHolder ENUMERATION_VALUES = new EnumerationValuesHolder<>( - new EntityStatus[] { AVAILABLE, DISABLED }); + AVAILABLE, + DISABLED); public static EntityStatus of(int value) { return ENUMERATION_VALUES.get(value); diff --git a/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/sms/TencentSmsServiceImpl.java b/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/sms/TencentSmsServiceImpl.java index da22bad..1355b6b 100644 --- a/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/sms/TencentSmsServiceImpl.java +++ b/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/sms/TencentSmsServiceImpl.java @@ -12,7 +12,7 @@ import org.springframework.stereotype.Service; import lombok.extern.slf4j.Slf4j; import xyz.zhouxy.plusone.constant.ErrorCodeConsts; -import xyz.zhouxy.plusone.exception.PlusoneException; +import xyz.zhouxy.plusone.exception.BizException; import xyz.zhouxy.plusone.sms.SmsProperties.SmsCredentialProperties; import xyz.zhouxy.plusone.sms.SmsProperties.SmsHttpProperties; import xyz.zhouxy.plusone.sms.SmsProperties.SmsProxyProperties; @@ -69,7 +69,7 @@ public class TencentSmsServiceImpl implements SmsService { } catch (TencentCloudSDKException e) { log.error(e.getMessage(), e); - throw new PlusoneException(ErrorCodeConsts.DEFAULT_ERROR_CODE, e); + throw new BizException(ErrorCodeConsts.DEFAULT_ERROR_CODE, e); } } diff --git a/plusone-start/src/test/java/xyz/zhouxy/plusone/SerialTests.java b/plusone-start/src/test/java/xyz/zhouxy/plusone/SerialTests.java index 436ecb6..2e8844d 100644 --- a/plusone-start/src/test/java/xyz/zhouxy/plusone/SerialTests.java +++ b/plusone-start/src/test/java/xyz/zhouxy/plusone/SerialTests.java @@ -5,14 +5,14 @@ import java.io.ObjectStreamClass; import org.junit.jupiter.api.Test; import lombok.extern.slf4j.Slf4j; -import xyz.zhouxy.plusone.exception.PlusoneException; +import xyz.zhouxy.plusone.exception.*; @Slf4j class SerialTests { @Test void testSerialVersionUID() { - var cl = PlusoneException.class; + var cl = SysException.class; var c = ObjectStreamClass.lookup(cl); var uid = c.getSerialVersionUID(); log.info("\n @java.io.Serial" + diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountLoginException.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountLoginException.java index 106cbea..7668e15 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountLoginException.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountLoginException.java @@ -3,10 +3,10 @@ package xyz.zhouxy.plusone.system.application.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; -import xyz.zhouxy.plusone.exception.PlusoneException; +import xyz.zhouxy.plusone.exception.BizException; @ResponseStatus(HttpStatus.BAD_REQUEST) -public class AccountLoginException extends PlusoneException { +public class AccountLoginException extends BizException { @java.io.Serial private static final long serialVersionUID = -3040996790739138556L; diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountRegisterException.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountRegisterException.java index 9ed0900..94d7303 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountRegisterException.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/AccountRegisterException.java @@ -3,10 +3,10 @@ package xyz.zhouxy.plusone.system.application.exception; import org.springframework.http.HttpStatus; import org.springframework.web.bind.annotation.ResponseStatus; -import xyz.zhouxy.plusone.exception.PlusoneException; +import xyz.zhouxy.plusone.exception.BizException; @ResponseStatus(HttpStatus.BAD_REQUEST) -public class AccountRegisterException extends PlusoneException { +public class AccountRegisterException extends BizException { @java.io.Serial private static final long serialVersionUID = 7580245181633370195L; diff --git a/plusone-system/plusone-system-common/src/main/java/xyz/zhouxy/plusone/system/util/PasswordUtil.java b/plusone-system/plusone-system-common/src/main/java/xyz/zhouxy/plusone/system/util/PasswordUtil.java index 38d95b8..e377ca7 100644 --- a/plusone-system/plusone-system-common/src/main/java/xyz/zhouxy/plusone/system/util/PasswordUtil.java +++ b/plusone-system/plusone-system-common/src/main/java/xyz/zhouxy/plusone/system/util/PasswordUtil.java @@ -5,7 +5,7 @@ import javax.annotation.Nonnull; import cn.hutool.core.util.RandomUtil; import cn.hutool.crypto.digest.DigestUtil; import xyz.zhouxy.plusone.constant.ErrorCodeConsts; -import xyz.zhouxy.plusone.exception.PlusoneException; +import xyz.zhouxy.plusone.exception.BizException; /** * 密码工具类 @@ -31,7 +31,7 @@ public final class PasswordUtil { + salt.substring(1); String sha512Hex = DigestUtil.sha512Hex(passwordWithSalt); if (sha512Hex == null) { - throw new PlusoneException(ErrorCodeConsts.DEFAULT_ERROR_CODE, "未知错误:哈希加密失败!"); + throw new BizException(ErrorCodeConsts.DEFAULT_ERROR_CODE, "未知错误:哈希加密失败!"); } return sha512Hex; } diff --git a/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/AccountStatus.java b/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/AccountStatus.java index 1ecaef3..f310fce 100644 --- a/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/AccountStatus.java +++ b/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/AccountStatus.java @@ -3,7 +3,6 @@ package xyz.zhouxy.plusone.system.domain.model.account; import lombok.Getter; import xyz.zhouxy.plusone.domain.IValueObject; import xyz.zhouxy.plusone.util.Enumeration; -import xyz.zhouxy.plusone.util.EnumerationValuesHolder; /** * 账号状态 @@ -21,7 +20,8 @@ public class AccountStatus extends Enumeration implements IValueO public static final AccountStatus LOCKED = new AccountStatus(1, "账号被锁定"); private static final EnumerationValuesHolder ENUMERATION_VALUES = new EnumerationValuesHolder<>( - new AccountStatus[] { AVAILABLE, LOCKED }); + AVAILABLE, + LOCKED); public static AccountStatus of(int value) { return ENUMERATION_VALUES.get(value); diff --git a/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Password.java b/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Password.java index 596e5a7..2e1b7bd 100644 --- a/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Password.java +++ b/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Password.java @@ -10,7 +10,7 @@ import org.springframework.util.Assert; import xyz.zhouxy.plusone.constant.ErrorCodeConsts; import xyz.zhouxy.plusone.constant.RegexConsts; import xyz.zhouxy.plusone.domain.IValueObject; -import xyz.zhouxy.plusone.exception.PlusoneException; +import xyz.zhouxy.plusone.exception.BizException; import xyz.zhouxy.plusone.system.util.PasswordUtil; /** @@ -37,7 +37,7 @@ public class Password implements IValueObject { } var salt = PasswordUtil.generateRandomSalt(); if (salt == null) { - throw new PlusoneException(ErrorCodeConsts.DEFAULT_ERROR_CODE, "未知错误:生成随机盐失败"); + throw new BizException(ErrorCodeConsts.DEFAULT_ERROR_CODE, "未知错误:生成随机盐失败"); } this.saltVal = salt; this.passwordVal = PasswordUtil.hashPassword(password, salt); diff --git a/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Sex.java b/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Sex.java index cb7112b..cb7af1d 100644 --- a/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Sex.java +++ b/plusone-system/plusone-system-domain/src/main/java/xyz/zhouxy/plusone/system/domain/model/account/Sex.java @@ -2,7 +2,6 @@ package xyz.zhouxy.plusone.system.domain.model.account; import xyz.zhouxy.plusone.domain.IValueObject; import xyz.zhouxy.plusone.util.Enumeration; -import xyz.zhouxy.plusone.util.EnumerationValuesHolder; /** * 值对象:性别 @@ -18,11 +17,10 @@ public class Sex extends Enumeration implements IValueObject { super(value, name); } - private static EnumerationValuesHolder values = new EnumerationValuesHolder<>(new Sex[] { - UNSET, - MALE, - FEMALE - }); + private static EnumerationValuesHolder values = new EnumerationValuesHolder<>( + UNSET, + MALE, + FEMALE); public static Sex of(int value) { return values.get(value); From a0b16afde2fbe4a738823b0f047b22affceddcb1 Mon Sep 17 00:00:00 2001 From: ZhouXY108 Date: Fri, 24 Feb 2023 17:30:18 +0800 Subject: [PATCH 3/3] =?UTF-8?q?plusone-commons=20=E9=87=8D=E6=9E=84?= =?UTF-8?q?=EF=BC=8C=E4=BB=A3=E7=A0=81=E9=9A=8F=E4=B9=8B=E9=87=8D=E6=9E=84?= =?UTF-8?q?=E8=B0=83=E6=95=B4=E3=80=82?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../handler/DefaultExceptionHandler.java | 2 +- .../handler/SysExceptionHandler.java | 2 +- .../plusone/exception/BizException.java | 2 ++ .../plusone/exception/SysException.java | 2 ++ .../zhouxy/plusone/constant/EntityStatus.java | 2 +- .../xyz/zhouxy/plusone/util/RegexUtil.java | 36 ------------------- .../plusone/jdbc/PlusoneJdbcDaoSupport.java | 2 +- .../validatortest/BaseValidatorTest.java | 8 +++-- .../UnsupportedPrincipalTypeException.java | 29 +++++++++++++++ .../common/util/PrincipalUtil.java | 10 +++--- .../controller/AccountContextController.java | 2 +- .../AccountManagementController.java | 4 +-- .../controller/AdminLoginController.java | 4 +-- .../controller/DictManagementController.java | 4 +-- .../controller/MenuManagementController.java | 4 +-- .../controller/RegisterAccountController.java | 4 +-- .../controller/RoleManagementController.java | 2 +- .../handler/AccountLoginExceptionHandler.java | 2 +- .../handler/SaTokenExceptionHandler.java | 2 +- .../application/query/AccountQueries.java | 2 +- .../query/params/AccountQueryParams.java | 2 +- .../query/params/DictQueryParams.java | 2 +- .../query/params/RoleQueryParams.java | 2 +- .../service/AccountContextService.java | 16 ++++----- .../service/AccountManagementService.java | 2 +- .../service/AdminLoginService.java | 4 +-- .../service/RegisterAccountService.java | 6 ++-- .../validator/LoginByOtpCommandValidator.java | 6 ++-- .../LoginByPasswordCommandValidator.java | 7 ++-- .../domain/model/account/AccountStatus.java | 2 +- .../system/domain/model/account/Sex.java | 2 +- .../domain/model/menu/MenuRepositoryImpl.java | 2 +- pom.xml | 10 ++---- 33 files changed, 91 insertions(+), 97 deletions(-) delete mode 100644 plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/util/RegexUtil.java create mode 100644 plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/exception/UnsupportedPrincipalTypeException.java diff --git a/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/DefaultExceptionHandler.java b/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/DefaultExceptionHandler.java index d1a9103..aeb8918 100644 --- a/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/DefaultExceptionHandler.java +++ b/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/DefaultExceptionHandler.java @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import lombok.extern.slf4j.Slf4j; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; /** * 默认异常的处理器 diff --git a/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java b/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java index 197d3bd..b9ad4f6 100644 --- a/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java +++ b/plusone-basic/plusone-basic-application/src/main/java/xyz/zhouxy/plusone/exception/handler/SysExceptionHandler.java @@ -8,8 +8,8 @@ import org.springframework.web.bind.annotation.ExceptionHandler; import org.springframework.web.bind.annotation.RestControllerAdvice; import lombok.extern.slf4j.Slf4j; +import xyz.zhouxy.plusone.commons.util.RestfulResult; import xyz.zhouxy.plusone.exception.SysException; -import xyz.zhouxy.plusone.util.RestfulResult; @RestControllerAdvice @Slf4j diff --git a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java index 7db0765..d72f08a 100644 --- a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java +++ b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/BizException.java @@ -1,5 +1,7 @@ package xyz.zhouxy.plusone.exception; +import xyz.zhouxy.plusone.commons.exception.BaseException; + /** * 业务异常 * diff --git a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java index 500fa16..77703dd 100644 --- a/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java +++ b/plusone-basic/plusone-basic-common/src/main/java/xyz/zhouxy/plusone/exception/SysException.java @@ -1,5 +1,7 @@ package xyz.zhouxy.plusone.exception; +import xyz.zhouxy.plusone.commons.exception.BaseException; + public class SysException extends BaseException { @java.io.Serial private static final long serialVersionUID = 8821240827443168118L; diff --git a/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java b/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java index cc5623c..77c9e19 100644 --- a/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java +++ b/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/constant/EntityStatus.java @@ -1,6 +1,6 @@ package xyz.zhouxy.plusone.constant; -import xyz.zhouxy.plusone.util.Enumeration; +import xyz.zhouxy.plusone.commons.util.Enumeration; /** * 实体状态 diff --git a/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/util/RegexUtil.java b/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/util/RegexUtil.java deleted file mode 100644 index d0a5538..0000000 --- a/plusone-basic/plusone-basic-domain/src/main/java/xyz/zhouxy/plusone/util/RegexUtil.java +++ /dev/null @@ -1,36 +0,0 @@ -package xyz.zhouxy.plusone.util; - -import java.util.regex.Pattern; - -public class RegexUtil { - - private RegexUtil() { - throw new IllegalStateException("Utility class"); - } - - public static boolean matches(CharSequence input, String regex) { - return Pattern.matches(regex, input); - } - - public static boolean matchesOr(CharSequence input, String... regexs) { - boolean isMatched; - for (var regex : regexs) { - isMatched = Pattern.matches(regex, input); - if (isMatched) { - return true; - } - } - return false; - } - - public static boolean matchesAnd(CharSequence input, String... regexs) { - boolean isMatched; - for (var regex : regexs) { - isMatched = Pattern.matches(regex, input); - if (!isMatched) { - return false; - } - } - return true; - } -} diff --git a/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/jdbc/PlusoneJdbcDaoSupport.java b/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/jdbc/PlusoneJdbcDaoSupport.java index 95cb1ef..ff90f2f 100644 --- a/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/jdbc/PlusoneJdbcDaoSupport.java +++ b/plusone-basic/plusone-basic-infrastructure/src/main/java/xyz/zhouxy/plusone/jdbc/PlusoneJdbcDaoSupport.java @@ -15,8 +15,8 @@ import org.springframework.jdbc.core.namedparam.MapSqlParameterSource; import org.springframework.jdbc.core.namedparam.NamedParameterJdbcTemplate; import org.springframework.jdbc.core.namedparam.SqlParameterSource; +import xyz.zhouxy.plusone.commons.util.NumberUtil; import xyz.zhouxy.plusone.exception.DataOperationResultException; -import xyz.zhouxy.plusone.util.NumberUtil; public abstract class PlusoneJdbcDaoSupport { protected final NamedParameterJdbcTemplate jdbc; diff --git a/plusone-basic/plusone-basic-infrastructure/src/test/java/xyz/zhouxy/plusone/validatortest/BaseValidatorTest.java b/plusone-basic/plusone-basic-infrastructure/src/test/java/xyz/zhouxy/plusone/validatortest/BaseValidatorTest.java index f63da55..b07aa1e 100644 --- a/plusone-basic/plusone-basic-infrastructure/src/test/java/xyz/zhouxy/plusone/validatortest/BaseValidatorTest.java +++ b/plusone-basic/plusone-basic-infrastructure/src/test/java/xyz/zhouxy/plusone/validatortest/BaseValidatorTest.java @@ -1,11 +1,13 @@ package xyz.zhouxy.plusone.validatortest; +import java.util.regex.Pattern; + import org.junit.jupiter.api.Test; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; -import xyz.zhouxy.plusone.constant.RegexConsts; +import xyz.zhouxy.plusone.commons.constant.PatternConsts; import xyz.zhouxy.plusone.validator.BaseValidator; class BaseValidatorTest { @@ -34,11 +36,11 @@ class LoginCommandValidator extends BaseValidator { private LoginCommandValidator() { ruleForString(LoginCommand::getAccount) .notNull("邮箱地址不能为空") - .matchesOr(new String[] { RegexConsts.EMAIL, RegexConsts.MOBILE_PHONE }, + .matchesOr(new Pattern[] { PatternConsts.EMAIL, PatternConsts.MOBILE_PHONE }, value -> new RuntimeException('"' + value + "\" 不是邮箱地址或手机号")); ruleForString(LoginCommand::getPwd) .notNull("密码不能为空") .notEmpty("密码不能为空") - .matches(RegexConsts.PASSWORD, "密码格式错误"); + .matches(PatternConsts.PASSWORD, "密码格式错误"); } } diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/exception/UnsupportedPrincipalTypeException.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/exception/UnsupportedPrincipalTypeException.java new file mode 100644 index 0000000..de90bae --- /dev/null +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/exception/UnsupportedPrincipalTypeException.java @@ -0,0 +1,29 @@ +package xyz.zhouxy.plusone.system.application.common.exception; + +import xyz.zhouxy.plusone.exception.BizException; + +/** + * 不支持的 Principal 类型出现时抛出的异常 + * + * @author ZhouXY + */ +public class UnsupportedPrincipalTypeException extends BizException { + + public static final int ERR_CODE = 4040201; + + public UnsupportedPrincipalTypeException() { + super(ERR_CODE, "不支持的 PrincipalType"); + } + + public UnsupportedPrincipalTypeException(String msg) { + super(ERR_CODE, msg); + } + + public UnsupportedPrincipalTypeException(Throwable cause) { + super(ERR_CODE, cause); + } + + public UnsupportedPrincipalTypeException(String msg, Throwable cause) { + super(ERR_CODE, msg, cause); + } +} diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/util/PrincipalUtil.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/util/PrincipalUtil.java index da05d59..96d3715 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/util/PrincipalUtil.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/common/util/PrincipalUtil.java @@ -2,11 +2,11 @@ package xyz.zhouxy.plusone.system.application.common.util; import javax.annotation.Nullable; +import xyz.zhouxy.plusone.system.application.common.exception.UnsupportedPrincipalTypeException; import xyz.zhouxy.plusone.system.domain.model.account.Email; import xyz.zhouxy.plusone.system.domain.model.account.MobilePhone; import xyz.zhouxy.plusone.system.domain.model.account.Principal; import xyz.zhouxy.plusone.system.domain.model.account.Username; -import xyz.zhouxy.plusone.validator.InvalidInputException; /** * 根据字面值,判断并生成 {@link Principal} 值对象。 @@ -16,7 +16,7 @@ import xyz.zhouxy.plusone.validator.InvalidInputException; * @see Username * @see Email * @see MobilePhone - * @see InvalidInputException + * @see UnsupportedPrincipalTypeException */ public class PrincipalUtil { @@ -34,7 +34,7 @@ public class PrincipalUtil { return principalType; } } - throw InvalidInputException.unsupportedPrincipalTypeException(); + throw new UnsupportedPrincipalTypeException(); } public static Principal getPrincipal(@Nullable String principal) { @@ -48,7 +48,7 @@ public class PrincipalUtil { if (principalType == PrincipalType.USERNAME) { return Username.of(principal); } - throw InvalidInputException.unsupportedPrincipalTypeException(); + throw new UnsupportedPrincipalTypeException(); } public static Principal getEmailOrMobilePhone(@Nullable String principal) { @@ -59,6 +59,6 @@ public class PrincipalUtil { if (principalType == PrincipalType.MOBILE_PHONE) { return MobilePhone.of(principal); } - throw InvalidInputException.unsupportedPrincipalTypeException("输入邮箱地址或手机号"); + throw new UnsupportedPrincipalTypeException("输入邮箱地址或手机号"); } } diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountContextController.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountContextController.java index 4518373..4913080 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountContextController.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountContextController.java @@ -7,10 +7,10 @@ import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import xyz.zhouxy.plusone.commons.util.RestfulResult; import xyz.zhouxy.plusone.system.application.service.AccountContextService; import xyz.zhouxy.plusone.system.application.service.command.ChangePasswordCommand; import xyz.zhouxy.plusone.system.application.service.command.ChangePasswordWithoutLoginCommand; -import xyz.zhouxy.plusone.util.RestfulResult; /** * 账号查询本身相关信息 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountManagementController.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountManagementController.java index 261e3ee..42c2577 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountManagementController.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AccountManagementController.java @@ -1,7 +1,7 @@ package xyz.zhouxy.plusone.system.application.controller; import static xyz.zhouxy.plusone.system.constant.AuthLogic.adminAuthLogic; -import static xyz.zhouxy.plusone.util.RestfulResult.success; +import static xyz.zhouxy.plusone.commons.util.RestfulResult.success; import java.util.List; @@ -16,11 +16,11 @@ import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; +import xyz.zhouxy.plusone.commons.util.RestfulResult; import xyz.zhouxy.plusone.system.application.query.params.AccountQueryParams; import xyz.zhouxy.plusone.system.application.service.AccountManagementService; import xyz.zhouxy.plusone.system.application.service.command.CreateAccountCommand; import xyz.zhouxy.plusone.system.application.service.command.UpdateAccountCommand; -import xyz.zhouxy.plusone.util.RestfulResult; /** * 账号管理 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AdminLoginController.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AdminLoginController.java index cb41b85..8037a03 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AdminLoginController.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/AdminLoginController.java @@ -1,6 +1,6 @@ package xyz.zhouxy.plusone.system.application.controller; -import static xyz.zhouxy.plusone.util.RestfulResult.success; +import static xyz.zhouxy.plusone.commons.util.RestfulResult.success; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -12,7 +12,7 @@ import org.springframework.web.bind.annotation.RestController; import xyz.zhouxy.plusone.system.application.service.AdminLoginService; import xyz.zhouxy.plusone.system.application.service.command.LoginByOtpCommand; import xyz.zhouxy.plusone.system.application.service.command.LoginByPasswordCommand; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; /** * Admin 账号登录 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/DictManagementController.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/DictManagementController.java index 1968225..4efdcf6 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/DictManagementController.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/DictManagementController.java @@ -1,7 +1,7 @@ package xyz.zhouxy.plusone.system.application.controller; import static xyz.zhouxy.plusone.system.constant.AuthLogic.adminAuthLogic; -import static xyz.zhouxy.plusone.util.RestfulResult.success; +import static xyz.zhouxy.plusone.commons.util.RestfulResult.success; import java.util.List; @@ -20,7 +20,7 @@ import xyz.zhouxy.plusone.system.application.query.params.DictQueryParams; import xyz.zhouxy.plusone.system.application.service.DictManagementService; import xyz.zhouxy.plusone.system.application.service.command.CreateDictCommand; import xyz.zhouxy.plusone.system.application.service.command.UpdateDictCommand; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; /** * 数据字典管理 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/MenuManagementController.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/MenuManagementController.java index e2b55ad..c1ca515 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/MenuManagementController.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/MenuManagementController.java @@ -1,7 +1,7 @@ package xyz.zhouxy.plusone.system.application.controller; import static xyz.zhouxy.plusone.system.constant.AuthLogic.adminAuthLogic; -import static xyz.zhouxy.plusone.util.RestfulResult.success; +import static xyz.zhouxy.plusone.commons.util.RestfulResult.success; import javax.validation.Valid; @@ -18,7 +18,7 @@ import org.springframework.web.bind.annotation.RestController; import xyz.zhouxy.plusone.system.application.service.MenuManagementService; import xyz.zhouxy.plusone.system.application.service.command.CreateMenuCommand; import xyz.zhouxy.plusone.system.application.service.command.UpdateMenuCommand; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; /** * 菜单管理 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RegisterAccountController.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RegisterAccountController.java index b762370..075a6e6 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RegisterAccountController.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RegisterAccountController.java @@ -1,6 +1,6 @@ package xyz.zhouxy.plusone.system.application.controller; -import static xyz.zhouxy.plusone.util.RestfulResult.success; +import static xyz.zhouxy.plusone.commons.util.RestfulResult.success; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; @@ -11,7 +11,7 @@ import org.springframework.web.bind.annotation.RestController; import xyz.zhouxy.plusone.system.application.service.RegisterAccountService; import xyz.zhouxy.plusone.system.application.service.command.RegisterAccountCommand; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; /** * 注册账号服务 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RoleManagementController.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RoleManagementController.java index aaf34e6..d169ff9 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RoleManagementController.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/controller/RoleManagementController.java @@ -17,7 +17,7 @@ import xyz.zhouxy.plusone.system.application.query.params.RoleQueryParams; import xyz.zhouxy.plusone.system.application.service.RoleManagementService; import xyz.zhouxy.plusone.system.application.service.command.CreateRoleCommand; import xyz.zhouxy.plusone.system.application.service.command.UpdateRoleCommand; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; /** * 角色管理服务 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/AccountLoginExceptionHandler.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/AccountLoginExceptionHandler.java index 8773bf5..bd2a0d5 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/AccountLoginExceptionHandler.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/AccountLoginExceptionHandler.java @@ -8,7 +8,7 @@ import org.springframework.web.bind.annotation.RestControllerAdvice; import xyz.zhouxy.plusone.exception.handler.BaseExceptionHandler; import xyz.zhouxy.plusone.system.application.exception.AccountLoginException; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; @RestControllerAdvice public class AccountLoginExceptionHandler extends BaseExceptionHandler { diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/SaTokenExceptionHandler.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/SaTokenExceptionHandler.java index 9454c1d..a6e0808 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/SaTokenExceptionHandler.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/exception/handler/SaTokenExceptionHandler.java @@ -15,7 +15,7 @@ import cn.dev33.satoken.exception.SaTokenException; import cn.dev33.satoken.exception.SameTokenInvalidException; import lombok.extern.slf4j.Slf4j; import xyz.zhouxy.plusone.exception.handler.BaseExceptionHandler; -import xyz.zhouxy.plusone.util.RestfulResult; +import xyz.zhouxy.plusone.commons.util.RestfulResult; /** * Sa-Token 异常处理器 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/AccountQueries.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/AccountQueries.java index 17ab42a..e1019e4 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/AccountQueries.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/AccountQueries.java @@ -4,10 +4,10 @@ import java.util.List; import org.apache.ibatis.annotations.Mapper; +import xyz.zhouxy.plusone.commons.util.PageDTO; import xyz.zhouxy.plusone.system.application.query.params.AccountQueryParams; import xyz.zhouxy.plusone.system.application.query.result.AccountDetails; import xyz.zhouxy.plusone.system.application.query.result.AccountOverview; -import xyz.zhouxy.plusone.util.PageDTO; /** * 账号信息查询器 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/AccountQueryParams.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/AccountQueryParams.java index 40c127b..2c8d970 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/AccountQueryParams.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/AccountQueryParams.java @@ -5,7 +5,7 @@ import java.time.LocalDate; import lombok.Getter; import lombok.Setter; import lombok.ToString; -import xyz.zhouxy.plusone.util.PagingAndSortingQueryParams; +import xyz.zhouxy.plusone.commons.util.PagingAndSortingQueryParams; /** * 账号信息查询参数 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/DictQueryParams.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/DictQueryParams.java index 7bd0dc3..d7089fe 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/DictQueryParams.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/DictQueryParams.java @@ -4,7 +4,7 @@ import lombok.Getter; import lombok.Setter; import lombok.ToString; import lombok.experimental.Accessors; -import xyz.zhouxy.plusone.util.PagingAndSortingQueryParams; +import xyz.zhouxy.plusone.commons.util.PagingAndSortingQueryParams; /** * 数据字典查询参数 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/RoleQueryParams.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/RoleQueryParams.java index 4b000e1..a6e99aa 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/RoleQueryParams.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/query/params/RoleQueryParams.java @@ -5,7 +5,7 @@ import java.time.LocalDate; import lombok.Getter; import lombok.Setter; import lombok.ToString; -import xyz.zhouxy.plusone.util.PagingAndSortingQueryParams; +import xyz.zhouxy.plusone.commons.util.PagingAndSortingQueryParams; /** * 角色信息查询参数 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountContextService.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountContextService.java index 9e38002..b4d7ffa 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountContextService.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountContextService.java @@ -1,7 +1,6 @@ package xyz.zhouxy.plusone.system.application.service; import java.util.List; -import java.util.Optional; import javax.annotation.Resource; @@ -9,6 +8,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import cn.dev33.satoken.stp.StpLogic; +import xyz.zhouxy.plusone.system.application.common.exception.UnsupportedPrincipalTypeException; import xyz.zhouxy.plusone.system.application.common.util.PrincipalUtil; import xyz.zhouxy.plusone.system.application.exception.AccountLoginException; import xyz.zhouxy.plusone.system.application.query.AccountQueries; @@ -23,7 +23,6 @@ import xyz.zhouxy.plusone.system.domain.model.account.AccountRepository; import xyz.zhouxy.plusone.system.domain.model.account.Email; import xyz.zhouxy.plusone.system.domain.model.account.MobilePhone; import xyz.zhouxy.plusone.system.domain.model.account.Principal; -import xyz.zhouxy.plusone.validator.InvalidInputException; /** * 账号对当前帐号进行操作 @@ -91,13 +90,14 @@ public class AccountContextService { public void changePasswordByOtp(ChangePasswordByOtpCommand command) { var principal = command.getAccount(); - Optional account = switch (command.getPrincipalType()) { - case EMAIL -> accountRepository.findByEmail(Email.of(principal)); - case MOBILE_PHONE -> accountRepository.findByMobilePhone(MobilePhone.of(principal)); - default -> throw InvalidInputException.unsupportedPrincipalTypeException("输入邮箱地址或手机号"); + boolean accountExists = switch (command.getPrincipalType()) { + case EMAIL -> accountRepository.existsEmail(Email.of(principal)); + case MOBILE_PHONE -> accountRepository.existsMobilePhone(MobilePhone.of(principal)); + default -> throw new UnsupportedPrincipalTypeException("输入邮箱地址或手机号"); }; - account.orElseThrow(AccountLoginException::accountNotExistException); - + if (accountExists) { + throw AccountLoginException.accountNotExistException(); + } mailAndSmsVerifyService.checkOtp(principal, command.getOtp()); } } diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountManagementService.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountManagementService.java index 1d84ceb..0eab48b 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountManagementService.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AccountManagementService.java @@ -14,6 +14,7 @@ import org.springframework.util.Assert; import org.springframework.util.StringUtils; import org.springframework.web.bind.annotation.PathVariable; +import xyz.zhouxy.plusone.commons.util.PageDTO; import xyz.zhouxy.plusone.exception.DataNotExistException; import xyz.zhouxy.plusone.system.application.exception.AccountRegisterException; import xyz.zhouxy.plusone.system.application.query.AccountQueries; @@ -29,7 +30,6 @@ import xyz.zhouxy.plusone.system.domain.model.account.Email; import xyz.zhouxy.plusone.system.domain.model.account.MobilePhone; import xyz.zhouxy.plusone.system.domain.model.account.Username; import xyz.zhouxy.plusone.util.AssertResult; -import xyz.zhouxy.plusone.util.PageDTO; /** * 账号管理 diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AdminLoginService.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AdminLoginService.java index a898e48..a517a0f 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AdminLoginService.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/AdminLoginService.java @@ -6,6 +6,7 @@ import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import cn.hutool.core.lang.Assert; +import xyz.zhouxy.plusone.system.application.common.exception.UnsupportedPrincipalTypeException; import xyz.zhouxy.plusone.system.application.common.util.PrincipalType; import xyz.zhouxy.plusone.system.application.common.util.PrincipalUtil; import xyz.zhouxy.plusone.system.application.exception.AccountLoginException; @@ -18,7 +19,6 @@ import xyz.zhouxy.plusone.system.domain.model.account.AccountRepository; import xyz.zhouxy.plusone.system.domain.model.account.Email; import xyz.zhouxy.plusone.system.domain.model.account.MobilePhone; import xyz.zhouxy.plusone.system.domain.model.account.Username; -import xyz.zhouxy.plusone.validator.InvalidInputException; import xyz.zhouxy.plusone.validator.ValidateDto; /** @@ -63,7 +63,7 @@ public class AdminLoginService { Account account = (switch (command.getPrincipalType()) { case EMAIL -> accountRepository.findByEmail(Email.of(principal)); case MOBILE_PHONE -> accountRepository.findByMobilePhone(MobilePhone.of(principal)); - default -> throw InvalidInputException.unsupportedPrincipalTypeException("输入邮箱地址或手机号"); + default -> throw new UnsupportedPrincipalTypeException("输入邮箱地址或手机号"); }).orElseThrow(AccountLoginException::accountNotExistException); mailAndSmsVerifyService.checkOtp(principal, command.getOtp()); diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/RegisterAccountService.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/RegisterAccountService.java index 0a5678f..cfc3116 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/RegisterAccountService.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/RegisterAccountService.java @@ -5,6 +5,7 @@ import java.util.Set; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; +import xyz.zhouxy.plusone.system.application.common.exception.UnsupportedPrincipalTypeException; import xyz.zhouxy.plusone.system.application.common.util.PrincipalType; import xyz.zhouxy.plusone.system.application.common.util.PrincipalUtil; import xyz.zhouxy.plusone.system.application.exception.AccountRegisterException; @@ -18,7 +19,6 @@ import xyz.zhouxy.plusone.system.domain.model.account.MobilePhone; import xyz.zhouxy.plusone.system.domain.model.account.Password; import xyz.zhouxy.plusone.system.domain.model.account.Sex; import xyz.zhouxy.plusone.system.domain.model.account.Username; -import xyz.zhouxy.plusone.validator.InvalidInputException; /** * 注册账号服务 @@ -70,7 +70,7 @@ public class RegisterAccountService { throw AccountRegisterException.emailAlreadyExists(mobilePhone.value()); } } else { - throw InvalidInputException.unsupportedPrincipalTypeException(); + throw new UnsupportedPrincipalTypeException(); } verifyService.checkCode(emailOrMobilePhone, command.getCode()); @@ -93,7 +93,7 @@ public class RegisterAccountService { } else if (principalType == PrincipalType.MOBILE_PHONE) { verifyService.sendCodeToMobilePhone(MobilePhone.of(principal)); } else { - throw InvalidInputException.unsupportedPrincipalTypeException(); + throw new UnsupportedPrincipalTypeException(); } } } diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByOtpCommandValidator.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByOtpCommandValidator.java index 170b08b..9117ff6 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByOtpCommandValidator.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByOtpCommandValidator.java @@ -4,7 +4,7 @@ import java.util.List; import org.springframework.stereotype.Component; -import xyz.zhouxy.plusone.constant.RegexConsts; +import xyz.zhouxy.plusone.commons.constant.PatternConsts; import xyz.zhouxy.plusone.system.application.service.command.LoginByOtpCommand; import xyz.zhouxy.plusone.validator.BaseValidator; import xyz.zhouxy.plusone.validator.DtoValidator; @@ -16,10 +16,10 @@ public class LoginByOtpCommandValidator extends BaseValidator ruleForString(LoginByOtpCommand::getPrincipal) .notNull("输入邮箱地址或手机号") .notEmpty("输入邮箱地址或手机号") - .matchesOr(List.of(RegexConsts.EMAIL, RegexConsts.MOBILE_PHONE), "输入用户名、邮箱地址或手机号"); + .matchesOr(List.of(PatternConsts.EMAIL, PatternConsts.MOBILE_PHONE), "输入用户名、邮箱地址或手机号"); ruleForString(LoginByOtpCommand::getOtp) .notNull("验证码不能为空") .notEmpty("验证码不能为空") - .matches(RegexConsts.CAPTCHA, "验证码格式不正确"); + .matches(PatternConsts.CAPTCHA, "验证码格式不正确"); } } diff --git a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByPasswordCommandValidator.java b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByPasswordCommandValidator.java index a7b42c9..a97b506 100644 --- a/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByPasswordCommandValidator.java +++ b/plusone-system/plusone-system-application/src/main/java/xyz/zhouxy/plusone/system/application/service/command/validator/LoginByPasswordCommandValidator.java @@ -2,7 +2,8 @@ package xyz.zhouxy.plusone.system.application.service.command.validator; import java.util.List; import org.springframework.stereotype.Component; -import xyz.zhouxy.plusone.constant.RegexConsts; + +import xyz.zhouxy.plusone.commons.constant.PatternConsts; import xyz.zhouxy.plusone.system.application.service.command.LoginByPasswordCommand; import xyz.zhouxy.plusone.validator.BaseValidator; import xyz.zhouxy.plusone.validator.DtoValidator; @@ -14,11 +15,11 @@ public class LoginByPasswordCommandValidator extends BaseValidator + xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 @@ -28,7 +27,7 @@ 2.7.8 1.34.0 - 5.8.11 + 5.8.12 3.0.1 3.5.3.1 2.11.0 @@ -87,11 +86,6 @@ ${mybatis-plus.version}
- - cn.hutool - hutool-all - ${hutool.version} - cn.hutool hutool-core