diff --git a/src/main/java/com/gxwebsoft/app/controller/AppUserController.java b/src/main/java/com/gxwebsoft/app/controller/AppUserController.java index 4124862..695369c 100644 --- a/src/main/java/com/gxwebsoft/app/controller/AppUserController.java +++ b/src/main/java/com/gxwebsoft/app/controller/AppUserController.java @@ -67,13 +67,24 @@ public class AppUserController extends BaseController { return fail("添加失败"); } - @Operation(summary = "邀请用户成为应用成员") + @Operation(summary = "邀请用户成为应用成员(支持用户ID或手机号)") @PostMapping("/invite") public ApiResult invite(@RequestBody AppUser appUser) { User loginUser = getLoginUser(); if (loginUser == null) { return fail("请先登录"); } + // 支持手机号邀请:若 userId 为空但传了 phone,则先按手机号查出用户 + if (appUser.getUserId() == null && appUser.getPhone() != null && !appUser.getPhone().isEmpty()) { + User targetUser = appUserService.findUserByPhone(appUser.getPhone()); + if (targetUser == null) { + return fail("手机号未注册,请确认后再试"); + } + appUser.setUserId(targetUser.getUserId()); + } + if (appUser.getUserId() == null) { + return fail("请输入用户ID或手机号"); + } try { AppUser result = appUserService.inviteUser( appUser.getWebsiteId(), diff --git a/src/main/java/com/gxwebsoft/app/service/AppUserService.java b/src/main/java/com/gxwebsoft/app/service/AppUserService.java index 6888fc2..0aa0793 100644 --- a/src/main/java/com/gxwebsoft/app/service/AppUserService.java +++ b/src/main/java/com/gxwebsoft/app/service/AppUserService.java @@ -57,4 +57,12 @@ public interface AppUserService extends IService { */ boolean isMember(Long websiteId, Integer userId); + /** + * 根据手机号查找系统用户(用于手机号邀请) + * + * @param phone 手机号 + * @return 系统用户,不存在返回 null + */ + com.gxwebsoft.common.system.entity.User findUserByPhone(String phone); + } diff --git a/src/main/java/com/gxwebsoft/app/service/impl/AppUserServiceImpl.java b/src/main/java/com/gxwebsoft/app/service/impl/AppUserServiceImpl.java index 0732a7d..9d38689 100644 --- a/src/main/java/com/gxwebsoft/app/service/impl/AppUserServiceImpl.java +++ b/src/main/java/com/gxwebsoft/app/service/impl/AppUserServiceImpl.java @@ -104,4 +104,9 @@ public class AppUserServiceImpl extends ServiceImpl impl return count > 0; } + @Override + public User findUserByPhone(String phone) { + return userService.getByPhone(phone); + } + }