mitao
2025-01-20 2b79f2033d7606eb9fb449af39ae3c41145edecd
Merge remote-tracking branch 'origin/master'
6个文件已修改
65 ■■■■ 已修改文件
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/RemoteCompanyUserService.java 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-api/ruoyi-api-company/src/main/java/com/ruoyi/company/api/factory/RemoteCompanyUserServiceFallbackFactory.java 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/controller/TokenController.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/controller/front/UserController.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
ruoyi-modules/ruoyi-company/src/main/java/com/ruoyi/company/service/impl/UserServiceImpl.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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/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")
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/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)));
    }
}
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();