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); } 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()); } }; } } 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(); 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))); } } 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();