From 2b79f2033d7606eb9fb449af39ae3c41145edecd Mon Sep 17 00:00:00 2001
From: mitao <2763622819@qq.com>
Date: 星期一, 20 一月 2025 19:49:07 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java                                              |    4 +-
 ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyUserService.java                        |   19 +++++----
 ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java                     |   15 +++++--
 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 +
 6 files changed, 48 insertions(+), 17 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/controller/TokenController.java b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
index 149e560..95579e8 100644
--- a/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
+++ b/ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java
@@ -111,7 +111,7 @@
         // 验证码生成
         String code = String.valueOf(Math.random()).substring(2, 6);
         // 缓存验证码
-        String verifyKey = CacheConstants.CAPTCHA_CODE_KEY + registerUser.getPhone();
+        String verifyKey = CacheConstants.PHONE_CODE_KEY + registerUser.getPhone();
         redisService.setCacheObject(verifyKey, code, Constants.CAPTCHA_EXPIRATION, TimeUnit.MINUTES);
         // 发送验证码 TODO
         String result = SmsUtils.sendSms(registerUser.getPhone(), code);
@@ -119,7 +119,7 @@
         {
             return R.fail("验证码发送失败");
         }
-        return R.ok(code);
+        return R.ok();
     }
 
     @PostMapping("companyLogin")
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/front/UserController.java b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java
index 283a7dd..ce70eb6 100644
--- a/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java
+++ b/ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java
@@ -8,10 +8,8 @@
 import com.ruoyi.company.api.model.UserDetail;
 import com.ruoyi.company.service.UserService;
 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.*;
 
 @RestController
 @RequestMapping("/front/user")
@@ -20,7 +18,7 @@
     private final UserService userService;
 
     @PostMapping("/register")
-    public R register(RegisterUser registerUser) {
+    public R register(@RequestBody RegisterUser registerUser) {
         userService.register(registerUser);
         return R.ok();
     }
@@ -36,4 +34,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