Browse Source

优化代码,添加接口

liuchengsen 1 month ago
parent
commit
53b55fa58b

+ 9 - 0
zhijiayun-user/src/main/java/com/xuekairui/user/dto/UserInfoResponse.java

@@ -62,6 +62,15 @@ public class UserInfoResponse {
     /** 会员等级中文名 */
     private String membershipLevelName;
 
+    /** 邀请人ID(NULL=未被邀请) */
+    private Long inviterId;
+
+    /** 邀请人昵称 */
+    private String inviterNickname;
+
+    /** 是否已绑定邀请码 */
+    private Boolean hasBoundInviteCode;
+
     /**
      * userId(兼容字段,等同于 id)
      */

+ 15 - 0
zhijiayun-user/src/main/java/com/xuekairui/user/service/AuthService.java

@@ -278,6 +278,18 @@ public class AuthService {
                 log.warn("获取用户等级信息失败: userId={}, error={}", user.getId(), e.getMessage());
             }
         }
+        // 邀请人信息
+        Long inviterId = user.getInviterId();
+        String inviterNickname = null;
+        if (inviterId != null) {
+            User inviter = userMapper.selectById(inviterId);
+            if (inviter != null) {
+                inviterNickname = inviter.getWechatNickname() != null ? inviter.getWechatNickname()
+                        : inviter.getNickname() != null ? inviter.getNickname()
+                        : "一位用户";
+            }
+        }
+
         return UserInfoResponse.builder()
                 .id(user.getId())
                 .phone(ValidateUtil.maskPhone(user.getPhone()))
@@ -294,6 +306,9 @@ public class AuthService {
                 .role(user.getRole() != null ? user.getRole().getCode() : "USER")
                 .membershipLevel(levelInfo != null ? levelInfo.getLevelCode() : "PLUS")
                 .membershipLevelName(levelInfo != null ? levelInfo.getLevelName() : "普通会员")
+                .inviterId(inviterId)
+                .inviterNickname(inviterNickname)
+                .hasBoundInviteCode(inviterId != null)
                 .build();
     }