specification, int pageNumber, int pageSize, Sort.Direction direction, String... properties) {
+ return findByPage(specification, PageRequest.of(pageNumber, pageSize, direction, properties));
}
/**
diff --git a/dante-data/dante-data-rest/pom.xml b/dante-data/dante-data-rest/pom.xml
index 43cc17c7b2e21da2b3ca4f499aaa4b3aaf11c5f9..c691bf3a591f18d132f111eab8697b31ecac8734 100644
--- a/dante-data/dante-data-rest/pom.xml
+++ b/dante-data/dante-data-rest/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-data
- 4.1.0.4
+ 4.1.1.0
dante-data-rest
diff --git a/dante-data/pom.xml b/dante-data/pom.xml
index ef6733480b3c2d0b48e59307a56127a209ac4ce8..3e55a47f569086b9cce3ab27d7ed05de63dbf831 100644
--- a/dante-data/pom.xml
+++ b/dante-data/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-engine
- 4.1.0.4
+ 4.1.1.0
dante-data
diff --git a/dante-dependencies/pom.xml b/dante-dependencies/pom.xml
index 76c7dbd77c6916358a64d2abec6842eb9eccb59b..568a815e6233fcbbdf983ed5580195a8366d358f 100644
--- a/dante-dependencies/pom.xml
+++ b/dante-dependencies/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.ecosystem
herodotus-ecosystem-dependencies
- 4.1.0.4
+ 4.1.1.0
diff --git a/dante-framework/dante-autoconfigure/pom.xml b/dante-framework/dante-autoconfigure/pom.xml
index 32cda5aa846756a0f477c9df1f776496512a631a..619cdbdd9a11664ae7084a3745ec57878a320368 100644
--- a/dante-framework/dante-autoconfigure/pom.xml
+++ b/dante-framework/dante-autoconfigure/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-framework
- 4.1.0.4
+ 4.1.1.0
dante-autoconfigure
diff --git a/dante-framework/dante-cache/pom.xml b/dante-framework/dante-cache/pom.xml
index 1b14e6e3eb2ab5dcea60a835db55d6ba672a265d..6703223671551dfa60e6acad6ac0cc71586cd84e 100644
--- a/dante-framework/dante-cache/pom.xml
+++ b/dante-framework/dante-cache/pom.xml
@@ -6,7 +6,7 @@
cn.herodotus.dante
dante-framework
- 4.1.0.4
+ 4.1.1.0
dante-cache
diff --git a/dante-framework/dante-core/pom.xml b/dante-framework/dante-core/pom.xml
index 10db889456546835e807fa07d23c550a2317c2af..a9b5547a6f885ae19222070195afbd27be697bc1 100644
--- a/dante-framework/dante-core/pom.xml
+++ b/dante-framework/dante-core/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-framework
- 4.1.0.4
+ 4.1.1.0
dante-core
diff --git a/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/constant/SystemConstants.java b/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/constant/SystemConstants.java
index 4a66776372c062ebf3431abcfe91663acab7a73d..876fd72033ed691b8a95b50d0d1cf1f7493c4d23 100644
--- a/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/constant/SystemConstants.java
+++ b/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/constant/SystemConstants.java
@@ -40,6 +40,10 @@ public interface SystemConstants {
* 默认租户ID
*/
String TENANT_ID = "public";
+ /**
+ * 默认的 API 版本
+ */
+ String API_VERSION = "v1";
/**
* 默认树形结构根节点
*/
@@ -58,16 +62,31 @@ public interface SystemConstants {
*/
String DATA_TYPE__STRING = "STRING";
String DATA_TYPE__NUMBER = "NUMBER";
+ /**
+ * gRPC 服务发现协议
+ */
+ String GRPC__DISCOVERY_SCHEMA = "discovery";
+ String GRPC__DISCOVERY_PROTOCOL = GRPC__DISCOVERY_SCHEMA + ":///";
+ /**
+ * 常用状态值
+ */
+ String STATUS__SUCCESS = "success";
+ String STATUS__FAILURE = "failure";
+ String STATUS__ERROR = "error";
/* ---------- 系统信息 ---------- */
+ String DN_CN = "*.herodotus.cn";
+ String DN_C = "CN";
+ String DN_ST = "YUNNAN";
+ String DN_L = "KUNMING";
+ String DN_O = "Herodotus";
String DN_OU = "Herodotus Cloud";
String WEBSITE = "https://www.herodotus.cn";
- String COPYRIGHT_DETAILS = "Apache-2.0 Licensed | Copyright © 2020-2030 码 匠 君";
+ String COPYRIGHT_DETAILS = "AGPL-3.0 Licensed | Copyright © 2020-2030 码 匠 君";
String SYSTEM_NAME = DN_OU;
String OPEN_API_SECURITY_SCHEME_BEARER_NAME = "HERODOTUS_AUTH";
-
/* ---------- OAuth2 相关常量 ---------- */
String BEARER_TYPE = "Bearer";
@@ -89,19 +108,23 @@ public interface SystemConstants {
String OIDC_CLIENT_REGISTRATION_ENDPOINT = "/connect/register";
String OIDC_LOGOUT_ENDPOINT = "/connect/logout";
String OIDC_USER_INFO_ENDPOINT = "/userinfo";
+ String WEBAUTHN_AUTHENTICATE_OPTIONS_ENDPOINT = "/webauthn/authenticate/options";
+ String WEBAUTHN_REGISTER_OPTIONS_ENDPOINT = "/webauthn/register/options";
+ String WEBAUTHN_REGISTER_ENDPOINT = "/webauthn/register";
/**
* OAuth2 Custom Endpoint
*/
String OAUTH2_AUTHORIZATION_CONSENT_URI = "/oauth2/consent";
String OAUTH2_DEVICE_ACTIVATION_URI = "/oauth2/device_activation";
- String OAUTH2_DEVICE_VERIFICATION_SUCCESS_URI = "/device_activated";
+ String OAUTH2_DEVICE_VERIFICATION_SUCCESS_URI = "/device_activation_success";
String OAUTH2_DEVICE_VERIFICATION_FAILURE_URI = "/device_activation_failure";
/**
- * Oauth2 模式类型
+ * OAuth2 模式类型
*/
String USERNAME = "username";
String PASSWORD = "password";
String SOCIAL_CREDENTIALS = "social_credentials";
+ String WEBAUTHN_CREDENTIALS = "webauthn_credentials";
/**
* OAuth2 Token Custom Attribute
*/
@@ -115,7 +138,7 @@ public interface SystemConstants {
String LICENSE = "license";
String COPYRIGHT = "copyright";
/**
- * 从 OidcScope 中拷贝的默认 Scope 方便以后使用
+ * 从 OidcScope 中拷贝的 OAuth2 默认 Scope 方便以后使用
*/
String SCOPE_OPENID = "openid";
String SCOPE_EMAIL = "email";
@@ -142,6 +165,7 @@ public interface SystemConstants {
*/
String MATCHER__STATIC = "/static/**";
String MATCHER__WEBJARS = "/webjars/**";
+ String MATCHER__BPMN = "/engine-rest/**";
/**
* 默认用户 Session 属性
*/
@@ -149,7 +173,13 @@ public interface SystemConstants {
/**
* 签名算法属性
*/
+ String KEY__PRODUCT_KEY = "productKey";
+ String KEY__DEVICE_NAME = "deviceName";
+ String KEY__CLIENT_ID = "clientId";
+ String KEY__SECURE_MODE = "securemode";
+ String KEY__SIGNATURE_METHOD = "signMethod";
String KEY__TIMESTAMP = "timestamp";
+ String KEY__AUTH_TYPE = "authType";
String KEY__RANDOM = "random";
/* ---------- OSS 相关常量 ---------- */
@@ -183,6 +213,6 @@ public interface SystemConstants {
*
* 定义测试用途的通用目录,外部资源的统一使用和管控。
*/
- String TESTING__WINDOWS_DEFAULT_FOLDER = "D:/workspaces/Testing";
+ String TESTING__WINDOWS_DEFAULT_FOLDER = "D:/workspaces/testing";
}
diff --git a/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/domain/Result.java b/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/domain/Result.java
index ddf93b615b990c9c726ee2b244cff210368cb0c6..b6f74e8e8582f31d66656eb78bc2412d4342f377 100644
--- a/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/domain/Result.java
+++ b/dante-framework/dante-core/src/main/java/cn/herodotus/dante/core/domain/Result.java
@@ -269,14 +269,14 @@ public class Result extends Response {
public Map toModel() {
Map result = createModel();
result.put("data", getData());
- result.put("error", error);
+ result.put(SystemConstants.STATUS__ERROR, error);
return result;
}
public Map toErrorModel() {
Map result = createModel();
result.put("exception", getData());
- result.put("error", ObjectUtils.isNotEmpty(getError()) ? getError().getDetail() : StringUtils.EMPTY);
+ result.put(SystemConstants.STATUS__ERROR, ObjectUtils.isNotEmpty(getError()) ? getError().getDetail() : StringUtils.EMPTY);
// result.put("trace", ObjectUtils.isNotEmpty(getError()) ? getError().getStackTrace() : null);
return result;
}
diff --git a/dante-framework/dante-hibernate/pom.xml b/dante-framework/dante-hibernate/pom.xml
index 38415feae8f0c10a891d3ba8f132092f5c8fd8af..df6a581b371b2359c6947dd40ef1b78c2442e4f0 100644
--- a/dante-framework/dante-hibernate/pom.xml
+++ b/dante-framework/dante-hibernate/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-framework
- 4.1.0.4
+ 4.1.1.0
dante-hibernate
@@ -46,7 +46,7 @@
- p6spy
+ cn.unikue.forkextension.p6spy
p6spy
diff --git a/dante-framework/dante-hibernate/src/main/java/cn/herodotus/dante/hibernate/p6spy/P6SpyMessageFormatting.java b/dante-framework/dante-hibernate/src/main/java/cn/herodotus/dante/hibernate/p6spy/P6SpyMessageFormatting.java
index 7a962ca8419b6fd69f0d0293800170c2e9426d7c..87e5737ccd2b106b9dc81ec3f42a4a764b0c605d 100644
--- a/dante-framework/dante-hibernate/src/main/java/cn/herodotus/dante/hibernate/p6spy/P6SpyMessageFormatting.java
+++ b/dante-framework/dante-hibernate/src/main/java/cn/herodotus/dante/hibernate/p6spy/P6SpyMessageFormatting.java
@@ -45,13 +45,6 @@ public class P6SpyMessageFormatting implements MessageFormattingStrategy {
@Override
public String formatMessage(int connectionId, String now, long elapsed, String category, String prepared, String sql, String url) {
- /**
- *
- * StringBuilder 是为了避免字符串拼接过程中产生很多不必要的字符串对象。
- * 经过编译器优化,多个字符串相‘+’,优化后,与StringBuilder等价
- *
- * 关注idea的“'StringBuilder builder' can be replaced with 'String'”提示
- */
String builder = this.format.format(new Date()) + " | took " +
elapsed +
"ms | " +
@@ -63,6 +56,6 @@ public class P6SpyMessageFormatting implements MessageFormattingStrategy {
"\n------------------------| " +
sql +
";";
- return StringUtils.isNotEmpty(sql.trim()) ? String.valueOf(builder) : "";
+ return StringUtils.isNotEmpty(sql.trim()) ? builder : "";
}
}
diff --git a/dante-framework/dante-security/pom.xml b/dante-framework/dante-security/pom.xml
index aa2f8634ecf784cf94864ed99a7396af270174e8..d77d504aad1e785dfd23363ea806e173dbb32421 100644
--- a/dante-framework/dante-security/pom.xml
+++ b/dante-framework/dante-security/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-framework
- 4.1.0.4
+ 4.1.1.0
dante-security
diff --git a/dante-framework/dante-spring/pom.xml b/dante-framework/dante-spring/pom.xml
index 108e99aa4c19b535ac8de8618ae55d52048dad01..ee1aa7676ab2e4c9eca08f0c0f58920d3e700d7e 100644
--- a/dante-framework/dante-spring/pom.xml
+++ b/dante-framework/dante-spring/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-framework
- 4.1.0.4
+ 4.1.1.0
dante-spring
diff --git a/dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/AbstractApplicationEvent.java b/dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/AbstractApplicationEvent.java
similarity index 96%
rename from dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/AbstractApplicationEvent.java
rename to dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/AbstractApplicationEvent.java
index 789c32dd517241b43ac466a5e234e44ea83d9288..3d27eda4428dd04bbfbd4c72f5c4977c744d256a 100644
--- a/dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/AbstractApplicationEvent.java
+++ b/dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/AbstractApplicationEvent.java
@@ -23,7 +23,7 @@
* 6. 若您的项目无法满足以上几点,可申请商业授权
*/
-package cn.herodotus.dante.message.commons.definition.event;
+package cn.herodotus.dante.spring.event;
import org.springframework.context.ApplicationEvent;
diff --git a/dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/ApplicationStrategyEventManager.java b/dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/ApplicationStrategyEventManager.java
similarity index 96%
rename from dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/ApplicationStrategyEventManager.java
rename to dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/ApplicationStrategyEventManager.java
index 37d953ae9d9e6aad6566ff3d7bde9229859e6523..3dd4f88862838eabd98e5dc48f429a9a521c85e3 100644
--- a/dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/ApplicationStrategyEventManager.java
+++ b/dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/ApplicationStrategyEventManager.java
@@ -23,7 +23,7 @@
* 6. 若您的项目无法满足以上几点,可申请商业授权
*/
-package cn.herodotus.dante.message.commons.definition.event;
+package cn.herodotus.dante.spring.event;
/**
* Description: 应用策略事件
diff --git a/dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/StrategyEventManager.java b/dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/StrategyEventManager.java
similarity index 98%
rename from dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/StrategyEventManager.java
rename to dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/StrategyEventManager.java
index 078d6a8a1fdbfbb788a0280907420e20e1a22857..9c01246cca6b53525dffad360b7b44e1bdc56287 100644
--- a/dante-message/dante-message-commons/src/main/java/cn/herodotus/dante/message/commons/definition/event/StrategyEventManager.java
+++ b/dante-framework/dante-spring/src/main/java/cn/herodotus/dante/spring/event/StrategyEventManager.java
@@ -23,7 +23,7 @@
* 6. 若您的项目无法满足以上几点,可申请商业授权
*/
-package cn.herodotus.dante.message.commons.definition.event;
+package cn.herodotus.dante.spring.event;
import cn.herodotus.dante.core.jackson.JacksonUtils;
import cn.herodotus.dante.spring.context.ServiceContextHolder;
diff --git a/dante-framework/dante-web/pom.xml b/dante-framework/dante-web/pom.xml
index 5bc10a1aa9e10418967631bb8531d1413bfd1964..633502920b601d7a7a232bc14b89d74d24c0b2f0 100644
--- a/dante-framework/dante-web/pom.xml
+++ b/dante-framework/dante-web/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-framework
- 4.1.0.4
+ 4.1.1.0
dante-web
diff --git a/dante-framework/pom.xml b/dante-framework/pom.xml
index 2ecc84b31c2e78ff234b22b717514101c47f2daf..f1cfff2b87c72ba6cdf4b239531358581c9829df 100644
--- a/dante-framework/pom.xml
+++ b/dante-framework/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-engine
- 4.1.0.4
+ 4.1.1.0
dante-framework
diff --git a/dante-logic/dante-logic-identity/pom.xml b/dante-logic/dante-logic-identity/pom.xml
index 8b312fac54365561b8001edeaf8c5136c47d8b75..9a2b7ca53a89267b840a7e478a06fb48178403ed 100644
--- a/dante-logic/dante-logic-identity/pom.xml
+++ b/dante-logic/dante-logic-identity/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-logic
- 4.1.0.4
+ 4.1.1.0
dante-logic-identity
diff --git a/dante-logic/dante-logic-message/pom.xml b/dante-logic/dante-logic-message/pom.xml
index 7e901380294974ef2c00ac88ad7976ea96f4eb02..4e67f0bbef914c3d9b6e0f281c4623aec0e811c9 100644
--- a/dante-logic/dante-logic-message/pom.xml
+++ b/dante-logic/dante-logic-message/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-logic
- 4.1.0.4
+ 4.1.1.0
dante-logic-message
diff --git a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/entity/PullStamp.java b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/entity/PullStamp.java
index 27c02a38d6d7f41ae40e82d59a3cd08f1a9765fa..a6ab40bd7a5f13ec71b8fd6356c0424ad86ab03f 100644
--- a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/entity/PullStamp.java
+++ b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/entity/PullStamp.java
@@ -35,7 +35,7 @@ import jakarta.persistence.*;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.UuidGenerator;
-import java.util.Date;
+import java.time.LocalDateTime;
/**
* Description: 信息拉取标记
@@ -69,7 +69,7 @@ public class PullStamp implements BaseEntity {
@Schema(name = "上次拉取时间")
@Column(name = "latest_pull_time", updatable = false)
@JsonFormat(pattern = SystemConstants.PATTERN__DATE_TIME)
- private Date latestPullTime = new Date();
+ private LocalDateTime latestPullTime = LocalDateTime.now();
public String getStampId() {
return stampId;
@@ -95,11 +95,11 @@ public class PullStamp implements BaseEntity {
this.source = source;
}
- public Date getLatestPullTime() {
+ public LocalDateTime getLatestPullTime() {
return latestPullTime;
}
- public void setLatestPullTime(Date latestPullTime) {
+ public void setLatestPullTime(LocalDateTime latestPullTime) {
this.latestPullTime = latestPullTime;
}
diff --git a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/repository/AnnouncementRepository.java b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/repository/AnnouncementRepository.java
index 00ea4d7291c2f361a6b4baaa3029685f5a5f427e..10304a7c8c1957cb9a91ebbdfec35f8636770371 100644
--- a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/repository/AnnouncementRepository.java
+++ b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/repository/AnnouncementRepository.java
@@ -31,7 +31,7 @@ import jakarta.persistence.QueryHint;
import org.hibernate.jpa.AvailableHints;
import org.springframework.data.jpa.repository.QueryHints;
-import java.util.Date;
+import java.time.LocalDateTime;
import java.util.List;
/**
@@ -43,5 +43,5 @@ import java.util.List;
public interface AnnouncementRepository extends BaseJpaRepository {
@QueryHints(@QueryHint(name = AvailableHints.HINT_CACHEABLE, value = "true"))
- List findAllByCreateTimeAfter(Date stamp);
+ List findAllByCreateTimeAfter(LocalDateTime stamp);
}
diff --git a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/AnnouncementService.java b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/AnnouncementService.java
index 899aac96509a9f8657b6c0e1ac248e0545dd476b..9d5376baf03ce610fb6879d5d2f9108bc78ce0e7 100644
--- a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/AnnouncementService.java
+++ b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/AnnouncementService.java
@@ -31,7 +31,7 @@ import cn.herodotus.dante.logic.message.entity.Announcement;
import cn.herodotus.dante.logic.message.repository.AnnouncementRepository;
import org.springframework.stereotype.Service;
-import java.util.Date;
+import java.time.LocalDateTime;
import java.util.List;
/**
@@ -54,7 +54,7 @@ public class AnnouncementService extends AbstractJpaService pullAnnouncements(Date stamp) {
+ public List pullAnnouncements(LocalDateTime stamp) {
return announcementRepository.findAllByCreateTimeAfter(stamp);
}
}
diff --git a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/PullStampService.java b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/PullStampService.java
index b246096647102318cd37d0d63101b87af3a87d2e..25d6803b1d1cb5021002b913def5a6d2a73a07cf 100644
--- a/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/PullStampService.java
+++ b/dante-logic/dante-logic-message/src/main/java/cn/herodotus/dante/logic/message/service/PullStampService.java
@@ -32,7 +32,7 @@ import cn.herodotus.dante.logic.message.repository.PullStampRepository;
import org.apache.commons.lang3.ObjectUtils;
import org.springframework.stereotype.Service;
-import java.util.Date;
+import java.time.LocalDateTime;
/**
* Description: MessagePullStampService
@@ -65,7 +65,7 @@ public class PullStampService extends AbstractJpaService {
stamp = new PullStamp();
stamp.setUserId(userId);
}
- stamp.setLatestPullTime(new Date());
+ stamp.setLatestPullTime(LocalDateTime.now());
return this.save(stamp);
}
diff --git a/dante-logic/dante-logic-upms/pom.xml b/dante-logic/dante-logic-upms/pom.xml
index 1625fb58b165a5d8f1c9bbd8c6e300b1909f0a95..86af6e07f3fa6c4e0c3b843117890b05243c262b 100644
--- a/dante-logic/dante-logic-upms/pom.xml
+++ b/dante-logic/dante-logic-upms/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-logic
- 4.1.0.4
+ 4.1.1.0
dante-logic-upms
diff --git a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/domain/event/SysAttributeChangeEvent.java b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/domain/event/SysAttributeChangeEvent.java
index f32d7c949261bd9301db50b93c5f160bb825da51..d0c8d8c10a23b91e8074704b66679b56fc7aae3e 100644
--- a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/domain/event/SysAttributeChangeEvent.java
+++ b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/domain/event/SysAttributeChangeEvent.java
@@ -26,7 +26,7 @@
package cn.herodotus.dante.logic.upms.domain.event;
import cn.herodotus.dante.logic.upms.entity.security.SysAttribute;
-import cn.herodotus.dante.message.commons.definition.event.AbstractApplicationEvent;
+import cn.herodotus.dante.spring.event.AbstractApplicationEvent;
import java.time.Clock;
diff --git a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/hr/SysEmployee.java b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/hr/SysEmployee.java
index e9e115daa9be63107bfacfab55ae14afe7651fcd..54ca9406343848a067ed6600cea703c4a4b09cb4 100644
--- a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/hr/SysEmployee.java
+++ b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/hr/SysEmployee.java
@@ -33,6 +33,7 @@ import cn.herodotus.dante.logic.upms.entity.security.SysUser;
import cn.herodotus.dante.logic.upms.enums.Gender;
import cn.herodotus.dante.logic.upms.enums.Identity;
import cn.herodotus.dante.security.enums.AccountCategory;
+import com.fasterxml.jackson.annotation.JsonBackReference;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.google.common.base.MoreObjects;
@@ -147,8 +148,9 @@ public class SysEmployee extends AbstractSysEntity implements SocialUserDetails
private Set departments = new HashSet<>();
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = LogicUpmsConstants.REGION_SYS_USER)
- @JsonDeserialize(using = SysUserEmptyToNull.class)
@OneToOne(mappedBy = "employee", cascade = CascadeType.ALL)
+ @JsonDeserialize(using = SysUserEmptyToNull.class)
+ @JsonBackReference
private SysUser user;
public SysUser getUser() {
diff --git a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/security/SysUser.java b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/security/SysUser.java
index 9562f600a68325e591071e318ec0d52b33c00bd1..3373a0fb851eeb28d23e7030f5a54eb56fa1d380 100644
--- a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/security/SysUser.java
+++ b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/entity/security/SysUser.java
@@ -38,6 +38,7 @@ import cn.herodotus.dante.logic.upms.constant.LogicUpmsConstants;
import cn.herodotus.dante.logic.upms.domain.deserializer.SysEmployeeEmptyToNull;
import cn.herodotus.dante.logic.upms.entity.hr.SysEmployee;
import com.fasterxml.jackson.annotation.JsonIdentityInfo;
+import com.fasterxml.jackson.annotation.JsonManagedReference;
import com.fasterxml.jackson.annotation.ObjectIdGenerators;
import com.google.common.base.MoreObjects;
import io.swagger.v3.oas.annotations.media.Schema;
@@ -136,7 +137,6 @@ public class SysUser extends AbstractSysEntity {
*
* 因为 @ManyToMany 使用的是集合,空对象不会被转成对象Set进去。
*/
- @JsonDeserialize(using = SysEmployeeEmptyToNull.class)
@org.hibernate.annotations.Cache(usage = CacheConcurrencyStrategy.READ_WRITE, region = LogicUpmsConstants.REGION_SYS_EMPLOYEE)
@Schema(name = "人员")
@OneToOne(fetch = FetchType.LAZY)
@@ -145,6 +145,8 @@ public class SysUser extends AbstractSysEntity {
inverseJoinColumns = {@JoinColumn(name = "employee_id")},
uniqueConstraints = {@UniqueConstraint(columnNames = {"user_id", "employee_id"})},
indexes = {@Index(name = "sys_user_employee_sid_idx", columnList = "user_id"), @Index(name = "sys_user_employee_eid_idx", columnList = "employee_id")})
+ @JsonManagedReference
+ @JsonDeserialize(using = SysEmployeeEmptyToNull.class)
private SysEmployee employee;
public String getPhoneNumber() {
diff --git a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/service/security/SysAttributeService.java b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/service/security/SysAttributeService.java
index 2e7203eaf515e9dc2e6f8e3d10a657a122647d71..2a4a55117ee88fe53e1238f845b73daf02042d97 100644
--- a/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/service/security/SysAttributeService.java
+++ b/dante-logic/dante-logic-upms/src/main/java/cn/herodotus/dante/logic/upms/service/security/SysAttributeService.java
@@ -32,7 +32,11 @@ import cn.herodotus.dante.logic.upms.entity.security.SysPermission;
import cn.herodotus.dante.logic.upms.repository.security.SysAttributeRepository;
import org.springframework.stereotype.Service;
-import java.util.*;
+import java.time.LocalDateTime;
+import java.util.HashSet;
+import java.util.List;
+import java.util.Optional;
+import java.util.Set;
/**
*
Description: SysAttributeService
@@ -69,7 +73,7 @@ public class SysAttributeService extends AbstractJpaService
cn.herodotus.dante
dante-engine
- 4.1.0.4
+ 4.1.1.0
dante-logic
diff --git a/dante-message/dante-message-autoconfigure/pom.xml b/dante-message/dante-message-autoconfigure/pom.xml
index 448b3174bd934bad4fd8222356211365574cfac6..042f3f192b92ff9b44b3a67881644bf1999fcab8 100644
--- a/dante-message/dante-message-autoconfigure/pom.xml
+++ b/dante-message/dante-message-autoconfigure/pom.xml
@@ -31,7 +31,7 @@
cn.herodotus.dante
dante-message
- 4.1.0.4
+ 4.1.1.0
dante-message-autoconfigure
diff --git a/dante-message/dante-message-autoconfigure/src/main/java/cn/herodotus/dante/message/autoconfigure/emqx/WebhookMapToEventTransformer.java b/dante-message/dante-message-autoconfigure/src/main/java/cn/herodotus/dante/message/autoconfigure/emqx/WebhookMapToEventTransformer.java
index 5467d41e92afd03c81548a9d56c7fa51924c390f..061e73b0a40ee68cd01aacad61af476ae488677f 100644
--- a/dante-message/dante-message-autoconfigure/src/main/java/cn/herodotus/dante/message/autoconfigure/emqx/WebhookMapToEventTransformer.java
+++ b/dante-message/dante-message-autoconfigure/src/main/java/cn/herodotus/dante/message/autoconfigure/emqx/WebhookMapToEventTransformer.java
@@ -51,7 +51,6 @@ class WebhookMapToEventTransformer extends AbstractPayloadTransformer