From 274febda399562460461b3fcf7f65d8aabe28b66 Mon Sep 17 00:00:00 2001
From: wangyu <727842003@qq.com>
Date: Mon, 1 Jul 2024 16:16:46 +0800
Subject: [PATCH] =?UTF-8?q?feat:=20=E5=8F=91=E5=B8=832.0=E7=89=88=E6=9C=AC?=
=?UTF-8?q?=EF=BC=8C=E9=92=88=E5=AF=B9=E6=9C=AA=E6=9D=A5=E6=89=A9=E5=B1=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
flyfish-approval/pom.xml | 4 +-
.../controller/ApprovalController.java | 4 +-
.../domain/submit/ApprovalSubmitDto.java | 4 +-
.../approval/domain/todo/ApprovalDto.java | 4 +-
.../service/ModuleDelegateService.java | 2 +-
flyfish-backup/pom.xml | 4 +-
.../backup/controller/BackupController.java | 2 +-
.../backup/scheduler/BackupScheduler.java | 6 +--
flyfish-common/pom.xml | 8 +++-
.../com/flyfish/framework/bean/ObjectMap.java | 11 +++++
.../flyfish/framework/utils/JacksonUtil.java | 29 +++++++++---
.../validation/annotations/ContainsBean.java | 4 +-
.../validation/annotations/IdCard.java | 4 +-
.../validation/annotations/IsJSONString.java | 4 +-
.../validation/annotations/Money.java | 4 +-
.../validation/annotations/Password.java | 4 +-
.../validation/annotations/Phone.java | 4 +-
.../validation/annotations/UniqueField.java | 4 +-
.../spi/ConditionalValidGroupProvider.java | 2 +-
.../validators/ContainsBeanValidator.java | 4 +-
.../validators/IdCardValidator.java | 4 +-
.../validators/IsJSONStringValidator.java | 4 +-
.../validation/validators/MoneyValidator.java | 4 +-
.../validators/PasswordValidator.java | 4 +-
.../validation/validators/PhoneValidator.java | 4 +-
.../validators/UniqueFieldValidator.java | 4 +-
flyfish-data/flyfish-data-common/pom.xml | 6 +--
flyfish-data/flyfish-data-domain/pom.xml | 4 +-
.../flyfish/framework/domain/base/Domain.java | 2 +-
flyfish-data/flyfish-data-mongodb/pom.xml | 4 +-
.../test/mongo/MongoRepositoryTest.java | 2 +-
flyfish-data/flyfish-data-r2dbc/pom.xml | 4 +-
.../framework/r2dbc/R2DbcRepositoryTest.java | 13 +++---
flyfish-data/flyfish-data-relational/pom.xml | 4 +-
flyfish-dict/pom.xml | 4 +-
.../dict/service/DictionaryService.java | 2 +-
flyfish-file/pom.xml | 4 +-
.../AttachmentUploadController.java | 2 +-
.../file/controller/MediaController.java | 2 +-
.../file/service/AttachmentService.java | 2 +-
.../framework/file/service/FileService.java | 2 +-
.../framework/file/service/MediaService.java | 2 +-
flyfish-form/pom.xml | 4 +-
.../framework/form/domain/OnlineForm.java | 24 +++++-----
flyfish-logging/pom.xml | 4 +-
.../framework/logging/service/LogManager.java | 18 ++++----
.../service/SimpleAuthenticationLogger.java | 2 +-
flyfish-user/pom.xml | 8 ++--
.../config/AuthenticationAuditorImpl.java | 2 +-
.../user/config/WebSecurityConfig.java | 23 +++-------
.../config/captcha/AnjiCaptchaValidator.java | 34 ++++++++++++++
.../user/config/captcha/CaptchaValidator.java | 16 +++++++
.../config/captcha/DxCaptchaValidator.java | 45 -------------------
.../EncryptedAuthenticationConverter.java | 6 +--
.../config/properties/SecurityProperties.java | 10 +----
.../user/controller/LoginController.java | 2 +-
.../user/controller/UserController.java | 4 +-
.../user/domain/UserPasswordDto.java | 2 +-
.../FlyfishUserDetailsServiceImpl.java | 4 +-
.../impl/MongoDepartmentServiceImpl.java | 2 +-
.../impl/R2dbcDepartmentServiceImpl.java | 2 +-
.../beans/enums/ValidationCandidate.java | 2 +-
.../framework/beans/meta/BeanController.java | 2 +-
.../flyfish/framework/beans/meta/SubBean.java | 2 +-
.../configuration/WebfluxConfig.java | 2 +-
.../jwt/JwtSecurityContextRepository.java | 2 +-
.../configuration/jwt/TokenProvider.java | 2 +-
...alidRequestBodyMethodArgumentResolver.java | 3 +-
pom.xml | 36 +++++++--------
69 files changed, 236 insertions(+), 222 deletions(-)
create mode 100644 flyfish-common/src/main/java/com/flyfish/framework/bean/ObjectMap.java
create mode 100644 flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/AnjiCaptchaValidator.java
create mode 100644 flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/CaptchaValidator.java
delete mode 100644 flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/DxCaptchaValidator.java
diff --git a/flyfish-approval/pom.xml b/flyfish-approval/pom.xml
index 842298e..b46dcb1 100644
--- a/flyfish-approval/pom.xml
+++ b/flyfish-approval/pom.xml
@@ -12,8 +12,8 @@
flyfish-approval
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-approval/src/main/java/com/flyfish/framework/approval/controller/ApprovalController.java b/flyfish-approval/src/main/java/com/flyfish/framework/approval/controller/ApprovalController.java
index 38f1845..1d615e1 100644
--- a/flyfish-approval/src/main/java/com/flyfish/framework/approval/controller/ApprovalController.java
+++ b/flyfish-approval/src/main/java/com/flyfish/framework/approval/controller/ApprovalController.java
@@ -17,8 +17,8 @@ import com.flyfish.framework.domain.po.User;
import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import java.util.List;
/**
diff --git a/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/submit/ApprovalSubmitDto.java b/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/submit/ApprovalSubmitDto.java
index 6629fa8..38a0597 100644
--- a/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/submit/ApprovalSubmitDto.java
+++ b/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/submit/ApprovalSubmitDto.java
@@ -2,8 +2,8 @@ package com.flyfish.framework.approval.domain.submit;
import lombok.Data;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotEmpty;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotEmpty;
import java.util.List;
/**
diff --git a/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/todo/ApprovalDto.java b/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/todo/ApprovalDto.java
index e6d5a3e..f3a3259 100644
--- a/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/todo/ApprovalDto.java
+++ b/flyfish-approval/src/main/java/com/flyfish/framework/approval/domain/todo/ApprovalDto.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.approval.domain.todo;
import com.flyfish.framework.approval.enums.ApproveAction;
import lombok.Data;
-import javax.validation.constraints.NotBlank;
-import javax.validation.constraints.NotNull;
+import jakarta.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotNull;
/**
* 审批dto
diff --git a/flyfish-approval/src/main/java/com/flyfish/framework/approval/service/ModuleDelegateService.java b/flyfish-approval/src/main/java/com/flyfish/framework/approval/service/ModuleDelegateService.java
index 8d19639..c459317 100644
--- a/flyfish-approval/src/main/java/com/flyfish/framework/approval/service/ModuleDelegateService.java
+++ b/flyfish-approval/src/main/java/com/flyfish/framework/approval/service/ModuleDelegateService.java
@@ -19,7 +19,7 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Map;
import java.util.Optional;
import java.util.stream.Collectors;
diff --git a/flyfish-backup/pom.xml b/flyfish-backup/pom.xml
index 7db9b45..0bce73c 100644
--- a/flyfish-backup/pom.xml
+++ b/flyfish-backup/pom.xml
@@ -12,8 +12,8 @@
flyfish-backup
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-backup/src/main/java/com/flyfish/framework/backup/controller/BackupController.java b/flyfish-backup/src/main/java/com/flyfish/framework/backup/controller/BackupController.java
index 2446bb4..dfea906 100644
--- a/flyfish-backup/src/main/java/com/flyfish/framework/backup/controller/BackupController.java
+++ b/flyfish-backup/src/main/java/com/flyfish/framework/backup/controller/BackupController.java
@@ -9,7 +9,7 @@ import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* 备份controller
diff --git a/flyfish-backup/src/main/java/com/flyfish/framework/backup/scheduler/BackupScheduler.java b/flyfish-backup/src/main/java/com/flyfish/framework/backup/scheduler/BackupScheduler.java
index e3cda02..58652cd 100644
--- a/flyfish-backup/src/main/java/com/flyfish/framework/backup/scheduler/BackupScheduler.java
+++ b/flyfish-backup/src/main/java/com/flyfish/framework/backup/scheduler/BackupScheduler.java
@@ -1,11 +1,11 @@
package com.flyfish.framework.backup.scheduler;
-import com.alibaba.fastjson.JSON;
import com.flyfish.framework.backup.domain.Backup;
import com.flyfish.framework.context.DateContext;
import com.flyfish.framework.domain.base.DomainService;
import com.flyfish.framework.query.Query;
import com.flyfish.framework.repository.ReactiveEntityOperations;
+import com.flyfish.framework.utils.JacksonUtil;
import lombok.SneakyThrows;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@@ -95,7 +95,7 @@ public class BackupScheduler {
.thenMany(Flux.fromIterable(this.collections))
.flatMap(info -> operations
.findAll(Query.empty(), CastUtils.cast(info)).collectList()
- .map(list -> new BackupIndex.BackupContent(info.getJavaType().getSimpleName(), JSON.toJSONBytes(list)))
+ .map(list -> new BackupIndex.BackupContent(info.getJavaType().getSimpleName(), JacksonUtil.toBytes(list)))
)
.flatMap(content -> writeContents(content, parent))
.collectList()
@@ -113,7 +113,7 @@ public class BackupScheduler {
return item;
}).collect(Collectors.toList()));
// 写入备份结果
- return write(JSON.toJSONBytes(index), parent + "/meta.json");
+ return write(JacksonUtil.toBytes(index), parent + "/meta.json");
})
.then(Mono.defer(() -> {
backup.setLog("成功备份");
diff --git a/flyfish-common/pom.xml b/flyfish-common/pom.xml
index c51fcae..f069425 100644
--- a/flyfish-common/pom.xml
+++ b/flyfish-common/pom.xml
@@ -47,13 +47,17 @@
com.fasterxml.jackson.core
jackson-databind
+
+ com.fasterxml.jackson.datatype
+ jackson-datatype-jsr310
+
io.projectreactor
reactor-core
- javax.validation
- validation-api
+ jakarta.validation
+ jakarta.validation-api
org.slf4j
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/bean/ObjectMap.java b/flyfish-common/src/main/java/com/flyfish/framework/bean/ObjectMap.java
new file mode 100644
index 0000000..4c7063a
--- /dev/null
+++ b/flyfish-common/src/main/java/com/flyfish/framework/bean/ObjectMap.java
@@ -0,0 +1,11 @@
+package com.flyfish.framework.bean;
+
+import java.util.HashMap;
+
+/**
+ * 对象map
+ *
+ * @author wangyu
+ */
+public class ObjectMap extends HashMap {
+}
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/utils/JacksonUtil.java b/flyfish-common/src/main/java/com/flyfish/framework/utils/JacksonUtil.java
index 711335f..8e6644a 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/utils/JacksonUtil.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/utils/JacksonUtil.java
@@ -1,20 +1,17 @@
package com.flyfish.framework.utils;
import com.fasterxml.jackson.annotation.JsonInclude;
-import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.core.type.TypeReference;
import com.fasterxml.jackson.databind.DeserializationFeature;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
+import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import java.io.IOException;
import java.text.SimpleDateFormat;
-import java.util.Collections;
-import java.util.List;
-import java.util.Map;
-import java.util.Optional;
+import java.util.*;
/**
* Jackson序列化工具类
@@ -59,8 +56,8 @@ public final class JacksonUtil {
mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL);
// JsonGenerator.Feature for configuring low-level JSON generation:
- // to force escaping of non-ASCII characters:
- mapper.configure(JsonGenerator.Feature.ESCAPE_NON_ASCII, true);
+ mapper.setLocale(Locale.CHINESE);
+ mapper.registerModule(new JavaTimeModule());
}
public static T fromJson(final String json) {
@@ -119,6 +116,24 @@ public final class JacksonUtil {
return Optional.empty();
}
+ public static String toPrettyJson(final Object obj) {
+ try {
+ return mapper.writerWithDefaultPrettyPrinter().writeValueAsString(obj);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
+ public static byte[] toBytes(final Object obj) {
+ try {
+ return mapper.writeValueAsBytes(obj);
+ } catch (JsonProcessingException e) {
+ e.printStackTrace();
+ }
+ return null;
+ }
+
private static T readValue(String json, TypeReference valueTypeRef) {
if (null == json || "".equals(json)) {
return null;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/ContainsBean.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/ContainsBean.java
index 8b03318..db9c9f4 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/ContainsBean.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/ContainsBean.java
@@ -2,8 +2,8 @@ package com.flyfish.framework.validation.annotations;
import com.flyfish.framework.validation.validators.ContainsBeanValidator;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IdCard.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IdCard.java
index afa551f..d4c5032 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IdCard.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IdCard.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.validation.annotations;
import com.flyfish.framework.validation.validators.IdCardValidator;
import com.flyfish.framework.validation.validators.MoneyValidator;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import com.flyfish.framework.validation.annotations.IdCard.List;
import java.lang.annotation.Documented;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IsJSONString.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IsJSONString.java
index 6af650b..51c982a 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IsJSONString.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/IsJSONString.java
@@ -2,8 +2,8 @@ package com.flyfish.framework.validation.annotations;
import com.flyfish.framework.validation.validators.IsJSONStringValidator;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Money.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Money.java
index 2ae02fb..ee4b8e4 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Money.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Money.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.validation.annotations;
import com.flyfish.framework.validation.annotations.Money.List;
import com.flyfish.framework.validation.validators.MoneyValidator;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Password.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Password.java
index 761524e..7a9d2dd 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Password.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Password.java
@@ -4,8 +4,8 @@ import com.flyfish.framework.validation.annotations.Password.List;
import com.flyfish.framework.validation.validators.IdCardValidator;
import com.flyfish.framework.validation.validators.PasswordValidator;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Phone.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Phone.java
index a680f22..88303e9 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Phone.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/Phone.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.validation.annotations;
import com.flyfish.framework.validation.enums.PhoneType;
import com.flyfish.framework.validation.validators.PhoneValidator;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Retention;
import java.lang.annotation.Target;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java
index 0d8ea73..0fdef68 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/annotations/UniqueField.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.validation.annotations;
import com.flyfish.framework.validation.annotations.UniqueField.List;
import com.flyfish.framework.validation.validators.UniqueFieldValidator;
-import javax.validation.Constraint;
-import javax.validation.Payload;
+import jakarta.validation.Constraint;
+import jakarta.validation.Payload;
import java.lang.annotation.Documented;
import java.lang.annotation.Repeatable;
import java.lang.annotation.Retention;
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/spi/ConditionalValidGroupProvider.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/spi/ConditionalValidGroupProvider.java
index 68d39d8..cc5968e 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/spi/ConditionalValidGroupProvider.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/spi/ConditionalValidGroupProvider.java
@@ -1,6 +1,6 @@
package com.flyfish.framework.validation.spi;
-import javax.validation.groups.Default;
+import jakarta.validation.groups.Default;
/**
* 条件化的验证分组
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/ContainsBeanValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/ContainsBeanValidator.java
index 1eb3773..2a38e41 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/ContainsBeanValidator.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/ContainsBeanValidator.java
@@ -4,8 +4,8 @@ import com.flyfish.framework.context.SpringContext;
import com.flyfish.framework.validation.annotations.ContainsBean;
import org.apache.commons.lang3.StringUtils;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 包含在ioc容器的bean
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IdCardValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IdCardValidator.java
index c6de89e..c9fdb7d 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IdCardValidator.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IdCardValidator.java
@@ -2,8 +2,8 @@ package com.flyfish.framework.validation.validators;
import com.flyfish.framework.validation.annotations.IdCard;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.util.regex.Pattern;
/**
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IsJSONStringValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IsJSONStringValidator.java
index dd52e2d..955ddad 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IsJSONStringValidator.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/IsJSONStringValidator.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.validation.validators;
import com.flyfish.framework.validation.annotations.IsJSONString;
import org.apache.commons.lang3.StringUtils;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 是否是jsonString
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/MoneyValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/MoneyValidator.java
index df0b44e..1c7aca3 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/MoneyValidator.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/MoneyValidator.java
@@ -2,8 +2,8 @@ package com.flyfish.framework.validation.validators;
import com.flyfish.framework.validation.annotations.Money;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
/**
* 金额验证器
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PasswordValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PasswordValidator.java
index 724d4fb..1fe21ad 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PasswordValidator.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PasswordValidator.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.validation.validators;
import com.flyfish.framework.constant.Frameworks;
import com.flyfish.framework.validation.annotations.Password;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.util.regex.Pattern;
/**
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PhoneValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PhoneValidator.java
index b2b06bf..1f4850e 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PhoneValidator.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/PhoneValidator.java
@@ -3,8 +3,8 @@ package com.flyfish.framework.validation.validators;
import com.flyfish.framework.validation.annotations.Phone;
import com.flyfish.framework.validation.enums.PhoneType;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.util.regex.Pattern;
/**
diff --git a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java
index 3a1bc73..3024337 100644
--- a/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java
+++ b/flyfish-common/src/main/java/com/flyfish/framework/validation/validators/UniqueFieldValidator.java
@@ -6,8 +6,8 @@ import org.apache.commons.collections4.CollectionUtils;
import org.apache.commons.lang3.ClassUtils;
import org.springframework.beans.BeanUtils;
-import javax.validation.ConstraintValidator;
-import javax.validation.ConstraintValidatorContext;
+import jakarta.validation.ConstraintValidator;
+import jakarta.validation.ConstraintValidatorContext;
import java.beans.PropertyDescriptor;
import java.lang.reflect.InvocationTargetException;
import java.util.Collection;
diff --git a/flyfish-data/flyfish-data-common/pom.xml b/flyfish-data/flyfish-data-common/pom.xml
index 41f4700..7f21f67 100644
--- a/flyfish-data/flyfish-data-common/pom.xml
+++ b/flyfish-data/flyfish-data-common/pom.xml
@@ -12,8 +12,8 @@
flyfish-data-common
- 8
- 8
+ 17
+ 17
@@ -40,7 +40,7 @@
- com.github.ulisesbocchio
+ io.springboot.plugin
jasypt-spring-boot-starter
diff --git a/flyfish-data/flyfish-data-domain/pom.xml b/flyfish-data/flyfish-data-domain/pom.xml
index 54ff803..5844130 100644
--- a/flyfish-data/flyfish-data-domain/pom.xml
+++ b/flyfish-data/flyfish-data-domain/pom.xml
@@ -12,8 +12,8 @@
flyfish-data-domain
- 8
- 8
+ 17
+ 17
UTF-8
diff --git a/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/base/Domain.java b/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/base/Domain.java
index fb693de..ec5643b 100644
--- a/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/base/Domain.java
+++ b/flyfish-data/flyfish-data-domain/src/main/java/com/flyfish/framework/domain/base/Domain.java
@@ -11,7 +11,7 @@ import org.springframework.data.annotation.Id;
import org.springframework.data.annotation.Transient;
import org.springframework.data.mongodb.core.index.Indexed;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
import java.io.Serializable;
@Getter
diff --git a/flyfish-data/flyfish-data-mongodb/pom.xml b/flyfish-data/flyfish-data-mongodb/pom.xml
index 0ada26b..9398c8b 100644
--- a/flyfish-data/flyfish-data-mongodb/pom.xml
+++ b/flyfish-data/flyfish-data-mongodb/pom.xml
@@ -12,8 +12,8 @@
flyfish-data-mongodb
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-data/flyfish-data-mongodb/src/test/java/com/flyfish/test/mongo/MongoRepositoryTest.java b/flyfish-data/flyfish-data-mongodb/src/test/java/com/flyfish/test/mongo/MongoRepositoryTest.java
index fda8606..4d296c9 100644
--- a/flyfish-data/flyfish-data-mongodb/src/test/java/com/flyfish/test/mongo/MongoRepositoryTest.java
+++ b/flyfish-data/flyfish-data-mongodb/src/test/java/com/flyfish/test/mongo/MongoRepositoryTest.java
@@ -12,7 +12,7 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit.jupiter.SpringExtension;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
@ExtendWith(SpringExtension.class)
@SpringBootTest(classes = MongoRepositoryTest.class)
diff --git a/flyfish-data/flyfish-data-r2dbc/pom.xml b/flyfish-data/flyfish-data-r2dbc/pom.xml
index 15e2c4d..87e39aa 100644
--- a/flyfish-data/flyfish-data-r2dbc/pom.xml
+++ b/flyfish-data/flyfish-data-r2dbc/pom.xml
@@ -12,8 +12,8 @@
flyfish-data-r2dbc
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-data/flyfish-data-r2dbc/src/test/java/com/flyfish/framework/r2dbc/R2DbcRepositoryTest.java b/flyfish-data/flyfish-data-r2dbc/src/test/java/com/flyfish/framework/r2dbc/R2DbcRepositoryTest.java
index 1ec52ee..31183e1 100644
--- a/flyfish-data/flyfish-data-r2dbc/src/test/java/com/flyfish/framework/r2dbc/R2DbcRepositoryTest.java
+++ b/flyfish-data/flyfish-data-r2dbc/src/test/java/com/flyfish/framework/r2dbc/R2DbcRepositoryTest.java
@@ -1,12 +1,12 @@
package com.flyfish.framework.r2dbc;
-import com.alibaba.fastjson.JSON;
-import com.alibaba.fastjson.serializer.SerializerFeature;
import com.flyfish.framework.r2dbc.config.R2dbcDataConfig;
import com.flyfish.framework.r2dbc.domain.TestDO;
import com.flyfish.framework.r2dbc.domain.TestQO;
import com.flyfish.framework.r2dbc.repository.TestAssoRepository;
import com.flyfish.framework.r2dbc.repository.TestRepository;
+import com.flyfish.framework.utils.JacksonUtil;
+import jakarta.annotation.Resource;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.ExtendWith;
import org.springframework.beans.factory.annotation.Autowired;
@@ -15,7 +15,6 @@ import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.context.annotation.Import;
import org.springframework.test.context.junit.jupiter.SpringExtension;
-import javax.annotation.Resource;
import java.util.List;
@ExtendWith(SpringExtension.class)
@@ -43,12 +42,12 @@ public class R2DbcRepositoryTest {
test.setOtherId("1");
// 打印插入结果
- System.out.println(JSON.toJSONString(testRepository.insert(test).block(), SerializerFeature.PrettyFormat));
+ System.out.println(JacksonUtil.toPrettyJson(testRepository.insert(test).block()));
List all = testRepository.findAll(qo).collectList().block();
- System.out.println(JSON.toJSONString(all, SerializerFeature.PrettyFormat));
+ System.out.println(JacksonUtil.toPrettyJson(all));
// 修改值并保存测试
all.get(0).getAsso().setName("修改后的值");
- System.out.println(JSON.toJSONString(testRepository.saveAll(all).collectList().block(), SerializerFeature.PrettyFormat));
- System.out.println(JSON.toJSONString(testAssoRepository.findById("1").block(), SerializerFeature.PrettyFormat));
+ System.out.println(JacksonUtil.toPrettyJson(testRepository.saveAll(all).collectList().block()));
+ System.out.println(JacksonUtil.toPrettyJson(testAssoRepository.findById("1").block()));
}
}
diff --git a/flyfish-data/flyfish-data-relational/pom.xml b/flyfish-data/flyfish-data-relational/pom.xml
index 67605dd..1a1261b 100644
--- a/flyfish-data/flyfish-data-relational/pom.xml
+++ b/flyfish-data/flyfish-data-relational/pom.xml
@@ -12,8 +12,8 @@
flyfish-data-relational
- 8
- 8
+ 17
+ 17
UTF-8
diff --git a/flyfish-dict/pom.xml b/flyfish-dict/pom.xml
index 0af4a80..1eab779 100644
--- a/flyfish-dict/pom.xml
+++ b/flyfish-dict/pom.xml
@@ -13,8 +13,8 @@
字典框架,集成字典解析,注解,服务,可自动注册和利用枚举反向注册
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-dict/src/main/java/com/flyfish/framework/dict/service/DictionaryService.java b/flyfish-dict/src/main/java/com/flyfish/framework/dict/service/DictionaryService.java
index 614ca5e..53320ec 100644
--- a/flyfish-dict/src/main/java/com/flyfish/framework/dict/service/DictionaryService.java
+++ b/flyfish-dict/src/main/java/com/flyfish/framework/dict/service/DictionaryService.java
@@ -8,7 +8,7 @@ import com.flyfish.framework.utils.ReactiveRedisOperations;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* 字典表服务
diff --git a/flyfish-file/pom.xml b/flyfish-file/pom.xml
index ac81a8b..3365c13 100644
--- a/flyfish-file/pom.xml
+++ b/flyfish-file/pom.xml
@@ -12,8 +12,8 @@
flyfish-file
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-file/src/main/java/com/flyfish/framework/file/controller/AttachmentUploadController.java b/flyfish-file/src/main/java/com/flyfish/framework/file/controller/AttachmentUploadController.java
index ed0233c..abdab46 100644
--- a/flyfish-file/src/main/java/com/flyfish/framework/file/controller/AttachmentUploadController.java
+++ b/flyfish-file/src/main/java/com/flyfish/framework/file/controller/AttachmentUploadController.java
@@ -17,7 +17,7 @@ import org.springframework.web.bind.annotation.RequestPart;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
diff --git a/flyfish-file/src/main/java/com/flyfish/framework/file/controller/MediaController.java b/flyfish-file/src/main/java/com/flyfish/framework/file/controller/MediaController.java
index 0ece11d..ddd885c 100644
--- a/flyfish-file/src/main/java/com/flyfish/framework/file/controller/MediaController.java
+++ b/flyfish-file/src/main/java/com/flyfish/framework/file/controller/MediaController.java
@@ -13,7 +13,7 @@ import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.ArrayList;
import java.util.List;
diff --git a/flyfish-file/src/main/java/com/flyfish/framework/file/service/AttachmentService.java b/flyfish-file/src/main/java/com/flyfish/framework/file/service/AttachmentService.java
index aef6087..952714c 100644
--- a/flyfish-file/src/main/java/com/flyfish/framework/file/service/AttachmentService.java
+++ b/flyfish-file/src/main/java/com/flyfish/framework/file/service/AttachmentService.java
@@ -9,7 +9,7 @@ import org.springframework.http.codec.multipart.FilePart;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
@Service
public class AttachmentService extends BaseReactiveServiceImpl {
diff --git a/flyfish-file/src/main/java/com/flyfish/framework/file/service/FileService.java b/flyfish-file/src/main/java/com/flyfish/framework/file/service/FileService.java
index 42951c8..cc6401f 100644
--- a/flyfish-file/src/main/java/com/flyfish/framework/file/service/FileService.java
+++ b/flyfish-file/src/main/java/com/flyfish/framework/file/service/FileService.java
@@ -8,7 +8,7 @@ import org.springframework.http.codec.multipart.FilePart;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.List;
diff --git a/flyfish-file/src/main/java/com/flyfish/framework/file/service/MediaService.java b/flyfish-file/src/main/java/com/flyfish/framework/file/service/MediaService.java
index a31896a..02d44b7 100644
--- a/flyfish-file/src/main/java/com/flyfish/framework/file/service/MediaService.java
+++ b/flyfish-file/src/main/java/com/flyfish/framework/file/service/MediaService.java
@@ -12,7 +12,7 @@ import org.springframework.http.codec.multipart.FilePart;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.io.IOException;
/**
diff --git a/flyfish-form/pom.xml b/flyfish-form/pom.xml
index 2dd4b17..2deb1b3 100644
--- a/flyfish-form/pom.xml
+++ b/flyfish-form/pom.xml
@@ -12,8 +12,8 @@
flyfish-form
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-form/src/main/java/com/flyfish/framework/form/domain/OnlineForm.java b/flyfish-form/src/main/java/com/flyfish/framework/form/domain/OnlineForm.java
index e13e653..320fdf9 100644
--- a/flyfish-form/src/main/java/com/flyfish/framework/form/domain/OnlineForm.java
+++ b/flyfish-form/src/main/java/com/flyfish/framework/form/domain/OnlineForm.java
@@ -1,6 +1,6 @@
package com.flyfish.framework.form.domain;
-import com.alibaba.fastjson.JSONObject;
+import com.flyfish.framework.bean.ObjectMap;
import com.flyfish.framework.domain.base.Domain;
import lombok.Data;
import org.springframework.data.mongodb.core.index.CompoundIndex;
@@ -8,7 +8,9 @@ import org.springframework.data.mongodb.core.mapping.Document;
import org.springframework.data.relational.core.mapping.Table;
import java.util.ArrayList;
+import java.util.HashMap;
import java.util.List;
+import java.util.Map;
/**
* 在线表单
@@ -35,7 +37,7 @@ public class OnlineForm extends Domain {
private Integer width;
// 默认布局
- private JSONObject layout = new JSONObject();
+ private Map layout = new HashMap<>();
@Data
public static class FormItem {
@@ -51,25 +53,25 @@ public class OnlineForm extends Domain {
// 栅格偏移,布局需要
private Integer offset = 0;
// 栅格布局
- private JSONObject grid = new JSONObject();
+ private ObjectMap grid = new ObjectMap();
// 儿子,手动指定儿子们
private String children;
// 条件,用于匹配条件以显示与否
- private JSONObject condition;
+ private ObjectMap condition;
// 校验规则,允许多个
- private List validation;
+ private List validation;
// 选项,用于表单的额外选项,支持antd vue的所有逻辑
- private JSONObject options = new JSONObject();
+ private ObjectMap options = new ObjectMap();
// 组件属性,支持对象
- private JSONObject props;
+ private ObjectMap props;
// 表单联动,key为表单组件的属性,包含两种模式,condition是激活条件,value是激活的值
- private JSONObject links;
+ private ObjectMap links;
// 事件支持
- private JSONObject events;
+ private ObjectMap events;
// 映射支持
- private JSONObject mapping;
+ private ObjectMap mapping;
// 异步的props
- private JSONObject delay;
+ private ObjectMap delay;
// 分组
private String group;
// 新增,增加反馈状态
diff --git a/flyfish-logging/pom.xml b/flyfish-logging/pom.xml
index b0bff11..9b59bf1 100644
--- a/flyfish-logging/pom.xml
+++ b/flyfish-logging/pom.xml
@@ -13,8 +13,8 @@
日志模块
- 8
- 8
+ 17
+ 17
diff --git a/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/LogManager.java b/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/LogManager.java
index 742a725..2aad6a7 100644
--- a/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/LogManager.java
+++ b/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/LogManager.java
@@ -1,16 +1,16 @@
package com.flyfish.framework.logging.service;
-import com.alibaba.fastjson.JSON;
import com.flyfish.framework.context.DateContext;
import com.flyfish.framework.logging.config.LoggingTextRegistry;
import com.flyfish.framework.logging.domain.Log;
import com.flyfish.framework.logging.domain.LogType;
+import com.flyfish.framework.utils.JacksonUtil;
+import jakarta.annotation.Resource;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.ArrayUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.DisposableBean;
-import javax.annotation.Resource;
import java.util.Optional;
import java.util.concurrent.ExecutorService;
import java.util.concurrent.Executors;
@@ -41,14 +41,14 @@ public class LogManager implements DisposableBean {
Log log = new Log();
log.setType(LogType.OPERATION);
log.setSuccess(context.isSuccess());
- log.setBody(bodyString(context.getArgs()));
+ bodyString(context.getArgs()).ifPresent(log::setBody);
log.setModule(context.getModule());
log.setBusiness(Optional.ofNullable(context.getBusiness())
.filter(StringUtils::isNotBlank)
.map(registry::text)
.orElse(context.getBusiness()));
- log.setError(Optional.ofNullable(context.getError()).map(JSON::toJSONString).orElse(null));
- log.setResponse(Optional.ofNullable(context.getResult()).map(JSON::toJSONString).orElse(null));
+ log.setError(Optional.ofNullable(context.getError()).flatMap(JacksonUtil::toJson).orElse(null));
+ log.setResponse(Optional.ofNullable(context.getResult()).flatMap(JacksonUtil::toJson).orElse(null));
log.setOperator(context.getUser());
log.setSignature(context.getSignature());
log.setPeriod(context.getEndTime() - context.getStartTime());
@@ -61,14 +61,14 @@ public class LogManager implements DisposableBean {
});
}
- private String bodyString(Object[] args) {
+ private Optional bodyString(Object[] args) {
if (ArrayUtils.isEmpty(args)) {
- return null;
+ return Optional.empty();
}
if (args.length == 1) {
- return JSON.toJSONString(args[0]);
+ return JacksonUtil.toJson(args[0]);
}
- return JSON.toJSONString(args);
+ return JacksonUtil.toJson(args);
}
@Override
diff --git a/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/SimpleAuthenticationLogger.java b/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/SimpleAuthenticationLogger.java
index e24eb20..e2daa51 100644
--- a/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/SimpleAuthenticationLogger.java
+++ b/flyfish-logging/src/main/java/com/flyfish/framework/logging/service/SimpleAuthenticationLogger.java
@@ -13,7 +13,7 @@ import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.stereotype.Service;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDateTime;
import java.util.Optional;
diff --git a/flyfish-user/pom.xml b/flyfish-user/pom.xml
index 74bbb3e..4580bcd 100644
--- a/flyfish-user/pom.xml
+++ b/flyfish-user/pom.xml
@@ -13,8 +13,8 @@
flyfish用户中心模块,提供缺省的用户体系,按需添加
- 8
- 8
+ 17
+ 17
@@ -38,8 +38,8 @@
${revision}
- com.dingxiang-inc
- ctu-client-sdk
+ io.springboot.plugin
+ spring-boot-starter-captcha
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/config/AuthenticationAuditorImpl.java b/flyfish-user/src/main/java/com/flyfish/framework/user/config/AuthenticationAuditorImpl.java
index a458709..2e9f87a 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/config/AuthenticationAuditorImpl.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/config/AuthenticationAuditorImpl.java
@@ -13,7 +13,7 @@ import org.springframework.security.core.userdetails.UserDetails;
import org.springframework.security.web.server.WebFilterExchange;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.time.LocalDateTime;
/**
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/config/WebSecurityConfig.java b/flyfish-user/src/main/java/com/flyfish/framework/user/config/WebSecurityConfig.java
index 001dd22..9916db3 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/config/WebSecurityConfig.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/config/WebSecurityConfig.java
@@ -1,21 +1,21 @@
package com.flyfish.framework.user.config;
-import com.flyfish.framework.user.config.captcha.DxCaptchaValidator;
-import com.flyfish.framework.user.config.converter.EncryptedAuthenticationConverter;
-import com.flyfish.framework.user.config.properties.SecurityProperties;
import com.flyfish.framework.configuration.jwt.JwtProperties;
import com.flyfish.framework.configuration.jwt.JwtSecurityContextRepository;
import com.flyfish.framework.configuration.jwt.TokenProvider;
-import com.flyfish.framework.user.domain.UserQo;
import com.flyfish.framework.domain.po.User;
import com.flyfish.framework.enums.UserStatus;
import com.flyfish.framework.enums.UserType;
import com.flyfish.framework.handler.JsonAuthenticationFailureHandler;
import com.flyfish.framework.handler.JsonAuthenticationSuccessHandler;
import com.flyfish.framework.handler.JsonLogoutSuccessHandler;
-import com.flyfish.framework.user.initializer.UserInitializer;
import com.flyfish.framework.service.AuthenticationAuditor;
import com.flyfish.framework.service.AuthenticationLogger;
+import com.flyfish.framework.user.config.captcha.CaptchaValidator;
+import com.flyfish.framework.user.config.converter.EncryptedAuthenticationConverter;
+import com.flyfish.framework.user.config.properties.SecurityProperties;
+import com.flyfish.framework.user.domain.UserQo;
+import com.flyfish.framework.user.initializer.UserInitializer;
import com.flyfish.framework.user.service.UserService;
import org.apache.commons.lang3.ArrayUtils;
import org.springframework.beans.factory.ObjectProvider;
@@ -158,7 +158,7 @@ public class WebSecurityConfig {
@Bean
public ServerAuthenticationConverter encryptedAuthenticateConverter(SecurityProperties securityProperties,
- ObjectProvider validator) {
+ ObjectProvider validator) {
return new EncryptedAuthenticationConverter(securityProperties, validator);
}
@@ -213,15 +213,4 @@ public class WebSecurityConfig {
authenticationFilter.setSecurityContextRepository(contextRepository());
return authenticationFilter;
}
-
- /**
- * 按需启用验证器
- *
- * @return 结果
- */
- @Bean
- @ConditionalOnProperty(value = "security.captcha.enable", havingValue = "true")
- public DxCaptchaValidator dxCaptchaValidator(SecurityProperties properties) {
- return new DxCaptchaValidator(properties);
- }
}
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/AnjiCaptchaValidator.java b/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/AnjiCaptchaValidator.java
new file mode 100644
index 0000000..5a1eea8
--- /dev/null
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/AnjiCaptchaValidator.java
@@ -0,0 +1,34 @@
+package com.flyfish.framework.user.config.captcha;
+
+import com.anji.captcha.model.common.ResponseModel;
+import com.anji.captcha.model.vo.CaptchaVO;
+import com.anji.captcha.service.CaptchaService;
+import com.flyfish.framework.user.config.properties.SecurityProperties;
+import com.flyfish.framework.utils.Assert;
+import lombok.RequiredArgsConstructor;
+
+@RequiredArgsConstructor
+public class AnjiCaptchaValidator implements CaptchaValidator {
+
+ private final SecurityProperties securityProperties;
+
+ private final CaptchaService captchaService;
+
+ /**
+ * 进行验证,并抛出异常
+ *
+ * @param token 验证码认证token
+ */
+ @Override
+ public void verify(String token) {
+ // 未启用,不拦截
+ if (!securityProperties.getCaptcha().isEnable()) {
+ return;
+ }
+ // 进行验证
+ CaptchaVO captchaVO = new CaptchaVO();
+ captchaVO.setCaptchaVerification(token);
+ ResponseModel response = captchaService.verification(captchaVO);
+ Assert.isTrue(response.isSuccess(), "请完成滑动验证!");
+ }
+}
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/CaptchaValidator.java b/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/CaptchaValidator.java
new file mode 100644
index 0000000..11eb493
--- /dev/null
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/CaptchaValidator.java
@@ -0,0 +1,16 @@
+package com.flyfish.framework.user.config.captcha;
+
+/**
+ * 验证码验证器
+ *
+ * @author wangyu
+ */
+public interface CaptchaValidator {
+
+ /**
+ * 进行验证,并抛出异常
+ *
+ * @param token 验证码认证token
+ */
+ void verify(String token);
+}
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/DxCaptchaValidator.java b/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/DxCaptchaValidator.java
deleted file mode 100644
index 67684e6..0000000
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/config/captcha/DxCaptchaValidator.java
+++ /dev/null
@@ -1,45 +0,0 @@
-package com.flyfish.framework.user.config.captcha;
-
-import com.dingxianginc.ctu.client.CaptchaClient;
-import com.dingxianginc.ctu.client.model.CaptchaResponse;
-import com.flyfish.framework.user.config.properties.SecurityProperties;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.BooleanUtils;
-import org.springframework.security.authentication.BadCredentialsException;
-
-/**
- * 顶象验证码验证器
- *
- * @author wangyu
- */
-@Slf4j
-public class DxCaptchaValidator {
-
- private final CaptchaClient captchaClient;
-
- public DxCaptchaValidator(SecurityProperties securityProperties) {
- SecurityProperties.CaptchaProperties captchaProperties = securityProperties.getCaptcha();
- this.captchaClient = new CaptchaClient(captchaProperties.getAppId(), captchaProperties.getAppSecret());
- captchaClient.setCaptchaUrl("https://" + captchaProperties.getServer() + "/api/tokenVerify");
- }
-
- /**
- * 执行验证码验证
- *
- * @param token 验证码
- * @return 结果
- */
- public void verify(String token) {
- //指定服务器地址,saas可在控制台,应用管理页面最上方获取
- try {
- CaptchaResponse response = captchaClient.verifyToken(token);
- log.info(response.getCaptchaStatus());
- if (BooleanUtils.isNotTrue(response.getResult())) {
- throw new BadCredentialsException("验证码不正确!");
- }
- } catch (Exception e) {
- log.error("验证码验证失败!" + e.getMessage());
- throw new BadCredentialsException("验证码验证异常!");
- }
- }
-}
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/config/converter/EncryptedAuthenticationConverter.java b/flyfish-user/src/main/java/com/flyfish/framework/user/config/converter/EncryptedAuthenticationConverter.java
index 2cd5439..65a2bf0 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/config/converter/EncryptedAuthenticationConverter.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/config/converter/EncryptedAuthenticationConverter.java
@@ -1,9 +1,9 @@
package com.flyfish.framework.user.config.converter;
import com.flyfish.framework.user.config.RSAKeys;
-import com.flyfish.framework.user.utils.RSAUtils;
-import com.flyfish.framework.user.config.captcha.DxCaptchaValidator;
+import com.flyfish.framework.user.config.captcha.CaptchaValidator;
import com.flyfish.framework.user.config.properties.SecurityProperties;
+import com.flyfish.framework.user.utils.RSAUtils;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import lombok.val;
@@ -38,7 +38,7 @@ public class EncryptedAuthenticationConverter implements ServerAuthenticationCon
private final SecurityProperties securityProperties;
- private final ObjectProvider validator;
+ private final ObjectProvider validator;
@Override
public Mono convert(ServerWebExchange exchange) {
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/config/properties/SecurityProperties.java b/flyfish-user/src/main/java/com/flyfish/framework/user/config/properties/SecurityProperties.java
index 23fc2d4..b808692 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/config/properties/SecurityProperties.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/config/properties/SecurityProperties.java
@@ -23,6 +23,7 @@ public class SecurityProperties {
/**
* 验证码属性
+ *
* @author wangyu
*/
@Data
@@ -30,14 +31,5 @@ public class SecurityProperties {
// 启用验证码
private boolean enable;
-
- // 顶象appid
- private String appId;
-
- // 顶象appSecret
- private String appSecret;
-
- // 服务器地址
- private String server;
}
}
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/controller/LoginController.java b/flyfish-user/src/main/java/com/flyfish/framework/user/controller/LoginController.java
index 383d4ac..aa4ee59 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/controller/LoginController.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/controller/LoginController.java
@@ -10,7 +10,7 @@ import org.springframework.web.bind.annotation.*;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
/**
* 登录controller
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/controller/UserController.java b/flyfish-user/src/main/java/com/flyfish/framework/user/controller/UserController.java
index f6d9db5..0f35c10 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/controller/UserController.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/controller/UserController.java
@@ -19,8 +19,8 @@ import org.springframework.security.crypto.password.PasswordEncoder;
import org.springframework.web.bind.annotation.*;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
-import javax.validation.Valid;
+import jakarta.annotation.Resource;
+import jakarta.validation.Valid;
import java.util.Optional;
@RestController
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/domain/UserPasswordDto.java b/flyfish-user/src/main/java/com/flyfish/framework/user/domain/UserPasswordDto.java
index f9e93d9..eddb50c 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/domain/UserPasswordDto.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/domain/UserPasswordDto.java
@@ -4,7 +4,7 @@ import com.flyfish.framework.validation.annotations.Password;
import lombok.Getter;
import lombok.Setter;
-import javax.validation.constraints.NotBlank;
+import jakarta.validation.constraints.NotBlank;
/**
* 修改密码dto
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/service/FlyfishUserDetailsServiceImpl.java b/flyfish-user/src/main/java/com/flyfish/framework/user/service/FlyfishUserDetailsServiceImpl.java
index 37d7ac5..60d98aa 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/service/FlyfishUserDetailsServiceImpl.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/service/FlyfishUserDetailsServiceImpl.java
@@ -7,6 +7,7 @@ import com.flyfish.framework.enums.UserStatus;
import com.flyfish.framework.service.FlyfishUserDetailsService;
import com.flyfish.framework.utils.Assert;
import com.flyfish.framework.utils.ReactiveRedisOperations;
+import jakarta.annotation.PostConstruct;
import lombok.RequiredArgsConstructor;
import org.apache.commons.lang3.BooleanUtils;
import org.springframework.security.authentication.*;
@@ -22,8 +23,7 @@ import org.springframework.stereotype.Service;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
-import javax.annotation.PostConstruct;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.HashMap;
import java.util.Map;
import java.util.function.Function;
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/MongoDepartmentServiceImpl.java b/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/MongoDepartmentServiceImpl.java
index b8026dd..aed4ea1 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/MongoDepartmentServiceImpl.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/MongoDepartmentServiceImpl.java
@@ -15,7 +15,7 @@ import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Collection;
import java.util.Set;
import java.util.stream.Collectors;
diff --git a/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/R2dbcDepartmentServiceImpl.java b/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/R2dbcDepartmentServiceImpl.java
index 099a167..b30a2be 100644
--- a/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/R2dbcDepartmentServiceImpl.java
+++ b/flyfish-user/src/main/java/com/flyfish/framework/user/service/impl/R2dbcDepartmentServiceImpl.java
@@ -13,7 +13,7 @@ import org.springframework.stereotype.Service;
import reactor.core.publisher.Flux;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Collection;
import java.util.Set;
import java.util.stream.Collectors;
diff --git a/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java b/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java
index 1f18fe6..436c467 100644
--- a/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java
+++ b/flyfish-web/src/main/java/com/flyfish/framework/beans/enums/ValidationCandidate.java
@@ -17,7 +17,7 @@ import org.hibernate.validator.constraints.URL;
import org.springframework.core.annotation.MergedAnnotation;
import org.springframework.core.annotation.MergedAnnotations;
-import javax.validation.constraints.*;
+import jakarta.validation.constraints.*;
import java.lang.annotation.Annotation;
import java.util.Arrays;
import java.util.List;
diff --git a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanController.java b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanController.java
index 3504d1d..ffec20a 100644
--- a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanController.java
+++ b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/BeanController.java
@@ -16,7 +16,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.util.Arrays;
import java.util.List;
import java.util.stream.Collectors;
diff --git a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/SubBean.java b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/SubBean.java
index 173e77c..c72477c 100644
--- a/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/SubBean.java
+++ b/flyfish-web/src/main/java/com/flyfish/framework/beans/meta/SubBean.java
@@ -1,6 +1,6 @@
package com.flyfish.framework.beans.meta;
-import javax.validation.Valid;
+import jakarta.validation.Valid;
import java.lang.annotation.*;
/**
diff --git a/flyfish-web/src/main/java/com/flyfish/framework/configuration/WebfluxConfig.java b/flyfish-web/src/main/java/com/flyfish/framework/configuration/WebfluxConfig.java
index 84e52ab..f881d1f 100644
--- a/flyfish-web/src/main/java/com/flyfish/framework/configuration/WebfluxConfig.java
+++ b/flyfish-web/src/main/java/com/flyfish/framework/configuration/WebfluxConfig.java
@@ -7,6 +7,7 @@ import com.flyfish.framework.configuration.resolver.RequestContextBodyArgumentRe
import com.flyfish.framework.configuration.resolver.UserArgumentResolver;
import com.flyfish.framework.configuration.resolver.ValidRequestBodyMethodArgumentResolver;
import com.flyfish.framework.context.SpringContext;
+import jakarta.annotation.Resource;
import org.springframework.boot.autoconfigure.jackson.JacksonProperties;
import org.springframework.context.annotation.Configuration;
import org.springframework.core.Ordered;
@@ -21,7 +22,6 @@ import org.springframework.web.reactive.config.EnableWebFlux;
import org.springframework.web.reactive.config.WebFluxConfigurer;
import org.springframework.web.reactive.result.method.annotation.ArgumentResolverConfigurer;
-import javax.annotation.Resource;
import java.util.Optional;
import java.util.TimeZone;
diff --git a/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java b/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java
index 2c6cffa..d799194 100644
--- a/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java
+++ b/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/JwtSecurityContextRepository.java
@@ -11,7 +11,7 @@ import org.springframework.security.web.server.context.ServerSecurityContextRepo
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import java.net.URI;
@Slf4j
diff --git a/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/TokenProvider.java b/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/TokenProvider.java
index c8b1743..4650534 100644
--- a/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/TokenProvider.java
+++ b/flyfish-web/src/main/java/com/flyfish/framework/configuration/jwt/TokenProvider.java
@@ -20,7 +20,7 @@ import org.springframework.security.core.userdetails.User;
import org.springframework.web.server.ServerWebExchange;
import reactor.core.publisher.Mono;
-import javax.annotation.Resource;
+import jakarta.annotation.Resource;
import javax.crypto.SecretKey;
import java.time.Duration;
import java.util.Arrays;
diff --git a/flyfish-web/src/main/java/com/flyfish/framework/configuration/resolver/ValidRequestBodyMethodArgumentResolver.java b/flyfish-web/src/main/java/com/flyfish/framework/configuration/resolver/ValidRequestBodyMethodArgumentResolver.java
index 98b9327..a2555b8 100644
--- a/flyfish-web/src/main/java/com/flyfish/framework/configuration/resolver/ValidRequestBodyMethodArgumentResolver.java
+++ b/flyfish-web/src/main/java/com/flyfish/framework/configuration/resolver/ValidRequestBodyMethodArgumentResolver.java
@@ -34,6 +34,7 @@ import reactor.core.publisher.Mono;
import java.util.*;
import java.util.stream.Collectors;
+import java.util.stream.Stream;
/**
* 私有校验逻辑支持的body
@@ -44,7 +45,7 @@ import java.util.stream.Collectors;
public class ValidRequestBodyMethodArgumentResolver extends AbstractMessageReaderArgumentResolver {
private static final Set SUPPORTED_METHODS =
- EnumSet.of(HttpMethod.POST, HttpMethod.PUT, HttpMethod.PATCH);
+ Stream.of(HttpMethod.POST, HttpMethod.PUT, HttpMethod.PATCH).collect(Collectors.toSet());
private final List supportedMediaTypes;
diff --git a/pom.xml b/pom.xml
index 10d3511..55d21b7 100644
--- a/pom.xml
+++ b/pom.xml
@@ -12,23 +12,23 @@
org.springframework.boot
spring-boot-starter-parent
- 2.7.18
+ 3.3.1
- 1.0.0-SNAPSHOT
+ 2.0.0-SNAPSHOT
flyfish
0.27.2
UTF-8
UTF-8
- 1.8
- 3.0.3
- Finchley.SR1
+ 17
+ 3.1.0
0.12.6
0.10.2
- 0.9.7
+ 1.1.3
1.5.0
+ 1.3.0
@@ -77,11 +77,7 @@
lombok
true
-
- com.alibaba
- fastjson
- 2.0.51
-
+
@@ -109,12 +105,12 @@
org.apache.commons
commons-collections4
- 4.1
+ 4.5.0-M2
commons-io
commons-io
- 2.6
+ 2.16.1
org.reflections
@@ -122,21 +118,21 @@
${reflection.version}
- com.github.ulisesbocchio
+ io.springboot.plugin
jasypt-spring-boot-starter
${jasypt.version}
-
- com.dingxiang-inc
- ctu-client-sdk
- 2.4
-
-
io.asyncer
r2dbc-mysql
${r2dbc-mysql.version}
+
+
+ io.springboot.plugin
+ spring-boot-starter-captcha
+ ${captcha.version}
+