mitao
2025-01-21 e02a3eee8217ae6bff5890d1ece6ee1f342e03dd
ruoyi-auth/src/main/java/com/ruoyi/auth/service/SysLoginService.java
@@ -1,23 +1,13 @@
package com.ruoyi.auth.service;
import com.ruoyi.common.core.exception.CaptchaException;
import com.ruoyi.common.security.annotation.RequiresPermissions;
import com.ruoyi.company.api.RemoteCompanyService;
import com.ruoyi.company.api.RemoteCompanyUserService;
import com.ruoyi.company.api.domain.Company;
import com.ruoyi.company.api.domain.User;
import com.ruoyi.company.api.model.RegisterUser;
import lombok.RequiredArgsConstructor;
import org.jacoco.agent.rt.internal_43f5073.core.internal.flow.IFrame;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import com.ruoyi.auth.form.MgtPasswordDTO;
import com.ruoyi.common.core.constant.CacheConstants;
import com.ruoyi.common.core.constant.Constants;
import com.ruoyi.common.core.constant.SecurityConstants;
import com.ruoyi.common.core.constant.UserConstants;
import com.ruoyi.common.core.domain.R;
import com.ruoyi.common.core.enums.UserStatus;
import com.ruoyi.common.core.exception.CaptchaException;
import com.ruoyi.common.core.exception.ServiceException;
import com.ruoyi.common.core.text.Convert;
import com.ruoyi.common.core.utils.DateUtils;
@@ -25,13 +15,21 @@
import com.ruoyi.common.core.utils.ip.IpUtils;
import com.ruoyi.common.redis.service.RedisService;
import com.ruoyi.common.security.utils.SecurityUtils;
import com.ruoyi.company.api.RemoteCompanyService;
import com.ruoyi.company.api.RemoteCompanyUserService;
import com.ruoyi.company.api.domain.Company;
import com.ruoyi.company.api.domain.User;
import com.ruoyi.company.api.model.RegisterUser;
import com.ruoyi.system.api.RemoteUserService;
import com.ruoyi.system.api.domain.SysUser;
import com.ruoyi.system.api.model.LoginUser;
import lombok.RequiredArgsConstructor;
import org.springframework.context.annotation.Lazy;
import org.springframework.stereotype.Component;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Objects;
/**
 * 登录校验方法
@@ -256,4 +254,20 @@
        return false;
    }
    /**
     * 管理端-修改密码
     * @param dto
     */
    public void modifyPwd(MgtPasswordDTO dto) {
        Long userId = SecurityUtils.getUserId();
        SysUser sysUser = remoteUserService.getUserById(userId, SecurityConstants.INNER).getData();
        if (Objects.isNull(sysUser)){
            throw new ServiceException("用户不存在");
        }
        if (!SecurityUtils.matchesPassword(SecurityUtils.encryptPassword(dto.getOldPassword()), sysUser.getPassword())){
            throw new ServiceException("原密码错误");
        }
        sysUser.setPassword(SecurityUtils.encryptPassword(dto.getNewPassword()));
        remoteUserService.updateUser(sysUser,SecurityConstants.INNER);
    }
}