feat(config): 将客服邮箱配置迁移到 Nacos 并支持动态刷新

This commit is contained in:
2026-03-10 17:10:42 +08:00
parent 8baeacae3b
commit 51555c3bb2
4 changed files with 87 additions and 8 deletions

View File

@@ -19,6 +19,8 @@ public class AppConfig {
private inviteConfig inviteConfig = new inviteConfig();
private customerMailConfig customerMailConfig = new customerMailConfig();
@Data
public static class UserRegisterProperties {
@@ -58,4 +60,9 @@ public class AppConfig {
public static class inviteConfig {
private String h5Link = "";
}
@Data
public static class customerMailConfig{
private String customerMail = "";
}
}

View File

@@ -4,6 +4,8 @@ import cn.dev33.satoken.stp.StpUtil;
import cn.hutool.core.bean.BeanUtil;
import com.yolo.keyborad.common.BaseResponse;
import com.yolo.keyborad.common.ResultUtils;
import com.yolo.keyborad.config.AppConfig;
import com.yolo.keyborad.config.NacosAppConfigCenter;
import com.yolo.keyborad.model.dto.AppleLoginReq;
import com.yolo.keyborad.model.dto.user.*;
import com.yolo.keyborad.model.entity.KeyboardFeedback;
@@ -22,7 +24,6 @@ import io.swagger.v3.oas.annotations.tags.Tag;
import jakarta.annotation.Resource;
import jakarta.servlet.http.HttpServletRequest;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.*;
import java.text.SimpleDateFormat;
@@ -51,8 +52,11 @@ public class UserController {
@Resource
private KeyboardUserInviteCodesService inviteCodesService;
@Value("${customer_mail}")
private String customerMail;
private final NacosAppConfigCenter.DynamicAppConfig cfgHolder;
public UserController(NacosAppConfigCenter.DynamicAppConfig cfgHolder) {
this.cfgHolder = cfgHolder;
}
/**
* 苹果登录
*
@@ -164,6 +168,7 @@ public class UserController {
@GetMapping("/customerMail")
@Operation(summary = "获取客服邮箱", description = "获取 customer_mail 配置的客服邮箱地址")
public BaseResponse<String> getCustomerMail() {
return ResultUtils.success(customerMail);
AppConfig appConfig = cfgHolder.getRef().get();
return ResultUtils.success(appConfig.getCustomerMailConfig().getCustomerMail());
}
}