feat(system): 添加 websopy 用户同步服务集成

- 配置 websopy 服务地址用于用户数据同步功能
- 实现用户同步到 websopy 的接口调用逻辑
- 添加用户缓存刷新功能以保持数据一致性
- 移除 PostConstruct 初始化方式改为运行时获取配置
- 添加同步操作的空值检查和警告日志处理
This commit is contained in:
2026-04-04 04:26:00 +08:00
parent 2303f46fca
commit fd4d00a86d
3 changed files with 13 additions and 11 deletions

View File

@@ -10,7 +10,6 @@ import org.apache.http.HttpResponse;
import org.apache.http.util.EntityUtils;
import org.springframework.stereotype.Service;
import javax.annotation.PostConstruct;
import javax.annotation.Resource;
import java.nio.charset.StandardCharsets;
import java.util.HashMap;
@@ -29,16 +28,11 @@ public class UserSyncService {
@Resource
private ConfigProperties configProperties;
private String websopyBaseUrl;
@PostConstruct
public void init() {
websopyBaseUrl = configProperties.getWebsopyUrl();
if (websopyBaseUrl == null || websopyBaseUrl.isEmpty()) {
log.warn("websopyUrl 未配置,用户同步功能将不可用");
} else {
log.info("用户同步服务初始化完成websopy地址: {}", websopyBaseUrl);
}
/**
* 获取 websopy 基础 URL
*/
private String getWebsopyBaseUrl() {
return configProperties.getWebsopyUrl();
}
/**
@@ -47,6 +41,7 @@ public class UserSyncService {
* @param user 用户信息
*/
public void syncUserToWebsopy(User user) {
String websopyBaseUrl = getWebsopyBaseUrl();
if (websopyBaseUrl == null || websopyBaseUrl.isEmpty()) {
log.warn("websopyUrl 未配置,跳过用户同步: userId={}", user.getUserId());
return;
@@ -102,6 +97,7 @@ public class UserSyncService {
* @param userId 用户ID
*/
public void refreshUserCache(Integer userId) {
String websopyBaseUrl = getWebsopyBaseUrl();
if (websopyBaseUrl == null || websopyBaseUrl.isEmpty()) {
log.warn("websopyUrl 未配置,跳过刷新缓存: userId={}", userId);
return;

View File

@@ -46,6 +46,9 @@ config:
bucketDomain: https://oss.wsdns.cn
aliyunDomain: https://oss-gxwebsoft.oss-cn-shenzhen.aliyuncs.com
# websopy 服务地址(用于同步用户数据)
websopyUrl: https://websopy-api.websoft.top
# 生产环境证书配置
certificate:
# 生产环境使用挂载卷模式

View File

@@ -98,6 +98,9 @@ config:
upload-path: /Users/gxwebsoft/Documents/uploads
local-upload-path: /Users/gxwebsoft/Documents/uploads
# websopy 服务地址(用于同步用户数据)
websopyUrl: https://websopy-api.websoft.top
# 阿里云OSS云存储
endpoint: https://oss-cn-shenzhen.aliyuncs.com
accessKeyId: LTAI5tGXuJku8MK7TA6gQMZw