From 6ef1488e5ffa3681cbb596906446d9c1df891993 Mon Sep 17 00:00:00 2001 From: ziin Date: Wed, 24 Dec 2025 22:02:08 +0800 Subject: [PATCH] =?UTF-8?q?feat(invite):=20=E6=96=B0=E5=A2=9EH5=E9=82=80?= =?UTF-8?q?=E8=AF=B7=E9=93=BE=E6=8E=A5=E9=85=8D=E7=BD=AE=E4=B8=8E=E8=BF=94?= =?UTF-8?q?=E5=9B=9E?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 在 AppConfig 中增加 inviteConfig 及 h5Link 字段; 服务层改造 getUserInviteCode 返回 InviteCodeRespVO 并填充 h5Link; Controller 简化调用逻辑,统一走服务层组装 VO。 --- .../com/yolo/keyborad/config/AppConfig.java | 6 +++++ .../keyborad/controller/UserController.java | 7 +----- .../model/vo/user/InviteCodeRespVO.java | 3 +++ .../KeyboardUserInviteCodesService.java | 5 ++-- .../KeyboardUserInviteCodesServiceImpl.java | 23 +++++++++++++++++-- 5 files changed, 34 insertions(+), 10 deletions(-) diff --git a/src/main/java/com/yolo/keyborad/config/AppConfig.java b/src/main/java/com/yolo/keyborad/config/AppConfig.java index f6c2d2c..2d5dbc7 100644 --- a/src/main/java/com/yolo/keyborad/config/AppConfig.java +++ b/src/main/java/com/yolo/keyborad/config/AppConfig.java @@ -17,6 +17,8 @@ public class AppConfig { private LLmConfig llmConfig = new LLmConfig(); + private inviteConfig inviteConfig = new inviteConfig(); + @Data public static class UserRegisterProperties { @@ -48,4 +50,8 @@ public class AppConfig { private Integer maxMessageLength = 1000; } + @Data + public static class inviteConfig { + private String h5Link = ""; + } } diff --git a/src/main/java/com/yolo/keyborad/controller/UserController.java b/src/main/java/com/yolo/keyborad/controller/UserController.java index ef2d7c1..10a97ad 100644 --- a/src/main/java/com/yolo/keyborad/controller/UserController.java +++ b/src/main/java/com/yolo/keyborad/controller/UserController.java @@ -143,11 +143,6 @@ public class UserController { @Operation(summary = "查询邀请码", description = "查询用户自己的邀请码") public BaseResponse getInviteCode() { long userId = StpUtil.getLoginIdAsLong(); - KeyboardUserInviteCodes inviteCode = inviteCodesService.getUserInviteCode(userId); - if (inviteCode == null) { - inviteCode = inviteCodesService.createInviteCode(userId); - } - InviteCodeRespVO respVO = BeanUtil.copyProperties(inviteCode, InviteCodeRespVO.class); - return ResultUtils.success(respVO); + return ResultUtils.success( inviteCodesService.getUserInviteCode(userId)); } } \ No newline at end of file diff --git a/src/main/java/com/yolo/keyborad/model/vo/user/InviteCodeRespVO.java b/src/main/java/com/yolo/keyborad/model/vo/user/InviteCodeRespVO.java index f9c155f..9d59955 100644 --- a/src/main/java/com/yolo/keyborad/model/vo/user/InviteCodeRespVO.java +++ b/src/main/java/com/yolo/keyborad/model/vo/user/InviteCodeRespVO.java @@ -26,4 +26,7 @@ public class InviteCodeRespVO { @Schema(description = "过期时间") private Date expiresAt; + + @Schema(description = "H5链接") + private String h5Link; } diff --git a/src/main/java/com/yolo/keyborad/service/KeyboardUserInviteCodesService.java b/src/main/java/com/yolo/keyborad/service/KeyboardUserInviteCodesService.java index 7741b42..df9387f 100644 --- a/src/main/java/com/yolo/keyborad/service/KeyboardUserInviteCodesService.java +++ b/src/main/java/com/yolo/keyborad/service/KeyboardUserInviteCodesService.java @@ -2,7 +2,8 @@ package com.yolo.keyborad.service; import com.yolo.keyborad.model.entity.KeyboardUserInviteCodes; import com.baomidou.mybatisplus.extension.service.IService; - /* +import com.yolo.keyborad.model.vo.user.InviteCodeRespVO; +/* * @author: ziin * @date: 2025/12/18 16:26 */ @@ -21,7 +22,7 @@ public interface KeyboardUserInviteCodesService extends IService implements KeyboardUserInviteCodesService{ + private final NacosAppConfigCenter.DynamicAppConfig cfgHolder; + + public KeyboardUserInviteCodesServiceImpl(NacosAppConfigCenter.DynamicAppConfig cfgHolder) { + this.cfgHolder = cfgHolder; + } + + @Override - public KeyboardUserInviteCodes getUserInviteCode(Long userId) { + public InviteCodeRespVO getUserInviteCode(Long userId) { QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq("owner_user_id", userId); - return this.getOne(queryWrapper); + KeyboardUserInviteCodes one = this.getOne(queryWrapper); + if (one == null) { + one = createInviteCode(userId); + } + InviteCodeRespVO inviteCodeRespVO = BeanUtil.copyProperties(one, InviteCodeRespVO.class); + AppConfig appConfig = cfgHolder.getRef().get(); + inviteCodeRespVO.setH5Link(appConfig.getInviteConfig().getH5Link()); + return inviteCodeRespVO; } @Override @@ -62,6 +80,7 @@ public class KeyboardUserInviteCodesServiceImpl extends ServiceImpl