From fb8817092940b0a6c3ae61a618de0df0056a9805 Mon Sep 17 00:00:00 2001 From: puzhibing <393733352@qq.com> Date: 星期一, 20 一月 2025 19:31:05 +0800 Subject: [PATCH] 1 --- ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java | 15 +++++-- ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyUserService.java | 19 +++++---- ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyUserServiceFallbackFactory.java | 5 ++ ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java | 20 +++++++++- ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java | 2 + 5 files changed, 46 insertions(+), 15 deletions(-) diff --git a/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyUserService.java b/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyUserService.java index f8b68e0..9bd8052 100644 --- a/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyUserService.java +++ b/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyUserService.java @@ -1,13 +1,13 @@ package com.ruoyi.company.api; -import com.ruoyi.common.core.constant.SecurityConstants; -import com.ruoyi.common.core.constant.ServiceNameConstants; -import com.ruoyi.common.core.domain.R; -import com.ruoyi.company.api.domain.User; -import com.ruoyi.company.api.factory.RemoteCompanyUserServiceFallbackFactory; -import com.ruoyi.company.api.model.RegisterUser; -import org.springframework.cloud.openfeign.FeignClient; -import org.springframework.web.bind.annotation.*; + import com.ruoyi.common.core.constant.SecurityConstants; + import com.ruoyi.common.core.constant.ServiceNameConstants; + import com.ruoyi.common.core.domain.R; + import com.ruoyi.company.api.domain.User; + import com.ruoyi.company.api.factory.RemoteCompanyUserServiceFallbackFactory; + import com.ruoyi.company.api.model.RegisterUser; + import org.springframework.cloud.openfeign.FeignClient; + import org.springframework.web.bind.annotation.*; @FeignClient(contextId = "remoteCompanyUserService", value = ServiceNameConstants.COMPANY_SERVICE, fallbackFactory = RemoteCompanyUserServiceFallbackFactory.class) public interface RemoteCompanyUserService { @@ -16,4 +16,7 @@ @GetMapping("/user/getUserByAccountName") public R<User> getUserByAccountName(@RequestParam("accountName") String accountName, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + @GetMapping("/user/getUserByPhone") + public R<User> getUserByPhone(@RequestParam("phone") String phone, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); } diff --git a/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyUserServiceFallbackFactory.java b/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyUserServiceFallbackFactory.java index f8cb83d..23a2414 100644 --- a/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyUserServiceFallbackFactory.java +++ b/ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyUserServiceFallbackFactory.java @@ -27,6 +27,11 @@ public R<User> getUserByAccountName(String accountName, String source) { return R.fail("获取用户信息失败:"+cause.getMessage()); } + + @Override + public R<User> getUserByPhone(String phone, String source) { + return R.fail("获取用户信息失败:"+cause.getMessage()); + } }; } } diff --git a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java index b237eba..2d6ab96 100644 --- a/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java +++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java @@ -183,7 +183,10 @@ throw new CaptchaException("验证码错误"); } } - remoteCompanyUserService.registerUser(registerUser, SecurityConstants.INNER); + R<Boolean> booleanR = remoteCompanyUserService.registerUser(registerUser, SecurityConstants.INNER); + if (R.isError(booleanR)){ + throw new ServiceException("注册失败"); + } } @@ -192,6 +195,19 @@ String accountName = registerUser.getAccountName(); String password = registerUser.getPassword(); + R<User> userByPhoneR = remoteCompanyUserService.getUserByPhone(accountName, SecurityConstants.INNER); + if (R.isError(userByPhoneR)){ + throw new ServiceException(userByPhoneR.getMsg()); + } + if (userByPhoneR.getData() == null){ + throw new ServiceException("账号不存在"); + } + + if (SecurityUtils.matchesPassword(password, userByPhoneR.getData().getPassword())){ + return userByPhoneR.getData(); + } + + R<User> r = remoteCompanyUserService.getUserByAccountName(accountName, SecurityConstants.INNER); if (R.isError(r)){ throw new ServiceException(r.getMsg()); @@ -199,7 +215,7 @@ if (r.getData() == null){ throw new ServiceException("账号不存在"); } - if (!SecurityUtils.matchesPassword(r.getData().getPassword(), password)){ + if (!SecurityUtils.matchesPassword(password, r.getData().getPassword())){ throw new ServiceException("密码错误"); } return r.getData(); diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java index 40a128d..7df26fe 100644 --- a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java +++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/UserController.java @@ -10,10 +10,8 @@ import com.ruoyi.company.service.UserService; import io.swagger.v3.oas.annotations.Operation; import lombok.RequiredArgsConstructor; -import org.springframework.web.bind.annotation.GetMapping; -import org.springframework.web.bind.annotation.PostMapping; -import org.springframework.web.bind.annotation.RequestMapping; -import org.springframework.web.bind.annotation.RestController; +import lombok.experimental.StandardException; +import org.springframework.web.bind.annotation.*; import java.time.LocalDateTime; @@ -24,7 +22,7 @@ private final UserService userService; @PostMapping("/register") - public R register(RegisterUser registerUser) { + public R register(@RequestBody RegisterUser registerUser) { userService.register(registerUser); return R.ok(); } @@ -40,4 +38,11 @@ return R.ok(userService.getOne(new LambdaQueryWrapper<User>() .eq(User::getAccountName,accountName))); } + + @GetMapping("/getUserByPhone") + @InnerAuth + public R<User> getUserByPhone(String phone){ + return R.ok(userService.getOne(new LambdaQueryWrapper<User>() + .eq(User::getPhone,phone))); + } } diff --git a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java index 947cf87..e945271 100644 --- a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java +++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java @@ -10,6 +10,7 @@ import com.ruoyi.company.service.UserService; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.time.LocalDateTime; @@ -19,6 +20,7 @@ private final CompanyService companyService; @Override + @Transactional(rollbackFor = Exception.class) public void register(RegisterUser registerUser) { String accountName = registerUser.getAccountName(); String password = registerUser.getPassword(); -- Gitblit v1.7.1